History

Initial commit: Docs template for Kris Yotam projects

Personal documentation template (Bun, monochrome shell, notes-style sidebar). Fresh history with no upstream contributor lineage.

Kris Yotam committed 3 months agomain

Commit b646fc1No parent (first commit)328 files · +33517 −-32Browse files

Unified · Split

328 files
  1. .github/workflows/ci.yml +57 −0
  2. .gitignore +48 −0
  3. .nuxtrc +2 −0
  4. .release-it.cli.json +16 −0
  5. .release-it.json +27 −0
  6. .release-it.layer.json +16 −0
  7. .starters/default/.gitignore +37 −0
  8. .starters/default/README.md +82 −0
  9. .starters/default/content/1.getting-started/.navigation.yml +2 −0
  10. .starters/default/content/1.getting-started/2.introduction.md +73 −0
  11. .starters/default/content/1.getting-started/3.installation.md +58 −0
  12. .starters/default/content/1.getting-started/4.project-structure.md +158 −0
  13. .starters/default/content/1.getting-started/5.studio.md +99 −0
  14. .starters/default/content/1.getting-started/6.migration.md +42 −0
  15. .starters/default/content/1.getting-started/7.troubleshooting.md +32 −0
  16. .starters/default/content/2.essentials/.navigation.yml +1 −0
  17. .starters/default/content/2.essentials/1.markdown-syntax.md +223 −0
  18. .starters/default/content/2.essentials/2.code-blocks.md +402 −0
  19. .starters/default/content/2.essentials/3.components.md +424 −0
  20. .starters/default/content/2.essentials/4.images-embeds.md +53 −0
  21. .starters/default/content/index.md +123 −0
  22. .starters/default/nuxt.config.ts +3 −0
  23. .starters/default/package.json +12 −0
  24. .starters/default/public/favicon.ico +0 −0
  25. .starters/default/public/mountains.webp +0 −0
  26. .starters/default/tsconfig.json +9 −0
  27. .starters/i18n/.gitignore +37 −0
  28. .starters/i18n/README.md +123 −0
  29. .starters/i18n/content/en/1.getting-started/.navigation.yml +2 −0
  30. .starters/i18n/content/en/1.getting-started/2.introduction.md +73 −0
  31. .starters/i18n/content/en/1.getting-started/3.installation.md +58 −0
  32. .starters/i18n/content/en/1.getting-started/4.project-structure.md +158 −0
  33. .starters/i18n/content/en/1.getting-started/5.studio.md +99 −0
  34. .starters/i18n/content/en/1.getting-started/6.migration.md +42 −0
  35. .starters/i18n/content/en/1.getting-started/7.troubleshooting.md +32 −0
  36. .starters/i18n/content/en/2.essentials/.navigation.yml +1 −0
  37. .starters/i18n/content/en/2.essentials/1.markdown-syntax.md +223 −0
  38. .starters/i18n/content/en/2.essentials/2.code-blocks.md +402 −0
  39. .starters/i18n/content/en/2.essentials/3.components.md +424 −0
  40. .starters/i18n/content/en/2.essentials/4.images-embeds.md +53 −0
  41. .starters/i18n/content/en/index.md +123 −0
  42. .starters/i18n/content/fr/1.getting-started/.navigation.yml +2 −0
  43. .starters/i18n/content/fr/1.getting-started/2.introduction.md +73 −0
  44. .starters/i18n/content/fr/1.getting-started/3.installation.md +58 −0
  45. .starters/i18n/content/fr/1.getting-started/4.project-structure.md +157 −0
  46. .starters/i18n/content/fr/1.getting-started/5.studio.md +99 −0
  47. .starters/i18n/content/fr/1.getting-started/6.migration.md +41 −0
  48. .starters/i18n/content/fr/1.getting-started/7.troubleshooting.md +31 −0
  49. .starters/i18n/content/fr/2.essentials/.navigation.yml +1 −0
  50. .starters/i18n/content/fr/2.essentials/1.markdown-syntax.md +224 −0
  51. .starters/i18n/content/fr/2.essentials/2.code-blocks.md +398 −0
  52. .starters/i18n/content/fr/2.essentials/3.components.md +421 −0
  53. .starters/i18n/content/fr/2.essentials/4.images-embeds.md +52 −0
  54. .starters/i18n/content/fr/index.md +121 −0
  55. .starters/i18n/nuxt.config.ts +14 −0
  56. .starters/i18n/package.json +12 −0
  57. .starters/i18n/public/favicon.ico +0 −0
  58. .starters/i18n/public/mountains.webp +0 −0
  59. .starters/i18n/tsconfig.json +9 −0
  60. LICENSE +22 −0
  61. README.md +120 −0
  62. bun.lock +4107 −0
  63. bunfig.toml +3 −0
  64. cli/README.md +5 −0
  65. cli/cli.ts +42 −0
  66. cli/main.ts +12 −0
  67. cli/package.json +38 −0
  68. cli/tsconfig.json +13 −0
  69. cli/types.ts +7 −0
  70. docs/app/app.config.ts +66 −0
  71. docs/app/app.css +3 −0
  72. docs/app/components/AppHeaderCTA.vue +11 −0
  73. docs/app/components/AppHeaderLogo.vue +93 −0
  74. docs/app/components/content/AssistantDemo.vue +183 −0
  75. docs/app/components/content/BrowserFrame.vue +21 −0
  76. docs/app/components/content/ColorModeSwitch.vue +33 −0
  77. docs/app/components/content/CommandSearch.vue +14 −0
  78. docs/app/components/content/FloatingNuxt.vue +18 −0
  79. docs/app/components/content/NuxtImage.vue +87 −0
  80. docs/app/plugins/vercel.client.ts +32 −0
  81. docs/content/en/1.getting-started/.navigation.yml +2 −0
  82. docs/content/en/1.getting-started/2.introduction.md +73 −0
  83. docs/content/en/1.getting-started/3.installation.md +79 −0
  84. docs/content/en/1.getting-started/4.project-structure.md +159 −0
  85. docs/content/en/1.getting-started/5.studio.md +99 −0
  86. docs/content/en/1.getting-started/6.migration.md +42 −0
  87. docs/content/en/1.getting-started/7.troubleshooting.md +33 −0
  88. docs/content/en/2.concepts/.navigation.yml +2 −0
  89. docs/content/en/2.concepts/2.edition.md +197 −0
  90. docs/content/en/2.concepts/3.configuration.md +353 −0
  91. docs/content/en/2.concepts/4.theme.md +136 −0
  92. docs/content/en/2.concepts/5.customization.md +278 −0
  93. docs/content/en/2.concepts/6.internationalization.md +125 −0
  94. docs/content/en/2.concepts/8.nuxt.md +135 −0
  95. docs/content/en/3.essentials/.navigation.yml +2 −0
  96. docs/content/en/3.essentials/1.markdown-syntax.md +223 −0
  97. docs/content/en/3.essentials/2.code-blocks.md +402 −0
  98. docs/content/en/3.essentials/3.components.md +421 −0
  99. docs/content/en/3.essentials/4.images-embeds.md +52 −0
  100. docs/content/en/4.ai/.navigation.yml +2 −0
  101. docs/content/en/4.ai/1.assistant.md +383 −0
  102. docs/content/en/4.ai/2.mcp.md +273 −0
  103. docs/content/en/4.ai/3.skills.md +203 −0
  104. docs/content/en/4.ai/4.llms.md +125 −0
  105. docs/content/en/index.md +364 −0
  106. docs/content/fr/1.getting-started/.navigation.yml +2 −0
  107. docs/content/fr/1.getting-started/2.introduction.md +73 −0
  108. docs/content/fr/1.getting-started/3.installation.md +78 −0
  109. docs/content/fr/1.getting-started/4.project-structure.md +158 −0
  110. docs/content/fr/1.getting-started/5.studio.md +99 −0
  111. docs/content/fr/1.getting-started/6.migration.md +41 −0
  112. docs/content/fr/1.getting-started/7.troubleshooting.md +31 −0
  113. docs/content/fr/2.concepts/.navigation.yml +2 −0
  114. docs/content/fr/2.concepts/2.edition.md +191 −0
  115. docs/content/fr/2.concepts/3.configuration.md +364 −0
  116. docs/content/fr/2.concepts/4.theme.md +136 −0
  117. docs/content/fr/2.concepts/5.customization.md +246 −0
  118. docs/content/fr/2.concepts/6.internationalization.md +96 −0
  119. docs/content/fr/2.concepts/8.nuxt.md +135 −0
  120. docs/content/fr/3.essentials/.navigation.yml +2 −0
  121. docs/content/fr/3.essentials/1.markdown-syntax.md +224 −0
  122. docs/content/fr/3.essentials/2.code-blocks.md +398 −0
  123. docs/content/fr/3.essentials/3.components.md +421 −0
  124. docs/content/fr/3.essentials/4.images-embeds.md +52 −0
  125. docs/content/fr/4.ai/.navigation.yml +2 −0
  126. docs/content/fr/4.ai/1.assistant.md +383 −0
  127. docs/content/fr/4.ai/2.mcp.md +273 −0
  128. docs/content/fr/4.ai/3.skills.md +203 −0
  129. docs/content/fr/4.ai/4.llms.md +125 −0
  130. docs/content/fr/index.md +363 −0
  131. docs/nuxt.config.ts +50 −0
  132. docs/package.json +23 −0
  133. docs/public/documentation/app-footer-left.webp +0 −0
  134. docs/public/documentation/app-footer-right.webp +0 −0
  135. docs/public/documentation/app-header-body.webp +0 −0
  136. docs/public/documentation/app-header-center.webp +0 −0
  137. docs/public/documentation/app-header-cta.webp +0 −0
  138. docs/public/documentation/app-header-logo.webp +0 −0
  139. docs/public/documentation/app-page-header-links.webp +0 −0
  140. docs/public/documentation/docs-aside-left-body.webp +0 −0
  141. docs/public/documentation/docs-aside-left-top.webp +0 −0
  142. docs/public/documentation/docs-aside-right-bottom.webp +0 −0
  143. docs/public/documentation/docs-aside-right.png +0 −0
  144. docs/public/documentation/frontmatter-preview-title-description.png +0 −0
  145. docs/public/documentation/markdown-editor-studio.png +0 −0
  146. docs/public/documentation/mountains.webp +0 −0
  147. docs/public/documentation/nuxt-studio-module-alpha.png +0 −0
  148. docs/public/documentation/og-image-example.png +0 −0
  149. docs/public/documentation/preview-studio.png +0 −0
  150. docs/public/documentation/sub-navigation.png +0 −0
  151. docs/public/documentation/visual-editor-studio.png +0 −0
  152. docs/public/favicon.ico +0 −0
  153. docs/public/favicon.svg +3 −0
  154. docs/public/icon.png +0 −0
  155. docs/public/landing/dark/command-menu.png +0 −0
  156. docs/public/landing/dark/i18n.svg +126 −0
  157. docs/public/landing/dark/mcp.svg +113 −0
  158. docs/public/landing/dark/nuxt-image.svg +20 −0
  159. docs/public/landing/dark/templates-ui-pro.webp +0 −0
  160. docs/public/landing/light/command-menu.png +0 −0
  161. docs/public/landing/light/i18n.svg +126 −0
  162. docs/public/landing/light/mcp.svg +115 −0
  163. docs/public/landing/light/nuxt-image.svg +20 −0
  164. docs/public/landing/light/templates-ui-pro.webp +0 −0
  165. docs/public/landing/nuxt-logo-3D.svg +29 −0
  166. docs/public/logo/logo-dark.svg +3 −0
  167. docs/public/logo/logo-light.svg +3 −0
  168. docs/public/logo/wordmark-dark.svg +8 −0
  169. docs/public/logo/wordmark-light.svg +8 −0
  170. docs/public/mountains.webp +0 −0
  171. docs/skills/create-docs/SKILL.md +499 −0
  172. docs/skills/create-docs/references/mdc-components.md +222 −0
  173. docs/skills/create-docs/references/templates.md +362 −0
  174. docs/skills/create-docs/references/writing-guide.md +111 −0
  175. docs/skills/review-docs/SKILL.md +480 −0
  176. docs/skills/review-docs/assets/report-template.md +214 −0
  177. docs/skills/review-docs/references/clarity-checks.md +201 −0
  178. docs/skills/review-docs/references/i18n-checks.md +264 −0
  179. docs/skills/review-docs/references/seo-checks.md +219 −0
  180. docs/skills/review-docs/references/structure-checks.md +317 −0
  181. docs/skills/review-docs/references/technical-checks.md +538 −0
  182. docs/tsconfig.json +17 −0
  183. eslint.config.mjs +24 −0
  184. layer/README.md +5 −0
  185. layer/app/app.config.ts +41 −0
  186. layer/app/app.vue +104 −0
  187. layer/app/assets/icons/LICENSE +14 −0
  188. layer/app/assets/icons/ai.svg +1 −0
  189. layer/app/components/IconMenuToggle.vue +83 −0
  190. layer/app/components/LanguageSelect.vue +81 −0
  191. layer/app/components/OgImage/Docs.takumi.vue +43 −0
  192. layer/app/components/OgImage/Landing.takumi.vue +67 −0
  193. layer/app/components/app/AppFooter.vue +11 −0
  194. layer/app/components/app/AppFooterLeft.vue +5 −0
  195. layer/app/components/app/AppFooterRight.vue +51 −0
  196. layer/app/components/app/AppHeader.vue +96 −0
  197. layer/app/components/app/AppHeaderBody.vue +30 −0
  198. layer/app/components/app/AppHeaderBottom.vue +24 −0
  199. layer/app/components/app/AppHeaderBottomRight.vue +3 −0
  200. layer/app/components/app/AppHeaderCTA.vue +3 −0
  201. layer/app/components/app/AppHeaderCenter.vue +10 −0
  202. layer/app/components/app/AppHeaderLeft.vue +16 −0
  203. layer/app/components/app/AppHeaderLogo.vue +21 −0
  204. layer/app/components/app/AppSearch.vue +54 −0
  205. layer/app/components/app/AppSidebar.vue +316 −0
  206. layer/app/components/app/AppSidebarFolder.vue +42 −0
  207. layer/app/components/app/AppSidebarTree.vue +39 −0
  208. layer/app/components/docs/DocsAsideLeftBody.vue +16 −0
  209. layer/app/components/docs/DocsAsideLeftTop.vue +20 −0
  210. layer/app/components/docs/DocsAsideMobileBar.vue +98 −0
  211. layer/app/components/docs/DocsAsideRight.vue +37 −0
  212. layer/app/components/docs/DocsAsideRightBottom.vue +45 −0
  213. layer/app/components/docs/DocsPageHeaderLinks.vue +101 −0
  214. layer/app/composables/useDocusColorMode.ts +7 −0
  215. layer/app/composables/useDocusI18n.ts +51 −0
  216. layer/app/composables/useDocusShortcuts.ts +24 −0
  217. layer/app/composables/useLogoAssets.ts +246 −0
  218. layer/app/composables/useSeo.ts +207 −0
  219. layer/app/composables/useSubNavigation.ts +55 −0
  220. layer/app/composables/useUIConfig.ts +30 −0
  221. layer/app/error.vue +70 −0
  222. layer/app/layouts/default.vue +5 −0
  223. layer/app/layouts/docs.vue +7 −0
  224. layer/app/middleware/colorMode.global.ts +8 −0
  225. layer/app/pages/[[lang]]/[...slug].vue +146 −0
  226. layer/app/plugins/i18n.ts +57 −0
  227. layer/app/templates/landing.vue +38 −0
  228. layer/app/types/index.d.ts +121 −0
  229. layer/app/utils/assistantTools.ts +88 −0
  230. layer/app/utils/navigation.ts +57 −0
  231. layer/app/utils/ogImage.ts +23 −0
  232. layer/app/utils/prerender.ts +12 −0
  233. layer/content.config.ts +79 −0
  234. layer/i18n/locales/ar.json +77 −0
  235. layer/i18n/locales/be.json +77 −0
  236. layer/i18n/locales/bg.json +77 −0
  237. layer/i18n/locales/bn.json +77 −0
  238. layer/i18n/locales/ca.json +77 −0
  239. layer/i18n/locales/ckb.json +77 −0
  240. layer/i18n/locales/cs.json +77 −0
  241. layer/i18n/locales/da.json +77 −0
  242. layer/i18n/locales/de.json +77 −0
  243. layer/i18n/locales/el.json +77 −0
  244. layer/i18n/locales/en.json +77 −0
  245. layer/i18n/locales/es.json +77 −0
  246. layer/i18n/locales/et.json +77 −0
  247. layer/i18n/locales/fi.json +77 −0
  248. layer/i18n/locales/fr.json +77 −0
  249. layer/i18n/locales/he.json +77 −0
  250. layer/i18n/locales/hi.json +77 −0
  251. layer/i18n/locales/hy.json +77 −0
  252. layer/i18n/locales/id.json +80 −0
  253. layer/i18n/locales/it.json +77 −0
  254. layer/i18n/locales/ja.json +77 −0
  255. layer/i18n/locales/kk.json +77 −0
  256. layer/i18n/locales/km.json +77 −0
  257. layer/i18n/locales/ko.json +77 −0
  258. layer/i18n/locales/ky.json +77 −0
  259. layer/i18n/locales/lb.json +77 −0
  260. layer/i18n/locales/ms.json +77 −0
  261. layer/i18n/locales/nb.json +77 −0
  262. layer/i18n/locales/nl.json +77 −0
  263. layer/i18n/locales/pl.json +77 −0
  264. layer/i18n/locales/pt-BR.json +77 −0
  265. layer/i18n/locales/ro.json +77 −0
  266. layer/i18n/locales/ru.json +77 −0
  267. layer/i18n/locales/si.json +77 −0
  268. layer/i18n/locales/sl.json +77 −0
  269. layer/i18n/locales/sv.json +77 −0
  270. layer/i18n/locales/tr.json +77 −0
  271. layer/i18n/locales/uk.json +77 −0
  272. layer/i18n/locales/ur.json +77 −0
  273. layer/i18n/locales/vi.json +77 −0
  274. layer/i18n/locales/zh-CN.json +77 −0
  275. layer/index.d.ts +33 −0
  276. layer/modules/assistant/README.md +222 −0
  277. layer/modules/assistant/index.ts +115 −0
  278. layer/modules/assistant/runtime/components/AssistantChat.vue +24 −0
  279. layer/modules/assistant/runtime/components/AssistantChatDisabled.vue +3 −0
  280. layer/modules/assistant/runtime/components/AssistantComark.ts +10 −0
  281. layer/modules/assistant/runtime/components/AssistantFloatingInput.vue +120 −0
  282. layer/modules/assistant/runtime/components/AssistantIndicator.vue +125 −0
  283. layer/modules/assistant/runtime/components/AssistantPanel.vue +325 −0
  284. layer/modules/assistant/runtime/components/AssistantPreStream.vue +46 −0
  285. layer/modules/assistant/runtime/composables/useAssistant.ts +107 −0
  286. layer/modules/assistant/runtime/composables/useHighlighter.ts +34 −0
  287. layer/modules/assistant/runtime/server/api/search.ts +131 −0
  288. layer/modules/assistant/runtime/types.ts +7 −0
  289. layer/modules/config.ts +146 −0
  290. layer/modules/css.ts +79 −0
  291. layer/modules/markdown-rewrite.ts +144 −0
  292. layer/modules/routing.ts +48 −0
  293. layer/modules/skills/index.ts +160 −0
  294. layer/modules/skills/runtime/server/routes/skills-files.ts +49 −0
  295. layer/modules/skills/runtime/server/routes/skills-index.ts +8 −0
  296. layer/nuxt.config.ts +136 −0
  297. layer/nuxt.schema.ts +394 −0
  298. layer/package.json +68 −0
  299. layer/server/mcp/tools/get-page.ts +78 −0
  300. layer/server/mcp/tools/list-pages.ts +75 −0
  301. layer/server/routes/sitemap.xml.ts +96 −0
  302. layer/server/utils/content.ts +41 −0
  303. layer/shared/types/docus.d.ts +15 −0
  304. layer/tsconfig.json +17 −0
  305. layer/utils/git.ts +110 −0
  306. layer/utils/meta.ts +35 −0
  307. layer/utils/pages.ts +22 −0
  308. package.json +57 −0
  309. playground/app/pages/index.vue +13 −0
  310. playground/content/docs/1.getting-started/.navigation.yml +2 −0
  311. playground/content/docs/1.getting-started/2.introduction.md +73 −0
  312. playground/content/docs/1.getting-started/3.installation.md +58 −0
  313. playground/content/docs/1.getting-started/4.project-structure.md +154 −0
  314. playground/content/docs/1.getting-started/5.studio.md +99 −0
  315. playground/content/docs/1.getting-started/6.migration.md +42 −0
  316. playground/content/docs/1.getting-started/7.troubleshooting.md +32 −0
  317. playground/content/docs/2.essentials/.navigation.yml +1 −0
  318. playground/content/docs/2.essentials/1.markdown-syntax.md +223 −0
  319. playground/content/docs/2.essentials/2.code-blocks.md +402 −0
  320. playground/content/docs/2.essentials/3.components.md +424 −0
  321. playground/content/docs/2.essentials/4.images-embeds.md +53 −0
  322. playground/nuxt.config.ts +4 −0
  323. playground/package.json +12 −0
  324. playground/public/favicon.ico +0 −0
  325. playground/public/mountains.webp +0 −0
  326. playground/skills/docus-playground/SKILL.md +21 −0
  327. playground/skills/docus-playground/references/example.md +3 −0
  328. playground/tsconfig.json +17 −0
.github/workflows/ci.yml+57−0
@@ -0,0 +1,57 @@
1name: ci
2
3on:
4 push:
5 branches:
6 - main
7 pull_request:
8 branches:
9 - main
10
11jobs:
12 build:
13 runs-on: ${{ matrix.os }}
14
15 permissions:
16 contents: read
17 pull-requests: read
18
19 strategy:
20 matrix:
21 os: [ubuntu-latest]
22 node: [22]
23
24 env:
25 NUXT_GITHUB_TOKEN: ${{ secrets.NUXT_GITHUB_TOKEN }}
26
27 steps:
28 - name: Checkout
29 uses: actions/checkout@v5
30
31 - name: Install pnpm
32 uses: pnpm/action-setup@v4
33
34 - name: Install node
35 uses: actions/setup-node@v5
36 with:
37 node-version: ${{ matrix.node }}
38 cache: pnpm
39
40 - name: Install dependencies
41 run: pnpm install
42
43 - name: Prepare
44 run: pnpm run dev:prepare
45
46 - name: Lint
47 run: pnpm run lint
48
49 - name: Typecheck
50 run: pnpm run typecheck
51
52 - name: Build CLI
53 run: pnpm run build
54 working-directory: ./cli
55
56 - name: Publish CLI and Layer
57 run: npx pkg-pr-new publish --compact './cli' './layer'
.gitignore+48−0
@@ -0,0 +1,48 @@
1# Nuxt dev/build outputs
2.output
3.data
4.nuxt
5.nitro
6.cache
7dist
8
9# Build outputs
10.vercel
11
12# Node dependencies
13node_modules
14
15# Logs
16logs
17*.log
18
19# Misc
20.DS_Store
21.fleet
22.idea
23.eslintcache
24
25# Local env files
26.env
27.env.*
28!.env.example
29
30# Template
31template/pnpm-lock.yaml
32
33# npm pack
34*.tgz
35
36# Temp files
37.tmp
38.profile
39*.0x
40
41#VSC
42.history
43
44# Starters
45.starters/default/pnpm-lock.yaml
46.starters/default/pnpm-workspace.yaml
47.starters/i18n/pnpm-lock.yaml
48.starters/i18n/pnpm-workspace.yaml
.nuxtrc+2−0
@@ -0,0 +1,2 @@
1# Enable i18n types in layer folder
2modules[]=@nuxtjs/i18n
.release-it.cli.json+16−0
@@ -0,0 +1,16 @@
1{
2 "git": false,
3 "hooks": {
4 "after:bump": "cd cli && pnpm build"
5 },
6 "npm": {
7 "publish": false,
8 "allowSameVersion": true
9 },
10 "plugins": {
11 "@release-it/bumper": {
12 "in": "./cli/package.json",
13 "out": "./cli/package.json"
14 }
15 }
16}
.release-it.json+27−0
@@ -0,0 +1,27 @@
1{
2 "git": {
3 "requireCleanWorkingDir": false,
4 "commitMessage": "chore(version): release v${version}",
5 "tagName": "v${version}"
6 },
7 "github": {
8 "release": true,
9 "releaseName": "v${version}",
10 "web": true
11 },
12 "npm": {
13 "publish": false,
14 "allowSameVersion": true,
15 "ignoreVersion": true
16 },
17 "plugins": {
18 "@release-it/conventional-changelog": {
19 "preset": {
20 "name": "conventionalcommits"
21 },
22 "infile": "CHANGELOG.md",
23 "header": "# Changelog",
24 "ignoreRecommendedBump": true
25 }
26 }
27}
.release-it.layer.json+16−0
@@ -0,0 +1,16 @@
1{
2 "git": false,
3 "github": false,
4 "hooks": {
5 "before:init": ["pnpm lint", "pnpm typecheck"]
6 },
7 "npm": {
8 "publish": false
9 },
10 "plugins": {
11 "@release-it/bumper": {
12 "in": "./layer/package.json",
13 "out": "./layer/package.json"
14 }
15 }
16}
.starters/default/.gitignore+37−0
@@ -0,0 +1,37 @@
1# Nuxt dev/build outputs
2.output
3.data
4.nuxt
5.nitro
6.cache
7dist
8
9# Node dependencies
10node_modules
11
12# Logs
13logs
14*.log
15
16# Misc
17.DS_Store
18.fleet
19.idea
20.eslintcache
21
22# Local env files
23.env
24.env.*
25!.env.example
26
27# npm pack
28*.tgz
29
30# Temp files
31.tmp
32.profile
33*.0x
34
35#VSC
36.history
37.wrangler
.starters/default/README.md+82−0
@@ -0,0 +1,82 @@
1# Docus Default Starter
2
3> A beautiful, minimal starter for creating documentation with Docus
4
5This is the default Docus starter template that provides everything you need to build beautiful documentation sites with Markdown and Vue components.
6
7> [!TIP]
8> If you're looking for i18n support, check out the [i18n starter](https://github.com/nuxt-themes/docus/tree/main/.starters/i18n).
9
10## ✨ Features
11
12- 🎨 **Beautiful Design** - Clean, modern documentation theme
13- 📱 **Responsive** - Mobile-first responsive design
14- 🌙 **Dark Mode** - Built-in dark/light mode support
15- 🔍 **Search** - Full-text search functionality
16- 📝 **Markdown Enhanced** - Extended markdown with custom components
17- 🎨 **Customizable** - Easy theming and brand customization
18- ⚡ **Fast** - Optimized for performance with Nuxt 4
19- 🔧 **TypeScript** - Full TypeScript support
20
21## 🚀 Quick Start
22
23```bash
24# Install dependencies
25npm install
26
27# Start development server
28npm run dev
29```
30
31Your documentation site will be running at `http://localhost:3000`
32
33## 📁 Project Structure
34
35```
36my-docs/
37├── content/ # Your markdown content
38│ ├── index.md # Homepage
39│ ├── 1.getting-started/ # Getting started section
40│ └── 2.essentials/ # Essential documentation
41├── public/ # Static assets
42└── package.json # Dependencies and scripts
43```
44
45## ⚡ Built with
46
47This starter comes pre-configured with:
48
49- [Nuxt 4](https://nuxt.com) - The web framework
50- [Nuxt Content](https://content.nuxt.com/) - File-based CMS
51- [Nuxt UI](https://ui.nuxt.com) - UI components
52- [Nuxt Image](https://image.nuxt.com/) - Optimized images
53- [Tailwind CSS 4](https://tailwindcss.com/) - Utility-first CSS
54- [Docus Layer](https://www.npmjs.com/package/docus) - Documentation theme
55
56## 📖 Documentation
57
58For detailed documentation on customizing your Docus project, visit the [Docus Documentation](https://docus.dev)
59
60### 🤖 AI Assistant Skill
61
62Get started quickly with Docus by adding specialized knowledge to your AI assistant (Cursor, Claude, etc.):
63
64```bash
65npx skills add nuxt-content/docus
66```
67
68This skill helps you create documentation faster by providing your AI assistant with best practices, MDC component usage, ready-to-use templates, writing guidelines, and configuration tips for Docus. Perfect for quickly scaffolding new documentation projects.
69
70## 🚀 Deployment
71
72Build for production:
73
74```bash
75npm run build
76```
77
78The built files will be in the `.output` directory, ready for deployment to any hosting provider that supports Node.js.
79
80## 📄 License
81
82[MIT License](https://opensource.org/licenses/MIT)
.starters/default/content/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Getting Started
2icon: false
.starters/default/content/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1---
2title: Introduction
3description: Welcome to Docus theme documentation.
4navigation:
5 icon: i-lucide-house
6seo:
7 title: Introduction
8 description: Discover how to create, manage, and publish documentation effortlessly with Docus.
9---
10
11Welcome to **Docus**, a fully integrated documentation solution built with [Nuxt UI](https://ui.nuxt.com).
12
13## What is Docus?
14
15Docus is a theme based on the [UI documentation template](https://docs-template.nuxt.dev/). While the visual style comes ready out of the box, your focus should be on writing content using the Markdown and [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax) provided by [Nuxt Content](https://content.nuxt.com).
16
17We use this theme across all our Nuxt module documentations, including:
18
19::card-group
20 :::card
21 ---
22 icon: i-lucide-image
23 target: _blank
24 title: Nuxt Image
25 to: https://image.nuxt.com
26 ---
27 The documentation of `@nuxt/image`
28 :::
29
30 :::card
31 ---
32 icon: i-simple-icons-nuxtdotjs
33 target: _blank
34 title: Nuxt Content
35 to: https://content.nuxt.com
36 ---
37 The documentation of `@nuxt/content`
38 :::
39
40 :::card
41 ---
42 icon: i-simple-icons-supabase
43 target: _blank
44 title: Nuxt Supabase
45 to: https://supabase.nuxtjs.org
46 ---
47 The documentation of `@nuxt/supabase`
48 :::
49
50 :::card
51 ---
52 icon: i-simple-icons-strapi
53 target: _blank
54 title: Nuxt Strapi
55 to: https://strapi.nuxtjs.org
56 ---
57 The documentation of `@nuxt/strapi`
58 :::
59::
60
61## Key Features
62
63This theme includes a range of features designed to improve documentation management:
64
65- **Powered by** **[Nuxt 4](https://nuxt.com)**: Utilizes the latest Nuxt framework for optimal performance.
66- **Built with** **[Nuxt UI](https://ui.nuxt.com)**: Integrates a comprehensive suite of UI components.
67- **[MDC Syntax](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)**: Supports Markdown with component integration for dynamic content.
68- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible**: Write and edit your content visually. No Markdown knowledge is required!
69- **Auto-generated Sidebar Navigation**: Automatically generates navigation from content structure.
70- **Full-Text Search**: Includes built-in search functionality for content discovery.
71- **Optimized Typography**: Features refined typography for enhanced readability.
72- **Dark Mode**: Offers dark mode support for user preference.
73- **Extensive Functionality**: Explore the theme to fully appreciate its capabilities.
.starters/default/content/1.getting-started/3.installation.md+58−0
@@ -0,0 +1,58 @@
1---
2title: Installation
3description: Get started with Docus.
4navigation:
5 icon: i-lucide-download
6seo:
7 description: Get started with Docus documentation theme.
8 title: Installation
9---
10
11## `create-docus` CLI
12
13::steps
14### Create your docs directory
15
16Use the `create-docus` CLI to create a new Docus project:
17
18```bash [Terminal]
19npx create-docus my-docs
20```
21
22You can choose between two templates:
23
24- `default`: Basic Docus setup for single-language documentation
25- `i18n`: Includes internationalization support for multi-language documentation
26
27```bash [Terminal]
28# Create with i18n template
29npx create-docus my-docs -t i18n
30```
31
32We recommend using the `npm` package manager.
33
34### Start your docs server in development
35
36Move to your docs directory and start your docs server in development mode:
37
38```bash [Terminal]
39cd my-docs
40npm run dev
41```
42
43A local preview of your documentation will be available at <http://localhost:3000>
44
45### Write your documentation
46
47Head over the [Markdown Syntax](/essentials/markdown-syntax) section to learn how to write your documentation.
48::
49
50## Layer Integration
51
52Docus v4 uses a **Nuxt layer-based approach**, you can extend the Docus layer directly in your `nuxt.config.ts` with `extends: ['docus']`:
53
54```ts [nuxt.config.ts]
55export default defineNuxtConfig({
56 extends: ['docus']
57})
58```
.starters/default/content/1.getting-started/4.project-structure.md+158−0
@@ -0,0 +1,158 @@
1---
2title: Project Structure
3description: Learn about the project structure of Docus v4.
4navigation:
5 icon: i-lucide-folder-tree
6---
7
8## Global structure
9
10Docus is a **Nuxt layer** that extends your standard Nuxt application with documentation features. This gives you the flexibility of a full Nuxt project.
11
12When you create a new Docus project with `npx create-docus my-docs`, you get:
13
14```bash
15my-docs/
16├── content/ # Your markdown content
17│ ├── index.md # Homepage
18│ └── docs/ # Documentation pages
19├── public/ # Static assets
20└── package.json # Dependencies and scripts
21```
22
23You can still use any feature or file of a classical Nuxt project:
24
25```bash
26my-docs/
27├── nuxt.config.ts # Nuxt configuration (add extra modules, components, etc.)
28├── app/ # App directory
29 ├── app.config.ts # App configuration
30│ ├── components/ # Components (add your own components)
31│ ├── layouts/ # Layouts (add your own layouts)
32│ └── pages/ # Pages (add your own pages)
33└── server/ # Server-side code (add your own server-side code)
34```
35
36### `content/` directory
37
38This is where you write pages in Markdown. Docus automatically generates routes based on your file structure.
39
40**Single language structure:**
41
42```bash
43content/
44├── index.md # Landing page (/)
45├── getting-started.md # Documentation page (/getting-started)
46└── guide/
47 ├── introduction.md # Documentation page (/guide/introduction)
48 └── configuration.md # Documentation page (/guide/configuration)
49```
50
51::tip
52You can separate your documentation files within a `docs/` subfolder to make them accessible at the `/docs` route. Additionally, you have the flexibility to override your landing page using custom Vue pages if desired. Learn more in the [edition documentation](https://docus.dev/concepts/edition).
53::
54
55**Multi-language structure (with i18n):**
56
57```bash
58content/
59├── en/
60│ ├── index.md # English landing page (/en)
61│ └── guide/
62│ └── introduction.md # Documentation page (/en/guide/introduction)
63└── fr/
64 ├── index.md # French landing page (/fr)
65 └── guide/
66 └── introduction.md # Documentation page (/fr/guide/introduction)
67```
68
69::tip{to="https://docus.dev/concepts/internationalization"}
70More information about i18n is available in the internationalization section.
71::
72
73### `public/` directory
74
75Files contained within the `public/` directory are served at the root and are not modified by the build process. This is where you can locate your images, icons, and other static assets.
76
77### `package.json`
78
79This file contains all the dependencies and scripts for your application. The `package.json` of
80a Docus application is really minimal and looks like:
81
82```json [package.json]
83{
84 "name": "my-docs",
85 "scripts": {
86 "build": "nuxt build --extends docus",
87 "dev": "nuxt dev --extends docus",
88 },
89 "dependencies": {
90 "docus": "latest",
91 "better-sqlite3": "^12.2.0",
92 "nuxt": "^4.0.0"
93 }
94}
95```
96
97### `nuxt.config.ts`
98
99*This file is not mandatory to start a Docus application.*
100
101You can add extra modules to your Nuxt configuration file:
102
103```typescript [nuxt.config.ts]
104export default defineNuxtConfig({
105 extends: ['@vercel/analytics/nuxt/module']
106})
107```
108
109### `app.config.ts`
110
111*This file is not mandatory to start a Docus application.*
112
113::warning
114You need a `nuxt.config.ts` to be set if you want to override app configuration.
115::
116
117This is where you can configure Docus to fit your branding, handle SEO, set your locale, and adapt links and socials. See the [configuration documentation](https://docus.dev/concepts/configuration) for details.
118
119```ts [app.config.ts]
120export default defineAppConfig({
121 docus: {
122 locale: 'en', // Set your single-language locale
123 },
124 seo: {
125 title: 'My Docs',
126 description: 'My awesome documentation',
127 },
128 // ... other configurations
129})
130```
131
132## Full Nuxt Project Capabilities
133
134Since Docus is a Nuxt layer, you can use **any feature** of a standard Nuxt project:
135
136::warning
137You need a `nuxt.config.ts` to be set if you want to override your app with Nuxt files. If no Nuxt config is created, changes will not be applied.
138::
139
140```bash
141my-docs/
142├── app/ # App directory (optional)
143 ├── app.config.ts # App configuration
144│ ├── components/ # Custom Vue components
145│ ├── layouts/ # Custom layouts
146│ ├── pages/ # Custom Vue pages (outside of content)
147│ ├── composables/ # Vue composables
148│ └── middleware/ # Route middleware
149├── server/ # Server-side code
150│ └── api/ # API routes
151├── plugins/ # Nuxt plugins
152├── middleware/ # Global middleware
153└── modules/ # Custom Nuxt modules
154```
155
156::tip{to="https://docus.dev/concepts/nuxt"}
157This layer-based approach gives you the power of the entire Nuxt ecosystem while keeping documentation as the primary focus.
158::
.starters/default/content/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1---
2title: Studio module
3description: Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.
4navigation:
5 icon: i-lucide-mouse-pointer-2
6 title: Studio module
7seo:
8 title: Nuxt Studio Web Editor
9 description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
10icon:
11 i-lucide-mouse-pointer-2 title: Web Editor
12 seo:
13 title: Nuxt Studio module
14 description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
15---
16
17The **Nuxt Studio** module is a browser-based interface for editing your Nuxt Content website directly in production. Access it by GitHub, GitLab or Google authentication on your deployed site, and start managing content without any local development tools.
18
19::tip{to="https://nuxt.studio/introduction"}
20Browse Nuxt Studio documentation to learn how ton install the module.
21::
22
23:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24
25The **studio editor** allows you to manage content entirely from your browser on your production website. There's no need for local development tools, Git commands, or terminal access. It's ideal for content teams who want to edit and preview changes in a familiar environment.
26
27## Visual edition in production for your Nuxt Content website
28
29Nuxt Studio provides **visual editing directly in production** for Nuxt Content–powered websites.
30
31Originally offered as a standalone premium platform, Studio is now a **free, open-source, and self-hostable Nuxt module**. It enables your entire team, developers and non-technical editors alike, to create and update content safely without leaving your live website.
32
33## Current features
34
35### ✨ **TipTap Visual Editor**
36
37Rich Markdown editor with full MDC component support.
38
39### 💻 **Monaco Code Editor**
40
41Advanced code editor for Markdown (MDC), YAML, and JSON files if you want to edit raw code.
42
43### 📝 **Form-based Editor**
44
45Edit YAML, JSON, and frontmatter using auto-generated forms based on collection schemas.
46
47### 🎨  **Vue Component Props Editor**
48
49Visual interface to edit Vue component props directly from the editor.
50
51### 🔄 **Real-time Preview**
52
53Instantly preview content changes on your production website.
54
55### 🔐 **Multi-provider Authentication**
56
57Secure OAuth authentication with GitHub, GitLab, and Google.
58
59### 🔑 **Custom Authentication**
60
61Utilities to implement custom authentication flows (password, SSO, LDAP, etc.).
62
63### 📝 **File Management**
64
65Create, edit, rename, and delete content files in the [content/]{.s2} directory.
66
67### 🖼 **Media Management**
68
69Centralized media library with support for JPEG, PNG, GIF, WebP, AVIF, SVG, and more.
70
71### 🌳 **Git Integration**
72
73Commit content changes directly from production and rely on your CI/CD pipeline to deploy them.
74
75### 🚀 **Development Mode**
76
77Edit content and media files directly from your local filesystem using the Studio interface.
78
79### 🌍 **Internationalization**
80
81Full i18n support for 17 languages: AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82
83## **Upcoming features**
84
85### 📂 **Collections View**
86
87Manage and navigate all content collections from a unified interface.
88
89### 🖼 **Media Optimization**
90
91Optimize images and media assets directly within the editor.
92
93### 🤖**AI Content Assistant**
94
95Get smart, AI-powered suggestions to improve and speed up content creation.
96
97### 💡**Community-driven Features**
98
99Have an idea? Share your feedback and help shape the future of Nuxt Studio.
.starters/default/content/1.getting-started/6.migration.md+42−0
@@ -0,0 +1,42 @@
1---
2title: Migration
3description: " How to migrate your documentation from an existing Markdown
4 solution to Docus"
5navigation:
6 icon: i-lucide-replace
7---
8
9## **Migrating from Docus v3 to v4**
10
11Docus v4 introduces a new **layer-based approach** that leverages the official Nuxt CLI instead of the custom Docus CLI. While your existing content and configuration remain compatible, you'll need to update your commands and project setup.
12
13### **⚠️ Breaking Changes**
14
15The main breaking changes are related to CLI commands:
16
17| v3 | v4 |
18| ------------------------ | ---------------------------- |
19| `npx docus init my-docs` | `npx create-docus my-docs` |
20| `docus dev` | `nuxt dev --extends docus` |
21| `docus build` | `nuxt build --extends docus` |
22
23::tip
24Your existing Markdown content and MDC syntax will work without changes. The migration primarily involves updating your development and build workflow.
25::
26
27## **Migrating to Docus**
28
29Already using a Markdown-based solution for your documentation? Whether it’s **Docus v1**, the **Nuxt UI docs template**, or another static site setup, migrating to Docus is simple and straightforward.
30
31Docus offers a clean and maintainable solution with a single dependency: the Docus library itself. There’s no need to manage multiple dependencies. With everything built-in and maintained together, keeping your documentation up to date is easier than ever.
32
33To migrate, just move your existing Markdown files into the `content/` directory of the Docus starter.
34
35From there, you have two scenarios:
36
37- **If your current docs already use Nuxt Content and the MDC syntax**, make sure the components used in your content exist in Nuxt UI. If any components are missing, you can easily create your own custom ones.
38- **If you're using standard Markdown**, you can copy your files as is. Then, enhance your documentation progressively using the built-in components provided by Nuxt UI.
39
40Once your content has been moved to the `content/` folder, you can customize your app by following the [configuration documentation](https://docus.dev/concepts/configuration).
41
42Docus is designed to focus on writing content, so if you're already using Markdown, you can easily switch to it.
.starters/default/content/1.getting-started/7.troubleshooting.md+32−0
@@ -0,0 +1,32 @@
1---
2title: Troubleshooting
3description: Common issues and their solutions when working with Docus.
4navigation:
5 icon: i-lucide-wrench
6seo:
7 description: Troubleshooting guide for common Docus issues and their solutions.
8---
9
10## `pnpm` issues
11
12### Approve build scripts
13
14If you encounter build or dev errors when using `pnpm`, especially related to `better-sqlite3` dependency, you might need to approve certain packages for building.
15
16Run the following command to approve packages for building:
17
18```bash [Terminal]
19pnpm approve-builds
20```
21
22When prompted, select `better-sqlite3` and `sharp` from the list of packages to approve it for building.
23
24### Enable shameful hoisting (compatibility mode)
25
26If you see errors such as `Can't resolve 'tailwindcss'` or `Can't resolve '@nuxt/ui'` you don't necessary need to import them, you can just apply a flat `node_modules` layout (like npm or yarn).
27
28You can enable compatibility mode by creating a `.npmrc` file with:
29
30```bash [.npmrc]
31shamefully-hoist=true
32```
.starters/default/content/2.essentials/.navigation.yml+1−0
@@ -0,0 +1 @@
1title: Essentials
.starters/default/content/2.essentials/1.markdown-syntax.md+223−0
@@ -0,0 +1,223 @@
1---
2title: Markdown Syntax
3description: Text, title, and styling in standard markdown.
4navigation:
5 icon: i-lucide-heading-1
6---
7
8## Titles
9
10Use titles to introduce main sections. They structure your documentation and help users navigate content.
11
12::code-preview
13---
14class: "[&>div]:*:my-0"
15---
16## Titles
17
18#code
19```mdc
20## Titles
21```
22::
23
24### Subtitles
25
26Use subtitles to divide sections further. They create a more detailed content hierarchy for better readability.
27
28::code-preview
29---
30class: "[&>div]:*:my-0"
31---
32### Subtitles
33
34#code
35```mdc
36### Subtitles
37```
38::
39
40::tip
41Each title and subtitle creates an anchor and shows up automatically in the table of contents.
42::
43
44## Text Formatting
45
46Docus supports most Markdown formatting options.
47
48| Style | How to use | Result |
49| ------ | ------------ | ---------- |
50| Bold | `**bold**` | **Bold** |
51| Italic | `*italic*` | *Italic* |
52| Strike | `~~strike~~` | ~~Strike~~ |
53
54Combine formatting for richer text styles and visual emphasis.
55
56| Style | How to use | Result |
57| ------------- | ------------------- | ----------------- |
58| Bold Italic | `**_bold italic_**` | ***Bold Italic*** |
59| Bold Strike | `~~**bold**~~` | ~~**Bold**~~ |
60| Italic Strike | `~~*italic*~~` | ~~*Italic*~~ |
61
62## Links
63
64Links connect different parts of your documentation and external resources, essential for user navigation and providing references.
65To create a link, wrap the link text in brackets `[]()`.
66
67::code-preview
68---
69class: "[&>div]:*:my-0"
70---
71[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
72
73#code
74```mdc
75[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
76```
77::
78
79### Internal links
80
81For linking within your documentation, use root-relative paths like `/getting-started/installation`.
82
83::code-preview
84---
85class: "[&>div]:*:my-0"
86---
87[Installation](/getting-started/installation)
88
89#code
90```mdc
91[Installation](/getting-started/installation)
92```
93::
94
95## Lists
96
97Organize related items in a structured, readable format. Markdown supports unordered, ordered, and nested lists for various content needs.
98
99### Unordered
100
101Use unordered lists for items without a specific sequence. Start each item with a `-` symbol.
102
103::code-preview
104---
105class: "[&>div]:*:my-0"
106---
107- I'm a list item.
108- I'm another list item.
109- I'm the last list item.
110
111#code
112```mdc
113- I'm a list item.
114- I'm another list item.
115- I'm the last list item.
116```
117::
118
119### Ordered
120
121Use ordered lists when item order matters, like steps in a process. Start each item with a number.
122
123::code-preview
124---
125class: "[&>div]:*:my-0"
126---
1271. I'm a list item.
1282. I'm another list item.
1293. I'm the last list item.
130
131#code
132```mdc
1331. I'm a list item.
1342. I'm another list item.
1353. I'm the last list item.
136```
137::
138
139### Nested
140
141Create hierarchical lists with sub-items for complex structures. Indent sub-items by four spaces for nesting.
142
143::code-preview
144---
145class: "[&>div]:*:my-0"
146---
147- I'm a list item.
148 - I'm a nested list item.
149 - I'm another nested list item.
150- I'm another list item.
151
152#code
153```mdc
154- I'm a list item.
155 - I'm a nested list item.
156 - I'm another nested list item.
157- I'm another list item.
158```
159::
160
161## Tables
162
163Present structured data in rows and columns clearly. Tables are ideal for comparing data or listing properties.
164
165::code-preview
166---
167class: "[&>div]:*:my-0 [&>div]:*:w-full"
168---
169| Prop | Default | Type |
170| ------- | --------- | -------- |
171| `name` | | `string` |
172| `size` | `md` | `string` |
173| `color` | `neutral` | `string` |
174
175#code
176```mdc
177| Prop | Default | Type |
178|---------|-----------|--------------------------|
179| `name` | | `string`{lang="ts-type"} |
180| `size` | `md` | `string`{lang="ts-type"} |
181| `color` | `neutral` | `string`{lang="ts-type"} |
182```
183::
184
185## Blockquotes
186
187Highlight important quotations, citations, or emphasized text. Blockquotes visually distinguish quoted content.
188
189### Singleline
190
191Single-line blockquotes are best for short, impactful quotes or citations that fit within a single line. To create a single-line blockquote, add a `>` in front of a paragraph. Ideal for short and impactful quotes.
192
193::code-preview
194---
195class: "[&>div]:*:my-0"
196---
197> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
198
199#code
200```mdc
201> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
202```
203::
204
205### Multiline
206
207Multi-line blockquotes are suitable for longer quotes or when you need to include multiple paragraphs within a single quotation.
208
209::code-preview
210---
211class: "[&>div]:*:my-0"
212---
213> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
214>
215> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
216
217#code
218```mdc
219> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
220>
221> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
222```
223::
.starters/default/content/2.essentials/2.code-blocks.md+402−0
@@ -0,0 +1,402 @@
1---
2title: Code Blocks
3description: Display inline code and code blocks in your documentation.
4navigation:
5 icon: i-lucide-code-xml
6---
7
8## Basic
9
10### Inline Code
11
12Use inline code to display code snippets within text paragraphs. It's ideal for referencing code elements directly in sentences.
13
14::code-preview
15---
16class: "[&>div]:*:my-0"
17---
18`inline code`
19
20#code
21```mdc
22`inline code`
23```
24::
25
26### Code Blocks
27
28Use code blocks to display multi-line code snippets with syntax highlighting. Code blocks are essential for presenting code examples clearly.
29
30::code-preview
31---
32class: "[&>div]:*:my-0 [&>div]:*:w-full"
33---
34```ts
35export default defineNuxtConfig({
36 modules: ['@nuxt/ui']
37})
38```
39
40#code
41````mdc
42```ts
43export default defineNuxtConfig({
44 modules: ['@nuxt/ui']
45})
46```
47````
48::
49
50When writing a code-block, you can specify a filename that will be displayed on top of the code block. An icon will be automatically displayed based on the extension or the name.
51Filenames help users understand the code's location and purpose within a project.
52
53::code-preview
54---
55class: "[&>div]:*:my-0 [&>div]:*:w-full"
56---
57```ts [nuxt.config.ts]
58export default defineNuxtConfig({
59 modules: ['@nuxt/ui']
60})
61```
62
63#code
64````mdc
65```ts [nuxt.config.ts]
66export default defineNuxtConfig({
67 modules: ['@nuxt/ui']
68})
69```
70````
71::
72
73Every code-block has a built-in copy button that will copy the code to your clipboard.
74
75::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
76Icons are already defined by default, but you can customize them in your `app.config.ts`:
77
78```ts [app.config.ts]
79export default defineAppConfig({
80 ui: {
81 prose: {
82 codeIcon: {
83 terminal: 'i-ph-terminal-window-duotone'
84 }
85 }
86 }
87})
88```
89::
90
91## Advanced
92
93### CodeGroup
94
95Group code blocks in tabs using `code-group`. `code-group` is perfect for showing code examples in multiple languages or package managers.
96
97::code-preview
98---
99class: "[&>div]:*:my-0 [&>div]:*:w-full"
100---
101 :::code-group{.w-full}
102 ```bash [pnpm]
103 pnpm add @nuxt/ui
104 ```
105
106 ```bash [yarn]
107 yarn add @nuxt/ui
108 ```
109
110 ```bash [npm]
111 npm install @nuxt/ui
112 ```
113
114 ```bash [bun]
115 bun add @nuxt/ui
116 ```
117 :::
118
119#code
120````mdc
121::code-group
122
123```bash [pnpm]
124pnpm add @nuxt/ui
125```
126
127```bash [yarn]
128yarn add @nuxt/ui
129```
130
131```bash [npm]
132npm install @nuxt/ui
133```
134
135```bash [bun]
136bun add @nuxt/ui
137```
138
139::
140````
141::
142
143### CodeTree
144
145Display code blocks in a file tree view using `code-tree`. `code-tree` is excellent for showcasing project structures and file relationships.
146
147::code-preview
148---
149class: "[&>div]:*:my-0 [&>div]:*:w-full"
150---
151 :::code-tree{default-value="app/app.config.ts"}
152 ```ts [nuxt.config.ts]
153 export default defineNuxtConfig({
154 modules: ['@nuxt/ui'],
155
156 future: {
157 compatibilityVersion: 4
158 },
159
160 css: ['~/assets/css/main.css']
161 })
162
163 ```
164
165 ```css [app/assets/css/main.css]
166 @import "tailwindcss";
167 @import "@nuxt/ui";
168 ```
169
170 ```ts [app/app.config.ts]
171 export default defineAppConfig({
172 ui: {
173 colors: {
174 primary: 'sky',
175 colors: 'slate'
176 }
177 }
178 })
179 ```
180
181 ```vue [app/app.vue]
182 <template>
183 <UApp>
184 <NuxtPage />
185 </UApp>
186 </template>
187 ```
188
189 ```json [package.json]
190 {
191 "name": "nuxt-app",
192 "private": true,
193 "type": "module",
194 "scripts": {
195 "build": "nuxt build",
196 "dev": "nuxt dev",
197 "generate": "nuxt generate",
198 "preview": "nuxt preview",
199 "postinstall": "nuxt prepare",
200 "lint": "eslint .",
201 "lint:fix": "eslint --fix ."
202 },
203 "dependencies": {
204 "@iconify-json/lucide": "^1.2.18",
205 "@nuxt/ui": "^4.0.0",
206 "nuxt": "^4.1.0"
207 },
208 "devDependencies": {
209 "eslint": "^9.34.0",
210 "typescript": "^5.9.3",
211 "vue-tsc": "^3.0.6"
212 }
213 }
214 ```
215
216 ```json [tsconfig.json]
217 {
218 "extends": "./.nuxt/tsconfig.json"
219 }
220 ```
221
222 ````md [README.md]
223 # Nuxt 4 Minimal Starter
224
225 Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
226
227 ## Setup
228
229 Make sure to install the dependencies:
230
231 ```bash
232 # npm
233 npm install
234
235 # pnpm
236 pnpm install
237
238 # yarn
239 yarn install
240
241 # bun
242 bun install
243 ```
244
245 ## Development Server
246
247 Start the development server on `http://localhost:3000`:
248
249 ```bash
250 # npm
251 npm run dev
252
253 # pnpm
254 pnpm run dev
255
256 # yarn
257 yarn dev
258
259 # bun
260 bun run dev
261 ```
262
263 ## Production
264
265 Build the application for production:
266
267 ```bash
268 # npm
269 npm run build
270
271 # pnpm
272 pnpm run build
273
274 # yarn
275 yarn build
276
277 # bun
278 bun run build
279 ```
280
281 Locally preview production build:
282
283 ```bash
284 # npm
285 npm run preview
286
287 # pnpm
288 pnpm run preview
289
290 # yarn
291 yarn preview
292
293 # bun
294 bun run preview
295 ```
296
297 Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
298 ````
299 :::
300::
301
302### `CodePreview`
303
304Use `code-preview` to show code output alongside the code. `code-preview` is ideal for interactive examples and demonstrating code results.
305Write the code to be previewed in a the `default` slot and the actual code in the `code` slot.
306
307::code-preview
308---
309class: "[&>div]:*:my-0 [&>div]:*:w-full"
310label: Preview
311---
312 :::code-preview
313 ---
314 class: "[&>div]:*:my-0"
315 ---
316 `inline code`
317
318 #code
319 ```mdc
320 `inline code`
321 ```
322 :::
323
324#code
325````mdc
326::code-preview
327`inline code`
328
329#code
330```mdc
331`inline code`
332```
333::
334````
335::
336
337### `CodeCollapse`
338
339Use `code-collapse` for long code blocks to keep pages clean. `code-collapse` allows users to expand code blocks only when needed, improving readability.
340
341::code-preview
342---
343class: "[&>div]:*:my-0 [&>div]:*:w-full"
344---
345 :::code-collapse
346 ---
347 class: "[&>div]:my-0"
348 ---
349 ```css [main.css]
350 @import "tailwindcss";
351 @import "@nuxt/ui";
352
353 @theme {
354 --font-sans: 'Public Sans', sans-serif;
355
356 --breakpoint-3xl: 1920px;
357
358 --color-green-50: #EFFDF5;
359 --color-green-100: #D9FBE8;
360 --color-green-200: #B3F5D1;
361 --color-green-300: #75EDAE;
362 --color-green-400: #00DC82;
363 --color-green-500: #00C16A;
364 --color-green-600: #00A155;
365 --color-green-700: #007F45;
366 --color-green-800: #016538;
367 --color-green-900: #0A5331;
368 --color-green-950: #052E16;
369 }
370 ```
371 :::
372
373#code
374````mdc
375::code-collapse
376
377```css [main.css]
378@import "tailwindcss";
379@import "@nuxt/ui";
380
381@theme {
382--font-sans: 'Public Sans', sans-serif;
383
384--breakpoint-3xl: 1920px;
385
386--color-green-50: #EFFDF5;
387--color-green-100: #D9FBE8;
388--color-green-200: #B3F5D1;
389--color-green-300: #75EDAE;
390--color-green-400: #00DC82;
391--color-green-500: #00C16A;
392--color-green-600: #00A155;
393--color-green-700: #007F45;
394--color-green-800: #016538;
395--color-green-900: #0A5331;
396--color-green-950: #052E16;
397}
398```
399
400::
401````
402::
.starters/default/content/2.essentials/3.components.md+424−0
@@ -0,0 +1,424 @@
1---
2title: Markdown Components
3description: Use Markdown components to help you structure your content, with
4 the help of Nuxt UI.
5navigation:
6 icon: i-lucide-component
7 title: Components
8---
9
10Prose components are replacements for HTML typography tags. They provide a simple way to customize your UI when using Markdown.
11
12**Docus and Nuxt UI** provides a set of styled and beautiful prose components to help you write your documentation using the [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
13
14::note{to="https://ui.nuxt.com/getting-started"}
15This page highlights only the prose components best suited for writing documentation. However, you can use **any Nuxt UI or Nuxt UI component** in your Markdown. For the full list of available components, visit the Nuxt UI documentation.
16::
17
18### `Accordion`
19
20Use the `accordion` and `accordion-item` components to display an [Accordion](https://ui.nuxt.com/components/accordion) in your content.
21
22::tabs
23 :::tabs-item{icon="i-lucide-eye" label="Preview"}
24 ::::accordion
25 :::::accordion-item
26 ---
27 icon: i-lucide-circle-help
28 label: What is Docus and what are its key features??
29 ---
30 Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
31 :::::
32
33 :::::accordion-item
34 ---
35 icon: i-lucide-circle-help
36 label: How do I get started with Docus?
37 ---
38 The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
39 :::::
40
41 :::::accordion-item{icon="i-lucide-circle-help" label="What is Nuxt UI?"}
42 [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
43 :::::
44 ::::
45 :::
46
47 :::tabs-item{icon="i-lucide-code" label="Code"}
48 ```mdc
49 ::accordion
50
51 :::accordion-item{label="What is Docus and what are its key features??" icon="i-lucide-circle-help"}
52 Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
53 :::
54
55 :::accordion-item{label="How do I get started with Docus?" icon="i-lucide-circle-help"}
56 The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
57 :::
58
59 :::accordion-item{label="What is Nuxt UI?" icon="i-lucide-circle-help"}
60 [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
61 :::
62 ::
63 ```
64 :::
65::
66
67### `Badge`
68
69Use markdown in the default slot of the `badge` component to display a [Badge](https://ui.nuxt.com/components/badge) in your content.
70
71::tabs
72 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
73 ::::badge
74 **v3.0.0**
75 ::::
76 :::
77
78 :::tabs-item{icon="i-lucide-code" label="Code"}
79 ```mdc
80 ::badge
81 **v3.0.0**
82 ::
83 ```
84 :::
85::
86
87### `Callout`
88
89Use markdown in the default slot of the `callout` component to add eye-catching context to your content.
90
91Use the `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link) component.
92
93You can also use the `note`, `tip`, `warning` and `caution` shortcuts with pre-defined icons and colors.
94
95::tabs
96 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
97 ::::div{.flex.flex-col.gap-4.w-full}
98 :::::note{.w-full.my-0}
99 Here's some additional information for you.
100 :::::
101
102 :::::tip{.w-full.my-0}
103 Here's a helpful suggestion.
104 :::::
105
106 :::::warning{.w-full.my-0}
107 Be careful with this action as it might have unexpected results.
108 :::::
109
110 :::::caution{.w-full.my-0}
111 This action cannot be undone.
112 :::::
113 ::::
114 :::
115
116 :::tabs-item{icon="i-lucide-code" label="Code"}
117 ```mdc
118 ::note
119 Here's some additional information.
120 ::
121
122 ::tip
123 Here's a helpful suggestion.
124 ::
125
126 ::warning
127 Be careful with this action as it might have unexpected results.
128 ::
129
130 ::caution
131 This action cannot be undone.
132 ::
133 ```
134 :::
135::
136
137### `Card` and `CardGroup`
138
139Use markdown in the default slot of the `card` component to highlight your content.
140
141Use the `title`, `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link).
142
143Wrap your `card` components with the `card-group` component to group them together in a grid layout.
144
145::tabs
146 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
147 ::::card-group{.w-full.my-0}
148 :::::card
149 ---
150 icon: i-simple-icons-github
151 target: _blank
152 title: Dashboard
153 to: https://github.com/nuxt-ui-templates/dashboard
154 ---
155 A dashboard with multi-column layout.
156 :::::
157
158 :::::card
159 ---
160 icon: i-simple-icons-github
161 target: _blank
162 title: SaaS
163 to: https://github.com/nuxt-ui-templates/saas
164 ---
165 A template with landing, pricing, docs and blog.
166 :::::
167
168 :::::card
169 ---
170 icon: i-simple-icons-github
171 target: _blank
172 title: Docs
173 to: https://github.com/nuxt-ui-templates/docs
174 ---
175 A documentation with `@nuxt/content`.
176 :::::
177
178 :::::card
179 ---
180 icon: i-simple-icons-github
181 target: _blank
182 title: Landing
183 to: https://github.com/nuxt-ui-templates/landing
184 ---
185 A landing page you can use as starting point.
186 :::::
187 ::::
188 :::
189
190 :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
191 ```mdc
192 :::card-group
193
194 ::card
195 ---
196 title: Dashboard
197 icon: i-simple-icons-github
198 to: https://github.com/nuxt-ui-templates/dashboard
199 target: _blank
200 ---
201 A dashboard with multi-column layout.
202 ::
203
204 ::card
205 ---
206 title: SaaS
207 icon: i-simple-icons-github
208 to: https://github.com/nuxt-ui-templates/saas
209 target: _blank
210 ---
211 A template with landing, pricing, docs and blog.
212 ::
213
214 ::card
215 ---
216 title: Docs
217 icon: i-simple-icons-github
218 to: https://github.com/nuxt-ui-templates/docs
219 target: _blank
220 ---
221 A documentation with `@nuxt/content`.
222 ::
223
224 ::card
225 ---
226 title: Landing
227 icon: i-simple-icons-github
228 to: https://github.com/nuxt-ui-templates/landing
229 target: _blank
230 ---
231 A landing page you can use as starting point.
232 ::
233
234 :::
235 ```
236 :::
237::
238
239### `Collapsible`
240
241Wrap your content with the `collapsible` component to display a [Collapsible](https://ui.nuxt.com/components/collapsible) in your content.
242
243::tabs
244 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
245 ::::collapsible
246 | Prop | Default | Type |
247 | ------- | --------- | -------- |
248 | `name` | | `string` |
249 | `size` | `md` | `string` |
250 | `color` | `neutral` | `string` |
251 ::::
252 :::
253
254 :::tabs-item{icon="i-lucide-code" label="Code"}
255 ```mdc
256 ::collapsible
257
258 | Prop | Default | Type |
259 |---------|-----------|--------------------------|
260 | `name` | | `string`{lang="ts-type"} |
261 | `size` | `md` | `string`{lang="ts-type"} |
262 | `color` | `neutral` | `string`{lang="ts-type"} |
263
264 ::
265 ```
266 :::
267::
268
269### `Field` and `FieldGroup`
270
271A `field`is a prop or parameter to display in your content. You can group them by `field-group` in a list.
272
273::tabs
274 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
275 ::::field-group{.my-0}
276 :::::field{name="analytics" type="boolean"}
277 Default to `false` - Enables analytics for your project (coming soon).
278 :::::
279
280 :::::field{name="blob" type="boolean"}
281 Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
282 :::::
283
284 :::::field{name="cache" type="boolean"}
285 Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
286 :::::
287
288 :::::field{name="database" type="boolean"}
289 Default to `false` - Enables SQL database to store your application's data.
290 :::::
291 ::::
292 :::
293
294 :::tabs-item{icon="i-lucide-code" label="Code"}
295 ```mdc
296 ::field-group
297 ::field{name="analytics" type="boolean"}
298 Default to `false` - Enables analytics for your project (coming soon).
299 ::
300
301 ::field{name="blob" type="boolean"}
302 Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
303 ::
304
305 ::field{name="cache" type="boolean"}
306 Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
307 ::
308
309 ::field{name="database" type="boolean"}
310 Default to `false` - Enables SQL database to store your application's data.
311 ::
312 ::
313 ```
314 :::
315::
316
317### `Icon`
318
319Use the `icon` component to display an [Icon](https://ui.nuxt.com/components/icon) in your content.
320
321::code-preview
322:icon{name="i-simple-icons-nuxtdotjs"}
323
324
325
326#code
327```mdc
328:icon{name="i-simple-icons-nuxtdotjs"}
329```
330::
331
332### `Kbd`
333
334Use the `kbd` component to display a [Kbd](https://ui.nuxt.com/components/kbd) in your content.
335
336::code-preview
337#code
338```mdc
339:kbd{value="meta"} :kbd{value="K"}
340```
341::
342
343### `Tabs`
344
345Use the `tabs` and `tabs-item` components to display [Tabs](https://ui.nuxt.com/components/tabs) in your content.
346
347::code-preview
348 :::tabs{.w-full}
349 ::::tabs-item{icon="i-lucide-code" label="Code"}
350 ```mdc
351 ::callout
352 Lorem velit voluptate ex reprehenderit ullamco et culpa.
353 ::
354 ```
355 ::::
356
357 ::::tabs-item{icon="i-lucide-eye" label="Preview"}
358 :::::callout
359 Lorem velit voluptate ex reprehenderit ullamco et culpa.
360 :::::
361 ::::
362 :::
363
364#code
365````mdc
366::tabs{.w-full}
367 :::tabs-item{icon="i-lucide-code" label="Code"}
368 ```mdc
369 ::::callout
370 Lorem velit voluptate ex reprehenderit ullamco et culpa.
371 ::::
372 ```
373 ::::
374
375 :::tabs-item{icon="i-lucide-eye" label="Preview"}
376 :::::callout
377 Lorem velit voluptate ex reprehenderit ullamco et culpa.
378 :::::
379 :::
380::
381````
382::
383
384### `Steps`
385
386Wrap your headings with the Steps component to display a list of steps.
387
388Use the `level` prop to define which heading will be used for the steps.
389
390::tabs
391 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
392 ::::steps{level="4"}
393 #### Start a fresh new project
394
395 ```bash [Terminal]
396 npm create nuxt@latest -- -t github:nuxt-content/docus
397 ```
398
399 #### Run docus CLI to run your dev server
400
401 ```bash [Terminal]
402 docus dev
403 ```
404 ::::
405 :::
406
407 :::tabs-item{icon="i-lucide-code" label="Code"}
408 ````mdc
409 ::steps{level="4"}
410 #### Start a fresh new project
411
412 ```bash [Terminal]
413 npm create nuxt@latest -- -t github:nuxt-content/docus
414 ```
415
416 #### Run docus CLI to run your dev server
417
418 ```bash [Terminal]
419 docus dev
420 ```
421 ::
422 ````
423 :::
424::
.starters/default/content/2.essentials/4.images-embeds.md+53−0
@@ -0,0 +1,53 @@
1---
2title: Images and Embeds
3description: Add image, video, and other HTML elements
4navigation:
5 icon: i-lucide-image
6seo:
7 description: Add image, video, and other HTML elements using Docus theme
8---
9
10## Markdown
11
12Display images or videos using standard Markdown syntax.
13
14### Images
15
16::code-preview
17![Nuxt Social Image](https://nuxt.com/new-social.jpg)
18
19#code
20```mdc
21![Nuxt Social Image](https://nuxt.com/new-social.jpg)
22```
23::
24
25Or with your local images
26
27::code-preview
28![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
29
30#code
31```mdc
32![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
33```
34::
35
36::note{to="https://image.nuxt.com/"}
37Docus will use `<NuxtImg>` component under the hood instead of the native `img` tag.
38::
39
40### Videos
41
42::code-preview
43:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
44
45
46
47#code
48```mdc
49:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
50```
51::
52
53###
.starters/default/content/index.md+123−0
@@ -0,0 +1,123 @@
1---
2seo:
3 title: Write beautiful docs with Markdown
4 description: Ship fast, flexible, and SEO-optimized documentation with beautiful
5 design out of the box. Docus brings together the best of the Nuxt ecosystem.
6 Powered by Nuxt UI.
7---
8
9::u-page-hero
10#title
11Write beautiful docs with Markdown
12
13#description
14Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box.
15
16Docus brings the best of the Nuxt ecosystem into one CLI.
17
18#links
19 :::u-button
20 ---
21 color: neutral
22 size: xl
23 to: /getting-started/installation
24 trailing-icon: i-lucide-arrow-right
25 ---
26 Get started
27 :::
28
29 :::u-button
30 ---
31 color: neutral
32 icon: simple-icons-github
33 size: xl
34 to: https://github.com/nuxt-content/docus
35 variant: outline
36 ---
37 Star on GitHub
38 :::
39::
40
41::u-page-section
42#title
43Shipped with many features
44
45#features
46 :::u-page-feature
47 ---
48 icon: i-simple-icons-nuxt
49 target: _blank
50 to: https://nuxt.com
51 ---
52 #title
53 Built with [Nuxt 4]{.text-primary}
54
55 #description
56 Optimized by the most famous Vue framework. Docus gives you everything you need to build fast, performant, and SEO-friendly websites.
57 :::
58
59 :::u-page-feature
60 ---
61 icon: i-simple-icons-nuxt
62 target: _blank
63 to: https://ui.nuxt.com/
64 ---
65 #title
66 Powered by [Nuxt UI]{.text-primary}
67
68 #description
69 Beautiful out of the box, minimal by design but highly customizable. Docus leverages Nuxt UI to give you the best docs writing experience with zero boilerplate, just focus on your content.
70 :::
71
72 :::u-page-feature
73 ---
74 icon: i-simple-icons-nuxt
75 target: _blank
76 to: https://content.nuxt.com
77 ---
78 #title
79 Enhanced Markdown syntax by [Nuxt Content]{.text-primary}
80
81 #description
82 The only thing you need to take care about is writing your content. Write your pages in Markdown and extend with MDC syntax to embed Nuxt UI or custom Vue components. Structure, routing, and rendering are handled for you.
83 :::
84
85 :::u-page-feature
86 ---
87 icon: i-simple-icons-nuxt
88 target: _blank
89 to: https://nuxt.com/docs/guide/directory-structure/app-config
90 ---
91 #title
92 Customize with [Nuxt App Config]{.text-primary}
93
94 #description
95 Update colors, social links, header logos and component styles globally using the `app.config.ts`, no direct code modifications required.
96 :::
97
98 :::u-page-feature
99 ---
100 icon: i-simple-icons-nuxt
101 target: _blank
102 to: https://content.nuxt.com/studio
103 ---
104 #title
105 Edit in production with [Nuxt Studio]{.text-primary}
106
107 #description
108 Edit your content in production with zero Markdown knowledge required. Let your non technical colleagues collaborate on the documentation and integrate Vue components without code skills.
109 :::
110
111 :::u-page-feature
112 ---
113 icon: i-simple-icons-nuxt
114 target: _blank
115 to: https://ui.nuxt.com/components/content-search
116 ---
117 #title
118 Built-in navigation and [full-text search]{.text-primary}
119
120 #description
121 Only focus on ordering your content, Docus handles the search modal and auto-generates the side navigation for you.
122 :::
123::
.starters/default/nuxt.config.ts+3−0
@@ -0,0 +1,3 @@
1export default defineNuxtConfig({
2 extends: ['docus'],
3})
.starters/default/package.json+12−0
@@ -0,0 +1,12 @@
1{
2 "name": "docus-starter",
3 "scripts": {
4 "dev": "nuxt dev",
5 "build": "nuxt build"
6 },
7 "dependencies": {
8 "docus": "latest",
9 "better-sqlite3": "^12.11.1",
10 "nuxt": "^4.4.8"
11 }
12}
.starters/default/public/favicon.ico+0−0

Binary file not shown.

.starters/default/public/mountains.webp+0−0

Binary file not shown.

.starters/default/tsconfig.json+9−0
@@ -0,0 +1,9 @@
1{
2 "files": [],
3 "references": [
4 { "path": "./.nuxt/tsconfig.app.json" },
5 { "path": "./.nuxt/tsconfig.server.json" },
6 { "path": "./.nuxt/tsconfig.shared.json" },
7 { "path": "./.nuxt/tsconfig.node.json" }
8 ]
9}
.starters/i18n/.gitignore+37−0
@@ -0,0 +1,37 @@
1# Nuxt dev/build outputs
2.output
3.data
4.nuxt
5.nitro
6.cache
7dist
8
9# Node dependencies
10node_modules
11
12# Logs
13logs
14*.log
15
16# Misc
17.DS_Store
18.fleet
19.idea
20.eslintcache
21
22# Local env files
23.env
24.env.*
25!.env.example
26
27# npm pack
28*.tgz
29
30# Temp files
31.tmp
32.profile
33*.0x
34
35#VSC
36.history
37.wrangler
.starters/i18n/README.md+123−0
@@ -0,0 +1,123 @@
1# Docus i18n Starter
2
3> A beautiful, internationalized starter for creating multi-language documentation with Docus
4
5This is the i18n Docus starter template that provides everything you need to build beautiful, multi-language documentation sites with Markdown and Vue components.
6
7## ✨ Features
8
9- 🌍 **Internationalization** - Native i18n support for multi-language docs
10- 🎨 **Beautiful Design** - Clean, modern documentation theme
11- 📱 **Responsive** - Mobile-first responsive design
12- 🌙 **Dark Mode** - Built-in dark/light mode support
13- 🔍 **Search** - Full-text search functionality per language
14- 📝 **Markdown Enhanced** - Extended markdown with custom components
15- 🎨 **Customizable** - Easy theming and brand customization
16- ⚡ **Fast** - Optimized for performance with Nuxt 4
17- 🔧 **TypeScript** - Full TypeScript support
18
19## 🚀 Quick Start
20
21```bash
22# Install dependencies
23npm install
24
25# Start development server
26npm run dev
27```
28
29Your multilingual documentation site will be running at `http://localhost:3000`
30
31## 🌍 Languages
32
33This starter comes pre-configured with:
34- 🇺🇸 **English** (`en`) - Default language
35- 🇫🇷 **Français** (`fr`) - French translation
36
37## 📁 Project Structure
38
39```
40my-docs/
41├── content/ # Your markdown content
42│ ├── en/ # English content
43│ │ ├── index.md # English homepage
44│ │ └── docs/ # English documentation
45│ └── fr/ # French content
46│ ├── index.md # French homepage
47│ └── docs/ # French documentation
48├── public/ # Static assets
49├── nuxt.config.ts # Nuxt configuration with i18n setup
50└── package.json # Dependencies and scripts
51```
52
53### Content Structure
54
55The content is organized by language, making it easy to manage translations:
56
57```
58content/
59├── en/ # English content
60│ ├── index.md
61│ ├── 1.getting-started/
62│ │ ├── installation.md
63│ │ └── configuration.md
64│ └── 2.essentials/
65│ ├── markdown.md
66│ └── components.md
67└── fr/ # French content
68 ├── index.md
69 ├── 1.getting-started/
70 │ ├── installation.md
71 │ └── configuration.md
72 └── 2.essentials/
73 ├── markdown.md
74 └── components.md
75```
76
77## 🔗 URL Structure
78
79The i18n starter generates URLs with language prefixes:
80
81- English: `/en/getting-started/installation`
82- French: `/fr/getting-started/installation`
83- Default locale fallback: `/getting-started/installation` (redirects to English)
84
85## ⚡ Built with
86
87This starter comes pre-configured with:
88
89- [Nuxt 4](https://nuxt.com) - The web framework
90- [Nuxt Content](https://content.nuxt.com/) - File-based CMS
91- [Nuxt i18n](https://i18n.nuxt.com/) - Internationalization
92- [Nuxt UI](https://ui.nuxt.com) - UI components
93- [Nuxt Image](https://image.nuxt.com/) - Optimized images
94- [Tailwind CSS 4](https://tailwindcss.com/) - Utility-first CSS
95- [Docus Layer](https://www.npmjs.com/package/docus) - Documentation theme
96
97## 📖 Documentation
98
99For detailed documentation on customizing your Docus project, visit the [Docus Documentation](https://docus.dev)
100
101### 🤖 AI Assistant Skill
102
103Get started quickly with Docus by adding specialized knowledge to your AI assistant (Cursor, Claude, etc.):
104
105```bash
106npx skills add nuxt-content/docus
107```
108
109This skill helps you create documentation faster by providing your AI assistant with best practices, MDC component usage, ready-to-use templates, writing guidelines, and configuration tips for Docus. Perfect for quickly scaffolding new documentation projects.
110
111## 🚀 Deployment
112
113Build for production:
114
115```bash
116npm run build
117```
118
119The built files will be in the `.output` directory, ready for deployment to any hosting provider that supports Node.js.
120
121## 📄 License
122
123[MIT License](https://opensource.org/licenses/MIT)
.starters/i18n/content/en/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Getting Started
2icon: false
.starters/i18n/content/en/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1---
2title: Introduction
3description: Welcome to Docus theme documentation.
4navigation:
5 icon: i-lucide-house
6seo:
7 title: Introduction
8 description: Discover how to create, manage, and publish documentation effortlessly with Docus.
9---
10
11Welcome to **Docus**, a fully integrated documentation solution built with [Nuxt UI](https://ui.nuxt.com).
12
13## What is Docus?
14
15Docus is a theme based on the [UI documentation template](https://docs-template.nuxt.dev/). While the visual style comes ready out of the box, your focus should be on writing content using the Markdown and [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax) provided by [Nuxt Content](https://content.nuxt.com).
16
17We use this theme across all our Nuxt module documentations, including:
18
19::card-group
20 :::card
21 ---
22 icon: i-lucide-image
23 target: _blank
24 title: Nuxt Image
25 to: https://image.nuxt.com
26 ---
27 The documentation of `@nuxt/image`
28 :::
29
30 :::card
31 ---
32 icon: i-simple-icons-nuxtdotjs
33 target: _blank
34 title: Nuxt Content
35 to: https://content.nuxt.com
36 ---
37 The documentation of `@nuxt/content`
38 :::
39
40 :::card
41 ---
42 icon: i-simple-icons-supabase
43 target: _blank
44 title: Nuxt Supabase
45 to: https://supabase.nuxtjs.org
46 ---
47 The documentation of `@nuxt/supabase`
48 :::
49
50 :::card
51 ---
52 icon: i-simple-icons-strapi
53 target: _blank
54 title: Nuxt Strapi
55 to: https://strapi.nuxtjs.org
56 ---
57 The documentation of `@nuxt/strapi`
58 :::
59::
60
61## Key Features
62
63This theme includes a range of features designed to improve documentation management:
64
65- **Powered by** **[Nuxt 4](https://nuxt.com)**: Utilizes the latest Nuxt framework for optimal performance.
66- **Built with** **[Nuxt UI](https://ui.nuxt.com)**: Integrates a comprehensive suite of UI components.
67- **[MDC Syntax](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)**: Supports Markdown with component integration for dynamic content.
68- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible**: Write and edit your content visually. No Markdown knowledge is required!
69- **Auto-generated Sidebar Navigation**: Automatically generates navigation from content structure.
70- **Full-Text Search**: Includes built-in search functionality for content discovery.
71- **Optimized Typography**: Features refined typography for enhanced readability.
72- **Dark Mode**: Offers dark mode support for user preference.
73- **Extensive Functionality**: Explore the theme to fully appreciate its capabilities.
.starters/i18n/content/en/1.getting-started/3.installation.md+58−0
@@ -0,0 +1,58 @@
1---
2title: Installation
3description: Get started with Docus.
4navigation:
5 icon: i-lucide-download
6seo:
7 description: Get started with Docus documentation theme.
8 title: Installation
9---
10
11## `create-docus` CLI
12
13::steps
14### Create your docs directory
15
16Use the `create-docus` CLI to create a new Docus project:
17
18```bash [Terminal]
19npx create-docus my-docs
20```
21
22You can choose between two templates:
23
24- `default`: Basic Docus setup for single-language documentation
25- `i18n`: Includes internationalization support for multi-language documentation
26
27```bash [Terminal]
28# Create with i18n template
29npx create-docus my-docs -t i18n
30```
31
32We recommend using the `npm` package manager.
33
34### Start your docs server in development
35
36Move to your docs directory and start your docs server in development mode:
37
38```bash [Terminal]
39cd my-docs
40npm run dev
41```
42
43A local preview of your documentation will be available at <http://localhost:3000>
44
45### Write your documentation
46
47Head over the [Markdown Syntax](/en/essentials/markdown-syntax) section to learn how to write your documentation.
48::
49
50## Layer Integration
51
52Docus v4 uses a **Nuxt layer-based approach**, you can extend the Docus layer directly in your `nuxt.config.ts` with `extends: ['docus']`:
53
54```ts [nuxt.config.ts]
55export default defineNuxtConfig({
56 extends: ['docus']
57})
58```
.starters/i18n/content/en/1.getting-started/4.project-structure.md+158−0
@@ -0,0 +1,158 @@
1---
2title: Project Structure
3description: Learn about the project structure of Docus v4.
4navigation:
5 icon: i-lucide-folder-tree
6---
7
8## Global structure
9
10Docus is a **Nuxt layer** that extends your standard Nuxt application with documentation features. This gives you the flexibility of a full Nuxt project.
11
12When you create a new Docus project with `npx create-docus my-docs`, you get:
13
14```bash
15my-docs/
16├── content/ # Your markdown content
17│ ├── index.md # Homepage
18│ └── docs/ # Documentation pages
19├── public/ # Static assets
20└── package.json # Dependencies and scripts
21```
22
23You can still use any feature or file of a classical Nuxt project:
24
25```bash
26my-docs/
27├── nuxt.config.ts # Nuxt configuration (add extra modules, components, etc.)
28├── app/ # App directory
29 ├── app.config.ts # App configuration
30│ ├── components/ # Components (add your own components)
31│ ├── layouts/ # Layouts (add your own layouts)
32│ └── pages/ # Pages (add your own pages)
33└── server/ # Server-side code (add your own server-side code)
34```
35
36### `content/` directory
37
38This is where you write pages in Markdown. Docus automatically generates routes based on your file structure.
39
40**Single language structure:**
41
42```bash
43content/
44├── index.md # Landing page (/)
45├── getting-started.md # Documentation page (/getting-started)
46└── guide/
47 ├── introduction.md # Documentation page (/guide/introduction)
48 └── configuration.md # Documentation page (/guide/configuration)
49```
50
51::tip
52You can separate your documentation files within a `docs/` subfolder to make them accessible at the `/docs` route. Additionally, you have the flexibility to override your landing page using custom Vue pages if desired. Learn more in the [edition documentation](https://docus.dev/concepts/edition).
53::
54
55**Multi-language structure (with i18n):**
56
57```bash
58content/
59├── en/
60│ ├── index.md # English landing page (/en)
61│ └── guide/
62│ └── introduction.md # Documentation page (/en/guide/introduction)
63└── fr/
64 ├── index.md # French landing page (/fr)
65 └── guide/
66 └── introduction.md # Documentation page (/fr/guide/introduction)
67```
68
69::tip{to="https://docus.dev/concepts/internationalization"}
70More information about i18n is available in the internationalization section.
71::
72
73### `public/` directory
74
75Files contained within the `public/` directory are served at the root and are not modified by the build process. This is where you can locate your images, icons, and other static assets.
76
77### `package.json`
78
79This file contains all the dependencies and scripts for your application. The `package.json` of
80a Docus application is really minimal and looks like:
81
82```json [package.json]
83{
84 "name": "my-docs",
85 "scripts": {
86 "build": "nuxt build --extends docus",
87 "dev": "nuxt dev --extends docus",
88 },
89 "dependencies": {
90 "docus": "latest",
91 "better-sqlite3": "^12.2.0",
92 "nuxt": "^4.0.0"
93 }
94}
95```
96
97### `nuxt.config.ts`
98
99*This file is not mandatory to start a Docus application.*
100
101You can add extra modules to your Nuxt configuration file:
102
103```typescript [nuxt.config.ts]
104export default defineNuxtConfig({
105 extends: ['@vercel/analytics/nuxt/module']
106})
107```
108
109### `app.config.ts`
110
111*This file is not mandatory to start a Docus application.*
112
113::warning
114You need a `nuxt.config.ts` to be set if you want to override app configuration.
115::
116
117This is where you can configure Docus to fit your branding, handle SEO, set your locale, and adapt links and socials. See the [configuration documentation](https://docus.dev/concepts/configuration) for details.
118
119```ts [app.config.ts]
120export default defineAppConfig({
121 docus: {
122 locale: 'en', // Set your single-language locale
123 },
124 seo: {
125 title: 'My Docs',
126 description: 'My awesome documentation',
127 },
128 // ... other configurations
129})
130```
131
132## Full Nuxt Project Capabilities
133
134Since Docus is a Nuxt layer, you can use **any feature** of a standard Nuxt project:
135
136::warning
137You need a `nuxt.config.ts` to be set if you want to override your app with Nuxt files. If no Nuxt config is created, changes will not be applied.
138::
139
140```bash
141my-docs/
142├── app/ # App directory (optional)
143 ├── app.config.ts # App configuration
144│ ├── components/ # Custom Vue components
145│ ├── layouts/ # Custom layouts
146│ ├── pages/ # Custom Vue pages (outside of content)
147│ ├── composables/ # Vue composables
148│ └── middleware/ # Route middleware
149├── server/ # Server-side code
150│ └── api/ # API routes
151├── plugins/ # Nuxt plugins
152├── middleware/ # Global middleware
153└── modules/ # Custom Nuxt modules
154```
155
156::tip{to="https://docus.dev/concepts/nuxt"}
157This layer-based approach gives you the power of the entire Nuxt ecosystem while keeping documentation as the primary focus.
158::
.starters/i18n/content/en/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1---
2title: Studio module
3description: Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.
4navigation:
5 icon: i-lucide-mouse-pointer-2
6 title: Studio module
7seo:
8 title: Nuxt Studio Web Editor
9 description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
10icon:
11 i-lucide-mouse-pointer-2 title: Web Editor
12 seo:
13 title: Nuxt Studio module
14 description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
15---
16
17The **Nuxt Studio** module is a browser-based interface for editing your Nuxt Content website directly in production. Access it by GitHub, GitLab or Google authentication on your deployed site, and start managing content without any local development tools.
18
19::tip{to="https://nuxt.studio/introduction"}
20Browse Nuxt Studio documentation to learn how ton install the module.
21::
22
23:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24
25The **studio editor** allows you to manage content entirely from your browser on your production website. There's no need for local development tools, Git commands, or terminal access. It's ideal for content teams who want to edit and preview changes in a familiar environment.
26
27## Visual edition in production for your Nuxt Content website
28
29Nuxt Studio provides **visual editing directly in production** for Nuxt Content–powered websites.
30
31Originally offered as a standalone premium platform, Studio is now a **free, open-source, and self-hostable Nuxt module**. It enables your entire team, developers and non-technical editors alike, to create and update content safely without leaving your live website.
32
33## Current features
34
35### ✨ **TipTap Visual Editor**
36
37Rich Markdown editor with full MDC component support.
38
39### 💻 **Monaco Code Editor**
40
41Advanced code editor for Markdown (MDC), YAML, and JSON files if you want to edit raw code.
42
43### 📝 **Form-based Editor**
44
45Edit YAML, JSON, and frontmatter using auto-generated forms based on collection schemas.
46
47### 🎨  **Vue Component Props Editor**
48
49Visual interface to edit Vue component props directly from the editor.
50
51### 🔄 **Real-time Preview**
52
53Instantly preview content changes on your production website.
54
55### 🔐 **Multi-provider Authentication**
56
57Secure OAuth authentication with GitHub, GitLab, and Google.
58
59### 🔑 **Custom Authentication**
60
61Utilities to implement custom authentication flows (password, SSO, LDAP, etc.).
62
63### 📝 **File Management**
64
65Create, edit, rename, and delete content files in the [content/]{.s2} directory.
66
67### 🖼 **Media Management**
68
69Centralized media library with support for JPEG, PNG, GIF, WebP, AVIF, SVG, and more.
70
71### 🌳 **Git Integration**
72
73Commit content changes directly from production and rely on your CI/CD pipeline to deploy them.
74
75### 🚀 **Development Mode**
76
77Edit content and media files directly from your local filesystem using the Studio interface.
78
79### 🌍 **Internationalization**
80
81Full i18n support for 17 languages: AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82
83## **Upcoming features**
84
85### 📂 **Collections View**
86
87Manage and navigate all content collections from a unified interface.
88
89### 🖼 **Media Optimization**
90
91Optimize images and media assets directly within the editor.
92
93### 🤖**AI Content Assistant**
94
95Get smart, AI-powered suggestions to improve and speed up content creation.
96
97### 💡**Community-driven Features**
98
99Have an idea? Share your feedback and help shape the future of Nuxt Studio.
.starters/i18n/content/en/1.getting-started/6.migration.md+42−0
@@ -0,0 +1,42 @@
1---
2title: Migration
3description: " How to migrate your documentation from an existing Markdown
4 solution to Docus"
5navigation:
6 icon: i-lucide-replace
7---
8
9## **Migrating from Docus v3 to v4**
10
11Docus v4 introduces a new **layer-based approach** that leverages the official Nuxt CLI instead of the custom Docus CLI. While your existing content and configuration remain compatible, you'll need to update your commands and project setup.
12
13### **⚠️ Breaking Changes**
14
15The main breaking changes are related to CLI commands:
16
17| v3 | v4 |
18| ------------------------ | ---------------------------- |
19| `npx docus init my-docs` | `npx create-docus my-docs` |
20| `docus dev` | `nuxt dev --extends docus` |
21| `docus build` | `nuxt build --extends docus` |
22
23::tip
24Your existing Markdown content and MDC syntax will work without changes. The migration primarily involves updating your development and build workflow.
25::
26
27## **Migrating to Docus**
28
29Already using a Markdown-based solution for your documentation? Whether it’s **Docus v1**, the **Nuxt UI docs template**, or another static site setup, migrating to Docus is simple and straightforward.
30
31Docus offers a clean and maintainable solution with a single dependency: the Docus library itself. There’s no need to manage multiple dependencies. With everything built-in and maintained together, keeping your documentation up to date is easier than ever.
32
33To migrate, just move your existing Markdown files into the `content/` directory of the Docus starter.
34
35From there, you have two scenarios:
36
37- **If your current docs already use Nuxt Content and the MDC syntax**, make sure the components used in your content exist in Nuxt UI. If any components are missing, you can easily create your own custom ones.
38- **If you're using standard Markdown**, you can copy your files as is. Then, enhance your documentation progressively using the built-in components provided by Nuxt UI.
39
40Once your content has been moved to the `content/` folder, you can customize your app by following the [configuration documentation](https://docus.dev/concepts/configuration).
41
42Docus is designed to focus on writing content, so if you're already using Markdown, you can easily switch to it.
.starters/i18n/content/en/1.getting-started/7.troubleshooting.md+32−0
@@ -0,0 +1,32 @@
1---
2title: Troubleshooting
3description: Common issues and their solutions when working with Docus.
4navigation:
5 icon: i-lucide-wrench
6seo:
7 description: Troubleshooting guide for common Docus issues and their solutions.
8---
9
10## `pnpm` issues
11
12### Approve build scripts
13
14If you encounter build or dev errors when using `pnpm`, especially related to `better-sqlite3` dependency, you might need to approve certain packages for building.
15
16Run the following command to approve packages for building:
17
18```bash [Terminal]
19pnpm approve-builds
20```
21
22When prompted, select `better-sqlite3` and `sharp` from the list of packages to approve it for building.
23
24### Enable shameful hoisting (compatibility mode)
25
26If you see errors such as `Can't resolve 'tailwindcss'` or `Can't resolve '@nuxt/ui'` you don't necessary need to import them, you can just apply a flat `node_modules` layout (like npm or yarn).
27
28You can enable compatibility mode by creating a `.npmrc` file with:
29
30```bash [.npmrc]
31shamefully-hoist=true
32```
.starters/i18n/content/en/2.essentials/.navigation.yml+1−0
@@ -0,0 +1 @@
1title: Essentials
.starters/i18n/content/en/2.essentials/1.markdown-syntax.md+223−0
@@ -0,0 +1,223 @@
1---
2title: Markdown Syntax
3description: Text, title, and styling in standard markdown.
4navigation:
5 icon: i-lucide-heading-1
6---
7
8## Titles
9
10Use titles to introduce main sections. They structure your documentation and help users navigate content.
11
12::code-preview
13---
14class: "[&>div]:*:my-0"
15---
16## Titles
17
18#code
19```mdc
20## Titles
21```
22::
23
24### Subtitles
25
26Use subtitles to divide sections further. They create a more detailed content hierarchy for better readability.
27
28::code-preview
29---
30class: "[&>div]:*:my-0"
31---
32### Subtitles
33
34#code
35```mdc
36### Subtitles
37```
38::
39
40::tip
41Each title and subtitle creates an anchor and shows up automatically in the table of contents.
42::
43
44## Text Formatting
45
46Docus supports most Markdown formatting options.
47
48| Style | How to use | Result |
49| ------ | ------------ | ---------- |
50| Bold | `**bold**` | **Bold** |
51| Italic | `*italic*` | *Italic* |
52| Strike | `~~strike~~` | ~~Strike~~ |
53
54Combine formatting for richer text styles and visual emphasis.
55
56| Style | How to use | Result |
57| ------------- | ------------------- | ----------------- |
58| Bold Italic | `**_bold italic_**` | ***Bold Italic*** |
59| Bold Strike | `~~**bold**~~` | ~~**Bold**~~ |
60| Italic Strike | `~~*italic*~~` | ~~*Italic*~~ |
61
62## Links
63
64Links connect different parts of your documentation and external resources, essential for user navigation and providing references.
65To create a link, wrap the link text in brackets `[]()`.
66
67::code-preview
68---
69class: "[&>div]:*:my-0"
70---
71[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
72
73#code
74```mdc
75[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
76```
77::
78
79### Internal links
80
81For linking within your documentation, use root-relative paths like `/getting-started/installation`.
82
83::code-preview
84---
85class: "[&>div]:*:my-0"
86---
87[Installation](/en/getting-started/installation)
88
89#code
90```mdc
91[Installation](/en/getting-started/installation)
92```
93::
94
95## Lists
96
97Organize related items in a structured, readable format. Markdown supports unordered, ordered, and nested lists for various content needs.
98
99### Unordered
100
101Use unordered lists for items without a specific sequence. Start each item with a `-` symbol.
102
103::code-preview
104---
105class: "[&>div]:*:my-0"
106---
107- I'm a list item.
108- I'm another list item.
109- I'm the last list item.
110
111#code
112```mdc
113- I'm a list item.
114- I'm another list item.
115- I'm the last list item.
116```
117::
118
119### Ordered
120
121Use ordered lists when item order matters, like steps in a process. Start each item with a number.
122
123::code-preview
124---
125class: "[&>div]:*:my-0"
126---
1271. I'm a list item.
1282. I'm another list item.
1293. I'm the last list item.
130
131#code
132```mdc
1331. I'm a list item.
1342. I'm another list item.
1353. I'm the last list item.
136```
137::
138
139### Nested
140
141Create hierarchical lists with sub-items for complex structures. Indent sub-items by four spaces for nesting.
142
143::code-preview
144---
145class: "[&>div]:*:my-0"
146---
147- I'm a list item.
148 - I'm a nested list item.
149 - I'm another nested list item.
150- I'm another list item.
151
152#code
153```mdc
154- I'm a list item.
155 - I'm a nested list item.
156 - I'm another nested list item.
157- I'm another list item.
158```
159::
160
161## Tables
162
163Present structured data in rows and columns clearly. Tables are ideal for comparing data or listing properties.
164
165::code-preview
166---
167class: "[&>div]:*:my-0 [&>div]:*:w-full"
168---
169| Prop | Default | Type |
170| ------- | --------- | -------- |
171| `name` | | `string` |
172| `size` | `md` | `string` |
173| `color` | `neutral` | `string` |
174
175#code
176```mdc
177| Prop | Default | Type |
178|---------|-----------|--------------------------|
179| `name` | | `string`{lang="ts-type"} |
180| `size` | `md` | `string`{lang="ts-type"} |
181| `color` | `neutral` | `string`{lang="ts-type"} |
182```
183::
184
185## Blockquotes
186
187Highlight important quotations, citations, or emphasized text. Blockquotes visually distinguish quoted content.
188
189### Singleline
190
191Single-line blockquotes are best for short, impactful quotes or citations that fit within a single line. To create a single-line blockquote, add a `>` in front of a paragraph. Ideal for short and impactful quotes.
192
193::code-preview
194---
195class: "[&>div]:*:my-0"
196---
197> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
198
199#code
200```mdc
201> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
202```
203::
204
205### Multiline
206
207Multi-line blockquotes are suitable for longer quotes or when you need to include multiple paragraphs within a single quotation.
208
209::code-preview
210---
211class: "[&>div]:*:my-0"
212---
213> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
214>
215> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
216
217#code
218```mdc
219> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
220>
221> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
222```
223::
.starters/i18n/content/en/2.essentials/2.code-blocks.md+402−0
@@ -0,0 +1,402 @@
1---
2title: Code Blocks
3description: Display inline code and code blocks in your documentation.
4navigation:
5 icon: i-lucide-code-xml
6---
7
8## Basic
9
10### Inline Code
11
12Use inline code to display code snippets within text paragraphs. It's ideal for referencing code elements directly in sentences.
13
14::code-preview
15---
16class: "[&>div]:*:my-0"
17---
18`inline code`
19
20#code
21```mdc
22`inline code`
23```
24::
25
26### Code Blocks
27
28Use code blocks to display multi-line code snippets with syntax highlighting. Code blocks are essential for presenting code examples clearly.
29
30::code-preview
31---
32class: "[&>div]:*:my-0 [&>div]:*:w-full"
33---
34```ts
35export default defineNuxtConfig({
36 modules: ['@nuxt/ui']
37})
38```
39
40#code
41````mdc
42```ts
43export default defineNuxtConfig({
44 modules: ['@nuxt/ui']
45})
46```
47````
48::
49
50When writing a code-block, you can specify a filename that will be displayed on top of the code block. An icon will be automatically displayed based on the extension or the name.
51Filenames help users understand the code's location and purpose within a project.
52
53::code-preview
54---
55class: "[&>div]:*:my-0 [&>div]:*:w-full"
56---
57```ts [nuxt.config.ts]
58export default defineNuxtConfig({
59 modules: ['@nuxt/ui']
60})
61```
62
63#code
64````mdc
65```ts [nuxt.config.ts]
66export default defineNuxtConfig({
67 modules: ['@nuxt/ui']
68})
69```
70````
71::
72
73Every code-block has a built-in copy button that will copy the code to your clipboard.
74
75::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
76Icons are already defined by default, but you can customize them in your `app.config.ts`:
77
78```ts [app.config.ts]
79export default defineAppConfig({
80 ui: {
81 prose: {
82 codeIcon: {
83 terminal: 'i-ph-terminal-window-duotone'
84 }
85 }
86 }
87})
88```
89::
90
91## Advanced
92
93### CodeGroup
94
95Group code blocks in tabs using `code-group`. `code-group` is perfect for showing code examples in multiple languages or package managers.
96
97::code-preview
98---
99class: "[&>div]:*:my-0 [&>div]:*:w-full"
100---
101 :::code-group{.w-full}
102 ```bash [pnpm]
103 pnpm add @nuxt/ui
104 ```
105
106 ```bash [yarn]
107 yarn add @nuxt/ui
108 ```
109
110 ```bash [npm]
111 npm install @nuxt/ui
112 ```
113
114 ```bash [bun]
115 bun add @nuxt/ui
116 ```
117 :::
118
119#code
120````mdc
121::code-group
122
123```bash [pnpm]
124pnpm add @nuxt/ui
125```
126
127```bash [yarn]
128yarn add @nuxt/ui
129```
130
131```bash [npm]
132npm install @nuxt/ui
133```
134
135```bash [bun]
136bun add @nuxt/ui
137```
138
139::
140````
141::
142
143### CodeTree
144
145Display code blocks in a file tree view using `code-tree`. `code-tree` is excellent for showcasing project structures and file relationships.
146
147::code-preview
148---
149class: "[&>div]:*:my-0 [&>div]:*:w-full"
150---
151 :::code-tree{default-value="app/app.config.ts"}
152 ```ts [nuxt.config.ts]
153 export default defineNuxtConfig({
154 modules: ['@nuxt/ui'],
155
156 future: {
157 compatibilityVersion: 4
158 },
159
160 css: ['~/assets/css/main.css']
161 })
162
163 ```
164
165 ```css [app/assets/css/main.css]
166 @import "tailwindcss";
167 @import "@nuxt/ui";
168 ```
169
170 ```ts [app/app.config.ts]
171 export default defineAppConfig({
172 ui: {
173 colors: {
174 primary: 'sky',
175 colors: 'slate'
176 }
177 }
178 })
179 ```
180
181 ```vue [app/app.vue]
182 <template>
183 <UApp>
184 <NuxtPage />
185 </UApp>
186 </template>
187 ```
188
189 ```json [package.json]
190 {
191 "name": "nuxt-app",
192 "private": true,
193 "type": "module",
194 "scripts": {
195 "build": "nuxt build",
196 "dev": "nuxt dev",
197 "generate": "nuxt generate",
198 "preview": "nuxt preview",
199 "postinstall": "nuxt prepare",
200 "lint": "eslint .",
201 "lint:fix": "eslint --fix ."
202 },
203 "dependencies": {
204 "@iconify-json/lucide": "^1.2.18",
205 "@nuxt/ui": "^4.0.0",
206 "nuxt": "^4.1.0"
207 },
208 "devDependencies": {
209 "eslint": "^9.34.0",
210 "typescript": "^5.9.3",
211 "vue-tsc": "^3.0.6"
212 }
213 }
214 ```
215
216 ```json [tsconfig.json]
217 {
218 "extends": "./.nuxt/tsconfig.json"
219 }
220 ```
221
222 ````md [README.md]
223 # Nuxt 4 Minimal Starter
224
225 Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
226
227 ## Setup
228
229 Make sure to install the dependencies:
230
231 ```bash
232 # npm
233 npm install
234
235 # pnpm
236 pnpm install
237
238 # yarn
239 yarn install
240
241 # bun
242 bun install
243 ```
244
245 ## Development Server
246
247 Start the development server on `http://localhost:3000`:
248
249 ```bash
250 # npm
251 npm run dev
252
253 # pnpm
254 pnpm run dev
255
256 # yarn
257 yarn dev
258
259 # bun
260 bun run dev
261 ```
262
263 ## Production
264
265 Build the application for production:
266
267 ```bash
268 # npm
269 npm run build
270
271 # pnpm
272 pnpm run build
273
274 # yarn
275 yarn build
276
277 # bun
278 bun run build
279 ```
280
281 Locally preview production build:
282
283 ```bash
284 # npm
285 npm run preview
286
287 # pnpm
288 pnpm run preview
289
290 # yarn
291 yarn preview
292
293 # bun
294 bun run preview
295 ```
296
297 Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
298 ````
299 :::
300::
301
302### `CodePreview`
303
304Use `code-preview` to show code output alongside the code. `code-preview` is ideal for interactive examples and demonstrating code results.
305Write the code to be previewed in a the `default` slot and the actual code in the `code` slot.
306
307::code-preview
308---
309class: "[&>div]:*:my-0 [&>div]:*:w-full"
310label: Preview
311---
312 :::code-preview
313 ---
314 class: "[&>div]:*:my-0"
315 ---
316 `inline code`
317
318 #code
319 ```mdc
320 `inline code`
321 ```
322 :::
323
324#code
325````mdc
326::code-preview
327`inline code`
328
329#code
330```mdc
331`inline code`
332```
333::
334````
335::
336
337### `CodeCollapse`
338
339Use `code-collapse` for long code blocks to keep pages clean. `code-collapse` allows users to expand code blocks only when needed, improving readability.
340
341::code-preview
342---
343class: "[&>div]:*:my-0 [&>div]:*:w-full"
344---
345 :::code-collapse
346 ---
347 class: "[&>div]:my-0"
348 ---
349 ```css [main.css]
350 @import "tailwindcss";
351 @import "@nuxt/ui";
352
353 @theme {
354 --font-sans: 'Public Sans', sans-serif;
355
356 --breakpoint-3xl: 1920px;
357
358 --color-green-50: #EFFDF5;
359 --color-green-100: #D9FBE8;
360 --color-green-200: #B3F5D1;
361 --color-green-300: #75EDAE;
362 --color-green-400: #00DC82;
363 --color-green-500: #00C16A;
364 --color-green-600: #00A155;
365 --color-green-700: #007F45;
366 --color-green-800: #016538;
367 --color-green-900: #0A5331;
368 --color-green-950: #052E16;
369 }
370 ```
371 :::
372
373#code
374````mdc
375::code-collapse
376
377```css [main.css]
378@import "tailwindcss";
379@import "@nuxt/ui";
380
381@theme {
382--font-sans: 'Public Sans', sans-serif;
383
384--breakpoint-3xl: 1920px;
385
386--color-green-50: #EFFDF5;
387--color-green-100: #D9FBE8;
388--color-green-200: #B3F5D1;
389--color-green-300: #75EDAE;
390--color-green-400: #00DC82;
391--color-green-500: #00C16A;
392--color-green-600: #00A155;
393--color-green-700: #007F45;
394--color-green-800: #016538;
395--color-green-900: #0A5331;
396--color-green-950: #052E16;
397}
398```
399
400::
401````
402::
.starters/i18n/content/en/2.essentials/3.components.md+424−0
@@ -0,0 +1,424 @@
1---
2title: Markdown Components
3description: Use Markdown components to help you structure your content, with
4 the help of Nuxt UI.
5navigation:
6 icon: i-lucide-component
7 title: Components
8---
9
10Prose components are replacements for HTML typography tags. They provide a simple way to customize your UI when using Markdown.
11
12**Docus and Nuxt UI** provides a set of styled and beautiful prose components to help you write your documentation using the [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
13
14::note{to="https://ui.nuxt.com/getting-started"}
15This page highlights only the prose components best suited for writing documentation. However, you can use **any Nuxt UI or Nuxt UI component** in your Markdown. For the full list of available components, visit the Nuxt UI documentation.
16::
17
18### `Accordion`
19
20Use the `accordion` and `accordion-item` components to display an [Accordion](https://ui.nuxt.com/components/accordion) in your content.
21
22::tabs
23 :::tabs-item{icon="i-lucide-eye" label="Preview"}
24 ::::accordion
25 :::::accordion-item
26 ---
27 icon: i-lucide-circle-help
28 label: What is Docus and what are its key features??
29 ---
30 Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
31 :::::
32
33 :::::accordion-item
34 ---
35 icon: i-lucide-circle-help
36 label: How do I get started with Docus?
37 ---
38 The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
39 :::::
40
41 :::::accordion-item{icon="i-lucide-circle-help" label="What is Nuxt UI?"}
42 [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
43 :::::
44 ::::
45 :::
46
47 :::tabs-item{icon="i-lucide-code" label="Code"}
48 ```mdc
49 ::accordion
50
51 :::accordion-item{label="What is Docus and what are its key features??" icon="i-lucide-circle-help"}
52 Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
53 :::
54
55 :::accordion-item{label="How do I get started with Docus?" icon="i-lucide-circle-help"}
56 The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
57 :::
58
59 :::accordion-item{label="What is Nuxt UI?" icon="i-lucide-circle-help"}
60 [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
61 :::
62 ::
63 ```
64 :::
65::
66
67### `Badge`
68
69Use markdown in the default slot of the `badge` component to display a [Badge](https://ui.nuxt.com/components/badge) in your content.
70
71::tabs
72 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
73 ::::badge
74 **v3.0.0**
75 ::::
76 :::
77
78 :::tabs-item{icon="i-lucide-code" label="Code"}
79 ```mdc
80 ::badge
81 **v3.0.0**
82 ::
83 ```
84 :::
85::
86
87### `Callout`
88
89Use markdown in the default slot of the `callout` component to add eye-catching context to your content.
90
91Use the `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link) component.
92
93You can also use the `note`, `tip`, `warning` and `caution` shortcuts with pre-defined icons and colors.
94
95::tabs
96 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
97 ::::div{.flex.flex-col.gap-4.w-full}
98 :::::note{.w-full.my-0}
99 Here's some additional information for you.
100 :::::
101
102 :::::tip{.w-full.my-0}
103 Here's a helpful suggestion.
104 :::::
105
106 :::::warning{.w-full.my-0}
107 Be careful with this action as it might have unexpected results.
108 :::::
109
110 :::::caution{.w-full.my-0}
111 This action cannot be undone.
112 :::::
113 ::::
114 :::
115
116 :::tabs-item{icon="i-lucide-code" label="Code"}
117 ```mdc
118 ::note
119 Here's some additional information.
120 ::
121
122 ::tip
123 Here's a helpful suggestion.
124 ::
125
126 ::warning
127 Be careful with this action as it might have unexpected results.
128 ::
129
130 ::caution
131 This action cannot be undone.
132 ::
133 ```
134 :::
135::
136
137### `Card` and `CardGroup`
138
139Use markdown in the default slot of the `card` component to highlight your content.
140
141Use the `title`, `icon` and `color` props to customize it. You can also pass any property from the [`<NuxtLink>`](https://nuxt.com/docs/api/components/nuxt-link).
142
143Wrap your `card` components with the `card-group` component to group them together in a grid layout.
144
145::tabs
146 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
147 ::::card-group{.w-full.my-0}
148 :::::card
149 ---
150 icon: i-simple-icons-github
151 target: _blank
152 title: Dashboard
153 to: https://github.com/nuxt-ui-templates/dashboard
154 ---
155 A dashboard with multi-column layout.
156 :::::
157
158 :::::card
159 ---
160 icon: i-simple-icons-github
161 target: _blank
162 title: SaaS
163 to: https://github.com/nuxt-ui-templates/saas
164 ---
165 A template with landing, pricing, docs and blog.
166 :::::
167
168 :::::card
169 ---
170 icon: i-simple-icons-github
171 target: _blank
172 title: Docs
173 to: https://github.com/nuxt-ui-templates/docs
174 ---
175 A documentation with `@nuxt/content`.
176 :::::
177
178 :::::card
179 ---
180 icon: i-simple-icons-github
181 target: _blank
182 title: Landing
183 to: https://github.com/nuxt-ui-templates/landing
184 ---
185 A landing page you can use as starting point.
186 :::::
187 ::::
188 :::
189
190 :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
191 ```mdc
192 :::card-group
193
194 ::card
195 ---
196 title: Dashboard
197 icon: i-simple-icons-github
198 to: https://github.com/nuxt-ui-templates/dashboard
199 target: _blank
200 ---
201 A dashboard with multi-column layout.
202 ::
203
204 ::card
205 ---
206 title: SaaS
207 icon: i-simple-icons-github
208 to: https://github.com/nuxt-ui-templates/saas
209 target: _blank
210 ---
211 A template with landing, pricing, docs and blog.
212 ::
213
214 ::card
215 ---
216 title: Docs
217 icon: i-simple-icons-github
218 to: https://github.com/nuxt-ui-templates/docs
219 target: _blank
220 ---
221 A documentation with `@nuxt/content`.
222 ::
223
224 ::card
225 ---
226 title: Landing
227 icon: i-simple-icons-github
228 to: https://github.com/nuxt-ui-templates/landing
229 target: _blank
230 ---
231 A landing page you can use as starting point.
232 ::
233
234 :::
235 ```
236 :::
237::
238
239### `Collapsible`
240
241Wrap your content with the `collapsible` component to display a [Collapsible](https://ui.nuxt.com/components/collapsible) in your content.
242
243::tabs
244 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
245 ::::collapsible
246 | Prop | Default | Type |
247 | ------- | --------- | -------- |
248 | `name` | | `string` |
249 | `size` | `md` | `string` |
250 | `color` | `neutral` | `string` |
251 ::::
252 :::
253
254 :::tabs-item{icon="i-lucide-code" label="Code"}
255 ```mdc
256 ::collapsible
257
258 | Prop | Default | Type |
259 |---------|-----------|--------------------------|
260 | `name` | | `string`{lang="ts-type"} |
261 | `size` | `md` | `string`{lang="ts-type"} |
262 | `color` | `neutral` | `string`{lang="ts-type"} |
263
264 ::
265 ```
266 :::
267::
268
269### `Field` and `FieldGroup`
270
271A `field`is a prop or parameter to display in your content. You can group them by `field-group` in a list.
272
273::tabs
274 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
275 ::::field-group{.my-0}
276 :::::field{name="analytics" type="boolean"}
277 Default to `false` - Enables analytics for your project (coming soon).
278 :::::
279
280 :::::field{name="blob" type="boolean"}
281 Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
282 :::::
283
284 :::::field{name="cache" type="boolean"}
285 Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
286 :::::
287
288 :::::field{name="database" type="boolean"}
289 Default to `false` - Enables SQL database to store your application's data.
290 :::::
291 ::::
292 :::
293
294 :::tabs-item{icon="i-lucide-code" label="Code"}
295 ```mdc
296 ::field-group
297 ::field{name="analytics" type="boolean"}
298 Default to `false` - Enables analytics for your project (coming soon).
299 ::
300
301 ::field{name="blob" type="boolean"}
302 Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
303 ::
304
305 ::field{name="cache" type="boolean"}
306 Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
307 ::
308
309 ::field{name="database" type="boolean"}
310 Default to `false` - Enables SQL database to store your application's data.
311 ::
312 ::
313 ```
314 :::
315::
316
317### `Icon`
318
319Use the `icon` component to display an [Icon](https://ui.nuxt.com/components/icon) in your content.
320
321::code-preview
322:icon{name="i-simple-icons-nuxtdotjs"}
323
324
325
326#code
327```mdc
328:icon{name="i-simple-icons-nuxtdotjs"}
329```
330::
331
332### `Kbd`
333
334Use the `kbd` component to display a [Kbd](https://ui.nuxt.com/components/kbd) in your content.
335
336::code-preview
337#code
338```mdc
339:kbd{value="meta"} :kbd{value="K"}
340```
341::
342
343### `Tabs`
344
345Use the `tabs` and `tabs-item` components to display [Tabs](https://ui.nuxt.com/components/tabs) in your content.
346
347::code-preview
348 :::tabs{.w-full}
349 ::::tabs-item{icon="i-lucide-code" label="Code"}
350 ```mdc
351 ::callout
352 Lorem velit voluptate ex reprehenderit ullamco et culpa.
353 ::
354 ```
355 ::::
356
357 ::::tabs-item{icon="i-lucide-eye" label="Preview"}
358 :::::callout
359 Lorem velit voluptate ex reprehenderit ullamco et culpa.
360 :::::
361 ::::
362 :::
363
364#code
365````mdc
366::tabs{.w-full}
367 :::tabs-item{icon="i-lucide-code" label="Code"}
368 ```mdc
369 ::::callout
370 Lorem velit voluptate ex reprehenderit ullamco et culpa.
371 ::::
372 ```
373 ::::
374
375 :::tabs-item{icon="i-lucide-eye" label="Preview"}
376 :::::callout
377 Lorem velit voluptate ex reprehenderit ullamco et culpa.
378 :::::
379 :::
380::
381````
382::
383
384### `Steps`
385
386Wrap your headings with the Steps component to display a list of steps.
387
388Use the `level` prop to define which heading will be used for the steps.
389
390::tabs
391 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
392 ::::steps{level="4"}
393 #### Start a fresh new project
394
395 ```bash [Terminal]
396 npm create nuxt@latest -- -t github:nuxt-content/docus
397 ```
398
399 #### Run docus CLI to run your dev server
400
401 ```bash [Terminal]
402 docus dev
403 ```
404 ::::
405 :::
406
407 :::tabs-item{icon="i-lucide-code" label="Code"}
408 ````mdc
409 ::steps{level="4"}
410 #### Start a fresh new project
411
412 ```bash [Terminal]
413 npm create nuxt@latest -- -t github:nuxt-content/docus
414 ```
415
416 #### Run docus CLI to run your dev server
417
418 ```bash [Terminal]
419 docus dev
420 ```
421 ::
422 ````
423 :::
424::
.starters/i18n/content/en/2.essentials/4.images-embeds.md+53−0
@@ -0,0 +1,53 @@
1---
2title: Images and Embeds
3description: Add image, video, and other HTML elements
4navigation:
5 icon: i-lucide-image
6seo:
7 description: Add image, video, and other HTML elements using Docus theme
8---
9
10## Markdown
11
12Display images or videos using standard Markdown syntax.
13
14### Images
15
16::code-preview
17![Nuxt Social Image](https://nuxt.com/new-social.jpg)
18
19#code
20```mdc
21![Nuxt Social Image](https://nuxt.com/new-social.jpg)
22```
23::
24
25Or with your local images
26
27::code-preview
28![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
29
30#code
31```mdc
32![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
33```
34::
35
36::note{to="https://image.nuxt.com/"}
37Docus will use `<NuxtImg>` component under the hood instead of the native `img` tag.
38::
39
40### Videos
41
42::code-preview
43:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
44
45
46
47#code
48```mdc
49:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
50```
51::
52
53###
.starters/i18n/content/en/index.md+123−0
@@ -0,0 +1,123 @@
1---
2seo:
3 title: Write beautiful docs with Markdown
4 description: Ship fast, flexible, and SEO-optimized documentation with beautiful
5 design out of the box. Docus brings together the best of the Nuxt ecosystem.
6 Powered by Nuxt UI.
7---
8
9::u-page-hero
10#title
11Write beautiful docs with Markdown
12
13#description
14Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box.
15
16Docus brings the best of the Nuxt ecosystem into one CLI.
17
18#links
19 :::u-button
20 ---
21 color: neutral
22 size: xl
23 to: /en/getting-started/installation
24 trailing-icon: i-lucide-arrow-right
25 ---
26 Get started
27 :::
28
29 :::u-button
30 ---
31 color: neutral
32 icon: simple-icons-github
33 size: xl
34 to: https://github.com/nuxt-content/docus
35 variant: outline
36 ---
37 Star on GitHub
38 :::
39::
40
41::u-page-section
42#title
43Shipped with many features
44
45#features
46 :::u-page-feature
47 ---
48 icon: i-simple-icons-nuxt
49 target: _blank
50 to: https://nuxt.com
51 ---
52 #title
53 Built with [Nuxt 4]{.text-primary}
54
55 #description
56 Optimized by the most famous Vue framework. Docus gives you everything you need to build fast, performant, and SEO-friendly websites.
57 :::
58
59 :::u-page-feature
60 ---
61 icon: i-simple-icons-nuxt
62 target: _blank
63 to: https://ui.nuxt.com/
64 ---
65 #title
66 Powered by [Nuxt UI]{.text-primary}
67
68 #description
69 Beautiful out of the box, minimal by design but highly customizable. Docus leverages Nuxt UI to give you the best docs writing experience with zero boilerplate, just focus on your content.
70 :::
71
72 :::u-page-feature
73 ---
74 icon: i-simple-icons-nuxt
75 target: _blank
76 to: https://content.nuxt.com
77 ---
78 #title
79 Enhanced Markdown syntax by [Nuxt Content]{.text-primary}
80
81 #description
82 The only thing you need to take care about is writing your content. Write your pages in Markdown and extend with MDC syntax to embed Nuxt UI or custom Vue components. Structure, routing, and rendering are handled for you.
83 :::
84
85 :::u-page-feature
86 ---
87 icon: i-simple-icons-nuxt
88 target: _blank
89 to: https://nuxt.com/docs/guide/directory-structure/app-config
90 ---
91 #title
92 Customize with [Nuxt App Config]{.text-primary}
93
94 #description
95 Update colors, social links, header logos and component styles globally using the `app.config.ts`, no direct code modifications required.
96 :::
97
98 :::u-page-feature
99 ---
100 icon: i-simple-icons-nuxt
101 target: _blank
102 to: https://content.nuxt.com/studio
103 ---
104 #title
105 Edit in production with [Nuxt Studio]{.text-primary}
106
107 #description
108 Edit your content in production with zero Markdown knowledge required. Let your non technical colleagues collaborate on the documentation and integrate Vue components without code skills.
109 :::
110
111 :::u-page-feature
112 ---
113 icon: i-simple-icons-nuxt
114 target: _blank
115 to: https://ui.nuxt.com/components/content-search
116 ---
117 #title
118 Built-in navigation and [full-text search]{.text-primary}
119
120 #description
121 Only focus on ordering your content, Docus handles the search modal and auto-generates the side navigation for you.
122 :::
123::
.starters/i18n/content/fr/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Bien démarrer
2icon: false
.starters/i18n/content/fr/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1---
2title: Introduction
3description: Bienvenue dans la documentation du thème Docus.
4navigation:
5 icon: i-lucide-house
6seo:
7 title: Introduction
8 description: Découvrez comment créer, gérer et publier une documentation facilement avec Docus.
9---
10
11Bienvenue sur **Docus**, une solution de documentation entièrement intégrée construite avec [Nuxt UI](https://ui.nuxt.com).
12
13## Qu'est-ce que Docus ?
14
15Docus est un thème basé sur le [template de documentation UI](https://docs-template.nuxt.dev/). Le style visuel est prêt à l'emploi, votre priorité doit être d'écrire du contenu en utilisant la syntaxe Markdown et [MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax) fournie par [Nuxt Content](https://content.nuxt.com).
16
17Nous utilisons ce thème pour toutes nos documentations de modules Nuxt, y compris :
18
19::card-group
20 :::card
21 ---
22 icon: i-lucide-image
23 target: _blank
24 title: Nuxt Image
25 to: https://image.nuxt.com
26 ---
27 La documentation de `@nuxt/image`
28 :::
29
30 :::card
31 ---
32 icon: i-simple-icons-nuxtdotjs
33 target: _blank
34 title: Nuxt Content
35 to: https://content.nuxt.com
36 ---
37 La documentation de `@nuxt/content`
38 :::
39
40 :::card
41 ---
42 icon: i-simple-icons-supabase
43 target: _blank
44 title: Nuxt Supabase
45 to: https://supabase.nuxtjs.org
46 ---
47 La documentation de `@nuxt/supabase`
48 :::
49
50 :::card
51 ---
52 icon: i-simple-icons-strapi
53 target: _blank
54 title: Nuxt Strapi
55 to: https://strapi.nuxtjs.org
56 ---
57 La documentation de `@nuxt/strapi`
58 :::
59::
60
61## Fonctionnalités clés
62
63Ce thème inclut de nombreuses fonctionnalités pour améliorer la gestion de votre documentation :
64
65- **Propulsé par** **[Nuxt 4](https://nuxt.com)** : Utilise le dernier framework Nuxt pour des performances optimales.
66- **Construit avec** **[Nuxt UI](https://ui.nuxt.com)**: Intègre une suite complète de composants UI.
67- **[Syntaxe MDC](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)** : Prend en charge le Markdown avec intégration de composants pour du contenu dynamique.
68- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible** : Rédigez et éditez votre contenu visuellement. Aucune connaissance Markdown requise !
69- **Navigation latérale auto-générée** : Génère automatiquement la navigation à partir de la structure du contenu.
70- **Recherche plein texte** : Fonctionnalité de recherche intégrée pour découvrir le contenu.
71- **Typographie optimisée** : Typographie raffinée pour une meilleure lisibilité.
72- **Mode sombre** : Prend en charge le mode sombre selon la préférence utilisateur.
73- **Fonctionnalités étendues** : Explorez le thème pour découvrir toutes ses capacités.
.starters/i18n/content/fr/1.getting-started/3.installation.md+58−0
@@ -0,0 +1,58 @@
1---
2title: Installation
3description: Commencez avec Docus.
4navigation:
5 icon: i-lucide-download
6seo:
7 description: Démarrez avec le thème de documentation Docus.
8 title: Installation
9---
10
11## CLI `create-docus`
12
13::steps
14### Créez votre dossier de documentation
15
16Utilisez le CLI `create-docus` pour créer un nouveau projet Docus :
17
18```bash [Terminal]
19npx create-docus my-docs
20```
21
22Vous pouvez choisir entre deux templates:
23
24- `default` : Configuration Docus de base pour une documentation monolingue
25- `i18n` : Inclut le support d'internationalisation pour une documentation multilingue
26
27```bash [Terminal]
28# Créer avec le modèle i18n
29npx create-docus my-docs -t i18n
30```
31
32Nous recommandons d'utiliser le gestionnaire de paquets `npm`.
33
34### Démarrez votre serveur de documentation en mode développement
35
36Déplacez-vous dans votre dossier de documentation et démarrez votre serveur:
37
38```bash [Terminal]
39cd my-docs
40npm run dev
41```
42
43Un aperçu de votre documentation sera disponible sur <http://localhost:3000>
44
45### Rédigez votre documentation
46
47Rendez-vous dans la section [Syntaxe Markdown](/fr/essentials/markdown-syntax) pour apprendre à rédiger votre documentation.
48::
49
50## Intégration du layer Docus
51
52Docus v4 utilise une **approche basée sur les layers Nuxt**, vous pouvez étendre le layer Docus directement dans votre `nuxt.config.ts` avec `extends: ['docus']` :
53
54```ts [nuxt.config.ts]
55export default defineNuxtConfig({
56 extends: ['docus']
57})
58```
.starters/i18n/content/fr/1.getting-started/4.project-structure.md+157−0
@@ -0,0 +1,157 @@
1---
2title: Structure du projet
3description: Comprendre la structure de projet de Docus v4.
4navigation:
5 icon: i-lucide-folder-tree
6---
7
8## Structure globale
9
10Docus est un **layer Nuxt** qui étend votre application Nuxt standard avec des fonctionnalités de documentation. Cela vous donne la flexibilité d'un projet Nuxt classique.
11
12Lorsque vous créez un nouveau projet Docus avec `npx create-docus my-docs`, voici la structure de base:
13
14```bash
15my-docs/
16├── content/ # Votre contenu markdown
17│ ├── index.md # Page d'accueil
18│ └── docs/ # Pages de documentation
19├── public/ # Ressources statiques
20└── package.json # Dépendances et scripts
21```
22
23Vous pouvez toujours utiliser n'importe quelle fonctionnalité ou fichier d'un projet Nuxt classique :
24
25```bash
26my-docs/
27├── nuxt.config.ts # Configuration Nuxt (ajouter des modules, composants...)
28├── app/ # Répertoire app
29 ├── app.config.ts # App configuration
30│ ├── components/ # Composants (ajoutez vos propres composants)
31│ ├── layouts/ # Layouts (ajoutez vos propres layouts)
32│ └── pages/ # Pages (ajoutez vos propres pages)
33└── server/ # Code côté serveur (ajoutez votre propre code côté serveur)
34```
35
36### Répertoire `content/`
37
38C'est ici que vous rédigez vos pages en Markdown. Docus génère automatiquement les routes basées sur votre structure de fichiers.
39
40**Structure monolingue :**
41
42```bash
43content/
44├── index.md # Page d'accueil (/)
45├── getting-started.md # Page de documentation (/getting-started)
46└── guide/
47 ├── introduction.md # Page de documentation (/guide/introduction)
48 └── configuration.md # Page de documentation (/guide/configuration)
49```
50
51::tip
52Vous pouvez séparer vos fichiers de documentation dans un sous-dossier `docs/` pour les rendre accessibles à la route `/docs`. De plus, vous avez la flexibilité de remplacer votre page d'accueil en utilisant des pages Vue personnalisées si désiré. En savoir plus dans la [documentation d'édition](https://docus.dev/concepts/edition).
53::
54
55**Structure multilingue (avec i18n) :**
56
57```bash
58content/
59├── en/
60│ ├── index.md # Page d'accueil anglaise (/en)
61│ └── guide/
62│ └── introduction.md # Page de documentation (/en/guide/introduction)
63└── fr/
64 ├── index.md # Page d'accueil française (/fr)
65 └── guide/
66 └── introduction.md # Page de documentation (/fr/guide/introduction)
67```
68
69::tip{to="https://docus.dev/concepts/internationalization"}
70Plus d'informations sur i18n sont disponibles dans la section internationalisation.
71::
72
73### Répertoire `public/`
74
75Les fichiers contenus dans le répertoire `public/` sont servis à la racine et ne sont pas modifiés par le processus de build. C'est ici que vous pouvez placer vos images, icônes et autres ressources statiques.
76
77### `package.json`
78
79Ce fichier contient toutes les dépendances et scripts de votre application. Le `package.json` d'une application Docus est vraiment minimal et ressemble à :
80
81```json [package.json]
82{
83 "name": "my-docs",
84 "scripts": {
85 "build": "nuxt build --extends docus",
86 "dev": "nuxt dev --extends docus",
87 },
88 "dependencies": {
89 "docus": "latest",
90 "better-sqlite3": "^12.2.0",
91 "nuxt": "^4.0.0"
92 }
93}
94```
95
96### `nuxt.config.ts`
97
98*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
99
100Vous pouvez ajouter des modules supplémentaires à votre fichier de configuration Nuxt :
101
102```typescript [nuxt.config.ts]
103export default defineNuxtConfig({
104 extends: ['@vercel/analytics/nuxt/module']
105})
106```
107
108### `app.config.ts`
109
110*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
111
112::warning
113Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app config. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
114::
115
116C'est ici que vous pouvez configurer Docus pour l'adapter à votre marque, gérer le SEO, définir votre locale et adapter les liens et réseaux sociaux. Consultez la [documentation de configuration](https://docus.dev/concepts/configuration) pour plus de détails.
117
118```ts [app.config.ts]
119export default defineAppConfig({
120 docus: {
121 locale: 'fr', // Définir votre locale monolingue
122 },
123 seo: {
124 title: 'Ma Documentation',
125 description: 'Ma super documentation',
126 },
127 // ... autres configurations
128})
129```
130
131## Structure complète d'un projet Nuxt
132
133Puisque Docus est un layer Nuxt, vous pouvez utiliser **n'importe quelle fonctionnalité** d'un projet Nuxt standard :
134
135::warning
136Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app Nuxt. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
137::
138
139```bash
140my-docs/
141├── app/ # Répertoire app (optionnel)
142│ ├── app.config.ts # App configuration
143│ ├── components/ # Composants Vue personnalisés
144│ ├── layouts/ # Layouts personnalisés
145│ ├── pages/ # Pages Vue personnalisées (en dehors du contenu)
146│ ├── composables/ # Composables Vue
147│ └── middleware/ # Middleware de route
148├── server/ # Code côté serveur
149│ └── api/ # Routes API
150├── plugins/ # Plugins Nuxt
151├── middleware/ # Middleware global
152└── modules/ # Modules Nuxt personnalisés
153```
154
155::tip{to="https://docus.dev/concepts/nuxt"}
156Cette approche basée sur les layers offre toutes les fonctionnalités d'un projet Nuxt classique.
157::
.starters/i18n/content/fr/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1---
2title: Module Studio
3description: Éditez votre site Nuxt Content directement en production avec l'éditeur web Studio auto-hébergé.
4navigation:
5 icon: i-lucide-mouse-pointer-2
6 title: Module Studio
7seo:
8 title: Éditeur web Nuxt Studio
9 description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
10icon:
11 i-lucide-mouse-pointer-2 title: Éditeur web
12 seo:
13 title: Module Nuxt Studio
14 description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
15---
16
17Le module **Nuxt Studio** est une interface accessible depuis le navigateur permettant d'éditer votre site Nuxt Content directement en production. Accédez-y via une authentification GitHub, GitLab ou Google sur votre site déployé, et commencez à gérer votre contenu sans aucun outil de développement local.
18
19::tip{to="https://nuxt.studio/introduction"}
20Consultez la documentation de Nuxt Studio pour apprendre comment installer le module.
21::
22
23:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24
25L'**éditeur Studio** vous permet de gérer entièrement votre contenu depuis votre navigateur sur votre site en production. Pas besoin d'outils de développement local, de commandes Git ou d'accès au terminal. C'est idéal pour les équipes de contenu qui souhaitent éditer et prévisualiser leurs modifications dans un environnement familier.
26
27## Édition visuelle en production pour votre site Nuxt Content
28
29Nuxt Studio offre une **édition visuelle directement en production** pour les sites propulsés par Nuxt Content.
30
31Initialement proposé comme une plateforme premium autonome, Studio est désormais un **module Nuxt gratuit, open-source et auto-hébergeable**. Il permet à toute votre équipe, développeurs comme éditeurs non-techniques, de créer et mettre à jour du contenu en toute sécurité sans quitter votre site en ligne.
32
33## Fonctionnalités actuelles
34
35### ✨ **Éditeur visuel TipTap**
36
37Éditeur Markdown enrichi avec prise en charge complète des composants MDC.
38
39### 💻 **Éditeur de code Monaco**
40
41Éditeur de code avancé pour les fichiers Markdown (MDC), YAML et JSON si vous souhaitez éditer le code brut.
42
43### 📝 **Éditeur basé sur des formulaires**
44
45Éditez les fichiers YAML, JSON et le frontmatter à l'aide de formulaires générés automatiquement selon les schémas de collections.
46
47### 🎨 **Éditeur de props de composants Vue**
48
49Interface visuelle pour éditer les props des composants Vue directement depuis l'éditeur.
50
51### 🔄 **Prévisualisation en temps réel**
52
53Prévisualisez instantanément les modifications de contenu sur votre site en production.
54
55### 🔐 **Authentification multi-fournisseurs**
56
57Authentification OAuth sécurisée avec GitHub, GitLab et Google.
58
59### 🔑 **Authentification personnalisée**
60
61Utilitaires pour implémenter des flux d'authentification personnalisés (mot de passe, SSO, LDAP, etc.).
62
63### 📝 **Gestion des fichiers**
64
65Créez, éditez, renommez et supprimez des fichiers de contenu dans le répertoire `content/`.
66
67### 🖼 **Gestion des médias**
68
69Bibliothèque de médias centralisée avec prise en charge des formats JPEG, PNG, GIF, WebP, AVIF, SVG et plus encore.
70
71### 🌳 **Intégration Git**
72
73Commitez les modifications de contenu directement depuis la production et appuyez-vous sur votre pipeline CI/CD pour les déployer.
74
75### 🚀 **Mode développement**
76
77Éditez les fichiers de contenu et de médias directement depuis votre système de fichiers local via l'interface Studio.
78
79### 🌍 **Internationalisation**
80
81Prise en charge complète de l'i18n pour 17 langues : AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82
83## Fonctionnalités à venir
84
85### 📂 **Vue des collections**
86
87Gérez et naviguez dans toutes les collections de contenu depuis une interface unifiée.
88
89### 🖼 **Optimisation des médias**
90
91Optimisez les images et ressources médias directement dans l'éditeur.
92
93### 🤖 **Assistant IA pour le contenu**
94
95Obtenez des suggestions intelligentes alimentées par l'IA pour améliorer et accélérer la création de contenu.
96
97### 💡 **Fonctionnalités pilotées par la communauté**
98
99Vous avez une idée ? Partagez vos retours et contribuez à façonner l'avenir de Nuxt Studio.
.starters/i18n/content/fr/1.getting-started/6.migration.md+41−0
@@ -0,0 +1,41 @@
1---
2title: Migration
3description: Comment migrer votre documentation d'une solution Markdown existante vers Docus
4navigation:
5 icon: i-lucide-replace
6---
7
8## **Migration de Docus v3 vers v4**
9
10Docus v4 introduit une nouvelle version qui exploite le CLI Nuxt au lieu du CLI Docus. Votre contenu et vos configurations existants restent compatibles, il suffit simplement de mettre à jour la commande pour lancer le serveur ou le build.
11
12### ⚠️ Breaking changes
13
14Les principaux changements cassants sont liés aux commandes CLI :
15
16| v3 | v4 |
17| ------------------------ | --------------------------- |
18| `npx docus init my-docs` | `npx create-docus my-docs` |
19| `docus dev` | `nuxt dev --extends docus` |
20| `docus build` | `nuxt build --extends docus` |
21
22::tip
23Votre contenu Markdown existant fonctionnera sans changements. La migration concerne principalement la mise à jour de votre workflow de développement et de build.
24::
25
26## **Migrer vers Docus**
27
28Vous utilisez déjà une solution basée sur Markdown pour votre documentation ? Que ce soit **Docus v1**, le **template de docs Nuxt UI**, ou une autre solution de site statique, migrer vers Docus est simple et direct.
29
30Docus offre une solution propre et maintenable avec une seule dépendance : la bibliothèque Docus elle-même. Plus besoin de gérer de multiples dépendances. Tout est intégré et maintenu ensemble, ce qui facilite la mise à jour de votre documentation.
31
32Pour migrer, déplacez simplement vos fichiers Markdown existants dans le dossier `content/` du starter Docus.
33
34À partir de là, deux scénarios :
35
36- **Si votre documentation actuelle utilise déjà Nuxt Content et la syntaxe MDC**, assurez-vous que les composants utilisés existent dans Nuxt UI. Si certains composants manquent, vous pouvez facilement créer les vôtres.
37- **Si vous utilisez du Markdown standard**, vous pouvez copier vos fichiers tels quels. Ensuite, améliorez progressivement votre documentation en utilisant les composants intégrés fournis par Nuxt UI.
38
39Une fois votre contenu déplacé dans le dossier `content/`, vous pouvez personnaliser votre application en suivant la [documentation de configuration](https://docus.dev/concepts/configuration).
40
41Docus est conçu pour se concentrer sur la rédaction de contenu, donc si vous utilisez déjà Markdown, vous pouvez facilement passer à Docus.
.starters/i18n/content/fr/1.getting-started/7.troubleshooting.md+31−0
@@ -0,0 +1,31 @@
1---
2title: Dépannage
3description: Problèmes courants et solutions liés à Docus.
4navigation:
5 icon: i-lucide-wrench
6seo:
7 description: Guide de dépannage pour les problèmes courants de Docus.
8 title: Dépannage
9---
10
11## Problèmes avec `pnpm`
12
13Si vous rencontrez des erreurs lors du build ou du développement avec `pnpm`, en particulier liées à la dépendance `better-sqlite3`, il se peut que vous deviez approuver certains paquets pour qu’ils puissent être compilés.
14
15Exécutez la commande suivante pour approuver les paquets à compiler:
16
17```bash [Terminal]
18pnpm approve-builds
19```
20
21Lorsque vous y êtes invité, sélectionnez `better-sqlite3` et `sharp` dans la liste des packages pour l'approuver pour la compilation.
22
23### Activer le *shameful hoisting* (mode compatibilité)
24
25Si vous voyez des erreurs du type `Can't resolve 'tailwindcss'` ou `Can't resolve '@nuxt/ui'`, vous n’avez pas forcément besoin de les importer. Vous pouvez simplement appliquer une structure flat des `node_modules` (comme avec npm ou yarn).
26
27Vous pouvez activer le mode compatibilité en créant un fichier `.npmrc` contenant :
28
29```js
30shamefully-hoist=true
31```
.starters/i18n/content/fr/2.essentials/.navigation.yml+1−0
@@ -0,0 +1 @@
1title: Essentiels
.starters/i18n/content/fr/2.essentials/1.markdown-syntax.md+224−0
@@ -0,0 +1,224 @@
1---
2title: Syntaxe Markdown
3description: Texte, titres et mise en forme en markdown standard.
4navigation:
5 icon: i-lucide-heading-1
6links: []
7---
8
9## Titres
10
11Utilisez des titres pour introduire les sections principales. Ils structurent votre documentation et aident les utilisateurs à naviguer dans le contenu.
12
13::code-preview
14---
15class: "[&>div]:*:my-0"
16---
17## Titres
18
19#code
20```mdc
21## Titres
22```
23::
24
25### Sous-titres
26
27Utilisez des sous-titres pour diviser davantage les sections. Ils créent une hiérarchie de contenu plus détaillée pour une meilleure lisibilité.
28
29::code-preview
30---
31class: "[&>div]:*:my-0"
32---
33### Sous-titres
34
35#code
36```mdc
37### Sous-titres
38```
39::
40
41::tip
42Chaque titre et sous-titre crée une ancre et apparaît automatiquement dans la table des matières.
43::
44
45## Mise en forme du texte
46
47Docus prend en charge la plupart des options de mise en forme Markdown.
48
49| Style | Syntaxe | Résultat |
50| -------- | ------------ | ---------- |
51| Gras | `**gras**` | **Gras** |
52| Italique | `*italique*` | *Italique* |
53| Barré | `~~barré~~` | ~~Barré~~ |
54
55Combinez les styles pour enrichir le texte et mettre en valeur des éléments.
56
57| Style | Syntaxe | Résultat |
58| -------------- | --------------------- | ------------------- |
59| Gras Italique | `**_gras italique_**` | ***Gras Italique*** |
60| Gras Barré | `~~**gras**~~` | ~~**Gras**~~ |
61| Italique Barré | `~~*italique*~~` | ~~*Italique*~~ |
62
63## Liens
64
65Les liens relient différentes parties de votre documentation et des ressources externes, essentiels pour la navigation et les références.
66Pour créer un lien, entourez le texte du lien avec des crochets `[]()`.
67
68::code-preview
69---
70class: "[&>div]:*:my-0"
71---
72[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
73
74#code
75```mdc
76[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
77```
78::
79
80### Liens internes
81
82Pour lier des pages de votre documentation, utilisez des chemins relatifs à la racine comme `/getting-started/installation`.
83
84::code-preview
85---
86class: "[&>div]:*:my-0"
87---
88[Installation](/fr/getting-started/installation)
89
90#code
91```mdc
92[Installation](/fr/getting-started/installation)
93```
94::
95
96## Listes
97
98Organisez des éléments liés dans un format structuré et lisible. Markdown prend en charge les listes non ordonnées, ordonnées et imbriquées pour divers besoins.
99
100### Non ordonnée
101
102Utilisez des listes non ordonnées pour des éléments sans ordre particulier. Commencez chaque élément par un symbole `-`.
103
104::code-preview
105---
106class: "[&>div]:*:my-0"
107---
108- Je suis un élément de liste.
109- Je suis un autre élément de liste.
110- Je suis le dernier élément de liste.
111
112#code
113```mdc
114- Je suis un élément de liste.
115- Je suis un autre élément de liste.
116- Je suis le dernier élément de liste.
117```
118::
119
120### Ordonnée
121
122Utilisez des listes ordonnées lorsque l'ordre des éléments est important, comme des étapes d'un processus. Commencez chaque élément par un numéro.
123
124::code-preview
125---
126class: "[&>div]:*:my-0"
127---
1281. Je suis un élément de liste.
1292. Je suis un autre élément de liste.
1303. Je suis le dernier élément de liste.
131
132#code
133```mdc
1341. Je suis un élément de liste.
1352. Je suis un autre élément de liste.
1363. Je suis le dernier élément de liste.
137```
138::
139
140### Imbriquée
141
142Créez des listes hiérarchiques avec des sous-éléments pour des structures complexes. Indentez les sous-éléments de quatre espaces pour l'imbrication.
143
144::code-preview
145---
146class: "[&>div]:*:my-0"
147---
148- Je suis un élément de liste.
149 - Je suis un élément de liste imbriqué.
150 - Je suis un autre élément de liste imbriqué.
151- Je suis un autre élément de liste.
152
153#code
154```mdc
155- Je suis un élément de liste.
156 - Je suis un élément de liste imbriqué.
157 - Je suis un autre élément de liste imbriqué.
158- Je suis un autre élément de liste.
159```
160::
161
162## Tableaux
163
164Présentez des données structurées en lignes et colonnes. Les tableaux sont idéaux pour comparer des données ou lister des propriétés.
165
166::code-preview
167---
168class: "[&>div]:*:my-0 [&>div]:*:w-full"
169---
170| Prop | Défaut | Type |
171| ------- | --------- | -------- |
172| `name` | | `string` |
173| `size` | `md` | `string` |
174| `color` | `neutral` | `string` |
175
176#code
177```mdc
178| Prop | Défaut | Type |
179|---------|-----------|--------------------------|
180| `name` | | `string`{lang="ts-type"} |
181| `size` | `md` | `string`{lang="ts-type"} |
182| `color` | `neutral` | `string`{lang="ts-type"} |
183```
184::
185
186## Citations
187
188Mettez en avant des citations, références ou textes importants. Les citations distinguent visuellement le contenu cité.
189
190### Une ligne
191
192Les citations sur une seule ligne sont idéales pour des citations courtes et percutantes. Ajoutez un `>` devant un paragraphe. Idéal pour les citations courtes.
193
194::code-preview
195---
196class: "[&>div]:*:my-0"
197---
198> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
199
200#code
201```mdc
202> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
203```
204::
205
206### Multiligne
207
208Les citations multiligne conviennent aux citations plus longues ou pour inclure plusieurs paragraphes dans une seule citation.
209
210::code-preview
211---
212class: "[&>div]:*:my-0"
213---
214> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
215>
216> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
217
218#code
219```mdc
220> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
221>
222> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
223```
224::
.starters/i18n/content/fr/2.essentials/2.code-blocks.md+398−0
@@ -0,0 +1,398 @@
1---
2title: Blocs de code
3description: Affichez du code en ligne et des blocs de code dans votre documentation.
4links: []
5navigation:
6 icon: i-lucide-code-xml
7---
8
9## Basique
10
11### Code en ligne
12
13Utilisez le code en ligne pour afficher des extraits de code dans les paragraphes. Idéal pour référencer des éléments de code directement dans les phrases.
14
15::code-preview
16---
17class: "[&>div]:*:my-0"
18---
19`code en ligne`
20
21#code
22```mdc
23`code en ligne`
24```
25::
26
27### Blocs de code
28
29Utilisez les blocs de code pour afficher des extraits de code multi-lignes avec coloration syntaxique. Les blocs de code sont essentiels pour présenter clairement des exemples de code.
30
31::code-preview
32---
33class: "[&>div]:*:my-0 [&>div]:*:w-full"
34---
35```ts
36export default defineNuxtConfig({
37 modules: ['@nuxt/ui']
38})
39```
40
41#code
42````mdc
43```ts
44export default defineNuxtConfig({
45 modules: ['@nuxt/ui']
46})
47```
48````
49::
50
51Lorsque vous écrivez un bloc de code, vous pouvez spécifier un nom de fichier qui sera affiché au-dessus du bloc. Une icône sera automatiquement affichée selon l'extension ou le nom.
52Les noms de fichiers aident les utilisateurs à comprendre l'emplacement et le but du code dans un projet.
53
54::code-preview
55---
56class: "[&>div]:*:my-0 [&>div]:*:w-full"
57---
58```ts [nuxt.config.ts]
59export default defineNuxtConfig({
60 modules: ['@nuxt/ui']
61})
62```
63
64#code
65````mdc
66```ts [nuxt.config.ts]
67export default defineNuxtConfig({
68 modules: ['@nuxt/ui']
69})
70```
71````
72::
73
74Chaque bloc de code possède un bouton de copie intégré qui permet de copier le code dans le presse-papiers.
75
76::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
77Les icônes sont déjà définies par défaut, mais vous pouvez les personnaliser dans votre `app.config.ts` :
78
79```ts [app.config.ts]
80export default defineAppConfig({
81 ui: {
82 prose: {
83 codeIcon: {
84 terminal: 'i-ph-terminal-window-duotone'
85 }
86 }
87 }
88})
89```
90::
91
92## Avancé
93
94### CodeGroup
95
96Groupez des blocs de code dans des onglets avec `code-group`. `code-group` est parfait pour montrer des exemples de code dans plusieurs langages ou gestionnaires de paquets.
97
98::code-preview
99---
100class: "[&>div]:*:my-0 [&>div]:*:w-full"
101---
102 :::code-group{.w-full}
103 ```bash [pnpm]
104 pnpm add @nuxt/ui
105 ```
106
107 ```bash [yarn]
108 yarn add @nuxt/ui
109 ```
110
111 ```bash [npm]
112 npm install @nuxt/ui
113 ```
114
115 ```bash [bun]
116 bun add @nuxt/ui
117 ```
118 :::
119
120#code
121````mdc
122::code-group
123
124```bash [pnpm]
125pnpm add @nuxt/ui
126```
127
128```bash [yarn]
129yarn add @nuxt/ui
130```
131
132```bash [npm]
133npm install @nuxt/ui
134```
135
136```bash [bun]
137bun add @nuxt/ui
138```
139
140::
141````
142::
143
144### CodeTree
145
146Affichez des blocs de code dans une vue arborescente avec `code-tree`. `code-tree` est excellent pour présenter des structures de projet et des relations de fichiers.
147
148::code-preview
149---
150class: "[&>div]:*:my-0 [&>div]:*:w-full"
151---
152 :::code-tree{default-value="app/app.config.ts"}
153 ```ts [nuxt.config.ts]
154 export default defineNuxtConfig({
155 modules: ['@nuxt/ui'],
156
157 css: ['~/assets/css/main.css']
158 })
159 ```
160
161 ```css [app/assets/css/main.css]
162 @import "tailwindcss";
163 @import "@nuxt/ui";
164 ```
165
166 ```ts [app/app.config.ts]
167 export default defineAppConfig({
168 ui: {
169 colors: {
170 primary: 'sky',
171 colors: 'slate'
172 }
173 }
174 })
175 ```
176
177 ```vue [app/app.vue]
178 <template>
179 <UApp>
180 <NuxtPage />
181 </UApp>
182 </template>
183 ```
184
185 ```json [package.json]
186 {
187 "name": "nuxt-app",
188 "private": true,
189 "type": "module",
190 "scripts": {
191 "build": "nuxt build",
192 "dev": "nuxt dev",
193 "generate": "nuxt generate",
194 "preview": "nuxt preview",
195 "postinstall": "nuxt prepare",
196 "lint": "eslint .",
197 "lint:fix": "eslint --fix ."
198 },
199 "dependencies": {
200 "@iconify-json/lucide": "^1.2.18",
201 "@nuxt/ui": "^4.0.0",
202 "nuxt": "^4.1.0"
203 },
204 "devDependencies": {
205 "eslint": "^9.34.0",
206 "typescript": "^5.9.3",
207 "vue-tsc": "^3.0.6"
208 }
209 }
210 ```
211
212 ```json [tsconfig.json]
213 {
214 "extends": "./.nuxt/tsconfig.json"
215 }
216 ```
217
218 ````md [README.md]
219 # Nuxt 4 Minimal Starter
220
221 Consultez la [documentation Nuxt 4](https://nuxt.com/docs/getting-started/introduction) pour en savoir plus.
222
223 ## Installation
224
225 Assurez-vous d'installer les dépendances :
226
227 ```bash
228 # npm
229 npm install
230
231 # pnpm
232 pnpm install
233
234 # yarn
235 yarn install
236
237 # bun
238 bun install
239 ```
240
241 ## Serveur de développement
242
243 Démarrez le serveur de développement sur `http://localhost:3000` :
244
245 ```bash
246 # npm
247 npm run dev
248
249 # pnpm
250 pnpm run dev
251
252 # yarn
253 yarn dev
254
255 # bun
256 bun run dev
257 ```
258
259 ## Production
260
261 Construisez l'application pour la production :
262
263 ```bash
264 # npm
265 npm run build
266
267 # pnpm
268 pnpm run build
269
270 # yarn
271 yarn build
272
273 # bun
274 bun run build
275 ```
276
277 Prévisualisez localement la build de production :
278
279 ```bash
280 # npm
281 npm run preview
282
283 # pnpm
284 pnpm run preview
285
286 # yarn
287 yarn preview
288
289 # bun
290 bun run preview
291 ```
292
293 Consultez la [documentation de déploiement](https://nuxt.com/docs/getting-started/deployment) pour plus d'informations.
294 ````
295 :::
296::
297
298### `CodePreview`
299
300Utilisez `code-preview` pour afficher le résultat du code à côté du code. `code-preview` est idéal pour les exemples interactifs et la démonstration de résultats de code.
301Écrivez le code à prévisualiser dans le slot `default` et le code réel dans le slot `code`.
302
303::code-preview
304---
305class: "[&>div]:*:my-0 [&>div]:*:w-full"
306label: Aperçu
307---
308 :::code-preview
309 ---
310 class: "[&>div]:*:my-0"
311 ---
312 `code en ligne`
313
314 #code
315 ```mdc
316 `code en ligne`
317 ```
318 :::
319
320#code
321````mdc
322::code-preview
323`code en ligne`
324
325#code
326```mdc
327`code en ligne`
328```
329::
330````
331::
332
333### `CodeCollapse`
334
335Utilisez `code-collapse` pour les longs blocs de code afin de garder les pages propres. `code-collapse` permet aux utilisateurs de déplier les blocs de code uniquement si besoin, améliorant ainsi la lisibilité.
336
337::code-preview
338---
339class: "[&>div]:*:my-0 [&>div]:*:w-full"
340---
341 :::code-collapse
342 ---
343 class: "[&>div]:my-0"
344 ---
345 ```css [main.css]
346 @import "tailwindcss";
347 @import "@nuxt/ui";
348
349 @theme {
350 --font-sans: 'Public Sans', sans-serif;
351
352 --breakpoint-3xl: 1920px;
353
354 --color-green-50: #EFFDF5;
355 --color-green-100: #D9FBE8;
356 --color-green-200: #B3F5D1;
357 --color-green-300: #75EDAE;
358 --color-green-400: #00DC82;
359 --color-green-500: #00C16A;
360 --color-green-600: #00A155;
361 --color-green-700: #007F45;
362 --color-green-800: #016538;
363 --color-green-900: #0A5331;
364 --color-green-950: #052E16;
365 }
366 ```
367 :::
368
369#code
370````mdc
371::code-collapse
372
373```css [main.css]
374@import "tailwindcss";
375@import "@nuxt/ui";
376
377@theme {
378--font-sans: 'Public Sans', sans-serif;
379
380--breakpoint-3xl: 1920px;
381
382--color-green-50: #EFFDF5;
383--color-green-100: #D9FBE8;
384--color-green-200: #B3F5D1;
385--color-green-300: #75EDAE;
386--color-green-400: #00DC82;
387--color-green-500: #00C16A;
388--color-green-600: #00A155;
389--color-green-700: #007F45;
390--color-green-800: #016538;
391--color-green-900: #0A5331;
392--color-green-950: #052E16;
393}
394```
395
396::
397````
398::
.starters/i18n/content/fr/2.essentials/3.components.md+421−0
@@ -0,0 +1,421 @@
1---
2title: Composants Markdown
3description: Utilisez les composants Markdown pour structurer votre contenu, avec l'aide de Nuxt UI.
4navigation:
5 icon: i-lucide-component
6 title: Composants
7---
8
9Les composants prose sont des remplacements pour les balises de typographie HTML. Ils offrent un moyen simple de personnaliser votre interface lors de l'utilisation de Markdown.
10
11**Docus et Nuxt UI** fournissent un ensemble de composants prose stylés et élégants pour vous aider à rédiger votre documentation avec la [syntaxe MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
12
13::note{to="https://ui.nuxt.com/getting-started"}
14Cette page met en avant uniquement les composants prose les plus adaptés à la rédaction de documentation. Cependant, vous pouvez utiliser **n'importe quel composant Nuxt UI** dans votre Markdown. Pour la liste complète des composants disponibles, consultez la documentation Nuxt UI.
15::
16
17### `Accordion`
18
19Utilisez les composants `accordion` et `accordion-item` pour afficher un [Accordion](https://ui.nuxt.com/components/accordion) dans votre contenu.
20
21::tabs
22 :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
23 ::::accordion
24 :::::accordion-item
25 ---
26 icon: i-lucide-circle-help
27 label: Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?
28 ---
29 Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
30 :::::
31
32 :::::accordion-item
33 ---
34 icon: i-lucide-circle-help
35 label: Comment démarrer avec Docus ?
36 ---
37 La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
38 :::::
39
40 :::::accordion-item{icon="i-lucide-circle-help" label="Qu'est-ce que Nuxt UI ?"}
41 Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
42 :::::
43 ::::
44 :::
45
46 :::tabs-item{icon="i-lucide-code" label="Code"}
47 ```mdc
48 ::accordion
49
50 :::accordion-item{label="Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?" icon="i-lucide-circle-help"}
51 Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
52 :::
53
54 :::accordion-item{label="Comment démarrer avec Docus ?" icon="i-lucide-circle-help"}
55 La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
56 :::
57
58 :::accordion-item{label="Qu'est-ce que Nuxt UI ?" icon="i-lucide-circle-help"}
59 Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
60 :::
61 ::
62 ```
63 :::
64::
65
66### `Badge`
67
68Utilisez du markdown dans le slot par défaut du composant `badge` pour afficher un [Badge](https://ui.nuxt.com/components/badge) dans votre contenu.
69
70::tabs
71 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
72 ::::badge
73 **v3.0.0**
74 ::::
75 :::
76
77 :::tabs-item{icon="i-lucide-code" label="Code"}
78 ```mdc
79 ::badge
80 **v3.0.0**
81 ::
82 ```
83 :::
84::
85
86### `Callout`
87
88Utilisez du markdown dans le slot par défaut du composant `callout` pour ajouter un contexte visuel à votre contenu.
89
90Utilisez les props `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
91
92Vous pouvez également utiliser les raccourcis `note`, `tip`, `warning` et `caution` avec des icônes et couleurs prédéfinies.
93
94::tabs
95 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
96 ::::div{.flex.flex-col.gap-4.w-full}
97 :::::note{.w-full.my-0}
98 Voici des informations supplémentaires pour vous.
99 :::::
100
101 :::::tip{.w-full.my-0}
102 Voici une suggestion utile.
103 :::::
104
105 :::::warning{.w-full.my-0}
106 Faites attention à cette action car elle pourrait avoir des résultats inattendus.
107 :::::
108
109 :::::caution{.w-full.my-0}
110 Cette action est irréversible.
111 :::::
112 ::::
113 :::
114
115 :::tabs-item{icon="i-lucide-code" label="Code"}
116 ```mdc
117 ::note
118 Voici des informations supplémentaires.
119 ::
120
121 ::tip
122 Voici une suggestion utile.
123 ::
124
125 ::warning
126 Faites attention à cette action car elle pourrait avoir des résultats inattendus.
127 ::
128
129 ::caution
130 Cette action est irréversible.
131 ::
132 ```
133 :::
134::
135
136### `Card` et `CardGroup`
137
138Utilisez du markdown dans le slot par défaut du composant `card` pour mettre en avant votre contenu.
139
140Utilisez les props `title`, `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
141
142Regroupez vos composants `card` avec le composant `card-group` pour les afficher en grille.
143
144::tabs
145 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
146 ::::card-group{.w-full.my-0}
147 :::::card
148 ---
149 icon: i-simple-icons-github
150 target: _blank
151 title: Tableau de bord
152 to: https://github.com/nuxt-ui-templates/dashboard
153 ---
154 Un tableau de bord avec une mise en page multi-colonnes.
155 :::::
156
157 :::::card
158 ---
159 icon: i-simple-icons-github
160 target: _blank
161 title: SaaS
162 to: https://github.com/nuxt-ui-templates/saas
163 ---
164 Un template avec landing, pricing, docs et blog.
165 :::::
166
167 :::::card
168 ---
169 icon: i-simple-icons-github
170 target: _blank
171 title: Docs
172 to: https://github.com/nuxt-ui-templates/docs
173 ---
174 Une documentation avec `@nuxt/content`.
175 :::::
176
177 :::::card
178 ---
179 icon: i-simple-icons-github
180 target: _blank
181 title: Landing
182 to: https://github.com/nuxt-ui-templates/landing
183 ---
184 Une page d'accueil à utiliser comme point de départ.
185 :::::
186 ::::
187 :::
188
189 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
190 ```mdc
191 :::card-group
192
193 ::card
194 ---
195 title: Tableau de bord
196 icon: i-simple-icons-github
197 to: https://github.com/nuxt-ui-templates/dashboard
198 target: _blank
199 ---
200 Un tableau de bord avec une mise en page multi-colonnes.
201 ::
202
203 ::card
204 ---
205 title: SaaS
206 icon: i-simple-icons-github
207 to: https://github.com/nuxt-ui-templates/saas
208 target: _blank
209 ---
210 Un template avec landing, pricing, docs et blog.
211 ::
212
213 ::card
214 ---
215 title: Docs
216 icon: i-simple-icons-github
217 to: https://github.com/nuxt-ui-templates/docs
218 target: _blank
219 ---
220 Une documentation avec `@nuxt/content`.
221 ::
222
223 ::card
224 ---
225 title: Landing
226 icon: i-simple-icons-github
227 to: https://github.com/nuxt-ui-templates/landing
228 target: _blank
229 ---
230 Une page d'accueil à utiliser comme point de départ.
231 ::
232
233 :::
234 ```
235 :::
236::
237
238### `Collapsible`
239
240Enveloppez votre contenu avec le composant `collapsible` pour afficher un [Collapsible](https://ui.nuxt.com/components/collapsible) dans votre contenu.
241
242::tabs
243 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
244 ::::collapsible
245 | Prop | Défaut | Type |
246 | ------- | --------- | -------- |
247 | `name` | | `string` |
248 | `size` | `md` | `string` |
249 | `color` | `neutral` | `string` |
250 ::::
251 :::
252
253 :::tabs-item{icon="i-lucide-code" label="Code"}
254 ```mdc
255 ::collapsible
256
257 | Prop | Défaut | Type |
258 |---------|-----------|--------------------------|
259 | `name` | | `string`{lang="ts-type"} |
260 | `size` | `md` | `string`{lang="ts-type"} |
261 | `color` | `neutral` | `string`{lang="ts-type"} |
262
263 ::
264 ```
265 :::
266::
267
268### `Field` et `FieldGroup`
269
270Un `field` est une prop ou un paramètre à afficher dans votre contenu. Vous pouvez les regrouper avec `field-group` dans une liste.
271
272::tabs
273 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
274 ::::field-group{.my-0}
275 :::::field{name="analytics" type="boolean"}
276 Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
277 :::::
278
279 :::::field{name="blob" type="boolean"}
280 Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
281 :::::
282
283 :::::field{name="cache" type="boolean"}
284 Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
285 :::::
286
287 :::::field{name="database" type="boolean"}
288 Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
289 :::::
290 ::::
291 :::
292
293 :::tabs-item{icon="i-lucide-code" label="Code"}
294 ```mdc
295 ::field-group
296 ::field{name="analytics" type="boolean"}
297 Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
298 ::
299
300 ::field{name="blob" type="boolean"}
301 Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
302 ::
303
304 ::field{name="cache" type="boolean"}
305 Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
306 ::
307
308 ::field{name="database" type="boolean"}
309 Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
310 ::
311 ::
312 ```
313 :::
314::
315
316### `Icon`
317
318Utilisez le composant `icon` pour afficher une [Icône](https://ui.nuxt.com/components/icon) dans votre contenu.
319
320::code-preview
321:icon{name="i-simple-icons-nuxtdotjs"}
322
323#code
324```mdc
325:icon{name="i-simple-icons-nuxtdotjs"}
326```
327::
328
329### `Kbd`
330
331Utilisez le composant `kbd` pour afficher un [Kbd](https://ui.nuxt.com/components/kbd) dans votre contenu.
332
333::code-preview
334#code
335```mdc
336:kbd{value="meta"} :kbd{value="K"}
337```
338::
339
340### `Tabs`
341
342Utilisez les composants `tabs` et `tabs-item` pour afficher des [Onglets](https://ui.nuxt.com/components/tabs) dans votre contenu.
343
344::code-preview
345 :::tabs{.w-full}
346 ::::tabs-item{icon="i-lucide-code" label="Code"}
347 ```mdc
348 ::callout
349 Lorem velit voluptate ex reprehenderit ullamco et culpa.
350 ::
351 ```
352 ::::
353
354 ::::tabs-item{icon="i-lucide-eye" label="Aperçu"}
355 :::::callout
356 Lorem velit voluptate ex reprehenderit ullamco et culpa.
357 :::::
358 ::::
359 :::
360
361#code
362````mdc
363::tabs{.w-full}
364 :::tabs-item{icon="i-lucide-code" label="Code"}
365 ```mdc
366 ::::callout
367 Lorem velit voluptate ex reprehenderit ullamco et culpa.
368 ::::
369 ```
370 ::::
371
372:::tabs-item{icon="i-lucide-eye" label="Aperçu"}
373 :::::callout
374 Lorem velit voluptate ex reprehenderit ullamco et culpa.
375 :::::
376:::
377::
378````
379::
380
381### `Steps`
382
383Enveloppez vos titres avec le composant Steps pour afficher une liste d'étapes.
384
385Utilisez la prop `level` pour définir quel titre sera utilisé pour les étapes.
386
387::tabs
388 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
389 ::::steps{level="4"}
390 #### Démarrer un nouveau projet
391
392 ```bash [Terminal]
393 npm create nuxt@latest -- -t github:nuxt-content/docus
394 ```
395
396 #### Lancer le CLI docus pour démarrer votre serveur de dev
397
398 ```bash [Terminal]
399 docus dev
400 ```
401 ::::
402 :::
403
404 :::tabs-item{icon="i-lucide-code" label="Code"}
405 ````mdc
406 ::steps{level="4"}
407 #### Démarrer un nouveau projet
408
409 ```bash [Terminal]
410 npm create nuxt@latest -- -t github:nuxt-content/docus
411 ```
412
413 #### Lancer le CLI docus pour démarrer votre serveur de dev
414
415 ```bash [Terminal]
416 docus dev
417 ```
418 ::
419 ````
420 :::
421::
.starters/i18n/content/fr/2.essentials/4.images-embeds.md+52−0
@@ -0,0 +1,52 @@
1---
2title: Images et intégrations
3description: Ajoutez des images, vidéos et autres éléments HTML
4navigation:
5 icon: i-lucide-image
6seo:
7 description: Ajoutez des images, vidéos et autres éléments HTML avec le thème Docus
8 title: Images et intégrations
9---
10
11## Markdown
12
13Affichez des images ou des vidéos en utilisant la syntaxe Markdown standard.
14
15### Images
16
17::code-preview
18![Image Nuxt Social](https://nuxt.com/new-social.jpg)
19
20#code
21```mdc
22![Image Nuxt Social](https://nuxt.com/new-social.jpg)
23```
24::
25
26Ou avec vos images locales
27
28::code-preview
29![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
30
31#code
32```mdc
33![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
34```
35::
36
37::note{to="https://image.nuxt.com/"}
38Docus utilisera le composant `<NuxtImg>` sous le capot à la place de la balise native `img`.
39::
40
41### Vidéos
42
43::code-preview
44:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
45
46#code
47```mdc
48:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
49```
50::
51
52###
.starters/i18n/content/fr/index.md+121−0
@@ -0,0 +1,121 @@
1---
2seo:
3 title: Rédigez votre documentation en Markdown
4 description: Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé. Docus intègre le meilleur de l'écosystème Nuxt.
5---
6
7::u-page-hero
8#title
9Créez votre documentation en Markdown
10
11#description
12Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé.
13
14Docus rassemble le meilleur de l'écosystème Nuxt en une seule CLI.
15
16#links
17 :::u-button
18 ---
19 color: neutral
20 size: xl
21 to: /fr/getting-started/installation
22 trailing-icon: i-lucide-arrow-right
23 ---
24 Commencer
25 :::
26
27 :::u-button
28 ---
29 color: neutral
30 icon: simple-icons-github
31 size: xl
32 to: https://github.com/nuxt-content/docus
33 variant: outline
34 ---
35 Voir sur GitHub
36 :::
37::
38
39::u-page-section
40#title
41Livré avec de nombreuses fonctionnalités
42
43#features
44 :::u-page-feature
45 ---
46 icon: i-simple-icons-nuxt
47 target: _blank
48 to: https://nuxt.com
49 ---
50 #title
51 Construit avec [Nuxt 4]{.text-primary}
52
53 #description
54 Optimisé par votre meta framework Vue préféré. Docus vous donne tout ce dont vous avez besoin pour créer des sites rapides, performants et optimisés pour le SEO.
55 :::
56
57 :::u-page-feature
58 ---
59 icon: i-simple-icons-nuxt
60 target: _blank
61 to: https://ui.nuxt.com/
62 ---
63 #title
64 Désigné par [Nuxt UI]{.text-primary}
65
66 #description
67 Sexy, minimaliste et personnalisable. Docus intègre Nuxt UI pour vous offrir la meilleure expérience pour écrire une documentation sans boilerplate, concentrez-vous simplement sur votre contenu.
68 :::
69
70 :::u-page-feature
71 ---
72 icon: i-simple-icons-nuxt
73 target: _blank
74 to: https://content.nuxt.com
75 ---
76 #title
77 Markdown amélioré par [Nuxt Content]{.text-primary}
78
79 #description
80 La seule chose dont vous devez vous soucier est d'écrire votre contenu. Rédigez vos pages en Markdown et intégrer des composants Nuxt UI ou des composants Vue personnalisés. La structure, le routing et le rendu sont gérés pour vous.
81 :::
82
83 :::u-page-feature
84 ---
85 icon: i-simple-icons-nuxt
86 target: _blank
87 to: https://nuxt.com/docs/guide/directory-structure/app-config
88 ---
89 #title
90 Personnalisation avec [Nuxt App Config]{.text-primary}
91
92 #description
93 Mettez à jour les couleurs, les liens sociaux, les logos ou même le style de vos composants globalement via le `app.config.ts`, sans modification directe du code.
94 :::
95
96 :::u-page-feature
97 ---
98 icon: i-simple-icons-nuxt
99 target: _blank
100 to: https://content.nuxt.com/studio
101 ---
102 #title
103 Éditez en production avec [Nuxt Studio]{.text-primary}
104
105 #description
106 Éditez votre contenu en production avec zéro connaissance de Markdown requise. Laissez vos collègues non techniques collaborer sur la documentation et intégrer des composants Vue sans compétences en code.
107 :::
108
109 :::u-page-feature
110 ---
111 icon: i-simple-icons-nuxt
112 target: _blank
113 to: https://ui.nuxt.com/components/content-search
114 ---
115 #title
116 Navigation intégrée et [recherche textuelle]{.text-primary}
117
118 #description
119 Concentrez-vous uniquement sur votre contenu, Docus génère automatiquement une modale de recherche et la navigation latérale pour vous.
120 :::
121::
.starters/i18n/nuxt.config.ts+14−0
@@ -0,0 +1,14 @@
1export default defineNuxtConfig({
2 extends: ['docus'],
3 modules: ['@nuxtjs/i18n'],
4 i18n: {
5 defaultLocale: 'en',
6 locales: [{
7 code: 'en',
8 name: 'English',
9 }, {
10 code: 'fr',
11 name: 'Français',
12 }],
13 },
14})
.starters/i18n/package.json+12−0
@@ -0,0 +1,12 @@
1{
2 "name": "docus-starter",
3 "scripts": {
4 "dev": "nuxt dev",
5 "build": "nuxt build"
6 },
7 "dependencies": {
8 "docus": "latest",
9 "better-sqlite3": "^12.11.1",
10 "nuxt": "^4.4.8"
11 }
12}
.starters/i18n/public/favicon.ico+0−0

Binary file not shown.

.starters/i18n/public/mountains.webp+0−0

Binary file not shown.

.starters/i18n/tsconfig.json+9−0
@@ -0,0 +1,9 @@
1{
2 "files": [],
3 "references": [
4 { "path": "./.nuxt/tsconfig.app.json" },
5 { "path": "./.nuxt/tsconfig.server.json" },
6 { "path": "./.nuxt/tsconfig.shared.json" },
7 { "path": "./.nuxt/tsconfig.node.json" }
8 ]
9}
LICENSE+22−0
@@ -0,0 +1,22 @@
1MIT License
2
3Copyright (c) 2026 Kris Yotam
4Copyright (c) NuxtLabs
5
6Permission is hereby granted, free of charge, to any person obtaining a copy
7of this software and associated documentation files (the "Software"), to deal
8in the Software without restriction, including without limitation the rights
9to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10copies of the Software, and to permit persons to whom the Software is
11furnished to do so, subject to the following conditions:
12
13The above copyright notice and this permission notice shall be included in all
14copies or substantial portions of the Software.
15
16THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22SOFTWARE.
README.md+120−0
@@ -0,0 +1,120 @@
1# Docs
2
3Personal documentation template for Kris Yotam projects.
4
5Clone it, set the brand name, write Markdown under `content/`. One monochrome shell with a left sidebar for every project that needs docs. Bun for the toolchain. AI assistant off unless you turn it on.
6
7This is its own project. It does not track or merge upstream.
8
9## What you get
10
11- **Sidebar chrome** in the style of [notes.krisyotam.com](https://notes.krisyotam.com): brand cell, theme toggle, GitHub link, search that opens the center command palette
12- **Every page in the tree** from your markdown (folders expand by default)
13- **Monochrome UI** (zinc/neutral, no green primary)
14- **Bun** as the package manager
15- Full Markdown/MDC stack, optional i18n content layout, search (FTS), OG images, sitemap
16
17## Requirements
18
19- [Bun](https://bun.sh) 1.3+
20
21## Quick start
22
23```bash
24git clone git@github.com:krisyotam/docs.git my-project-docs
25cd my-project-docs
26bun install
27bun run dev:prepare
28bun run dev
29```
30
31Open [http://localhost:3000](http://localhost:3000) (or the next free port if 3000 is taken).
32
33### Scripts
34
35| Script | Purpose |
36|--------|---------|
37| `bun run dev` | Docs site (`docs/` app) |
38| `bun run dev:prepare` | Generate Nuxt types for layer + apps (run after clone) |
39| `bun run playground:dev` | Minimal playground app |
40| `bun run lint` | ESLint |
41| `bun run clean` | Wipe outputs and lockfile |
42
43## Layout
44
45```
46docs/ # Documentation app (content + config)
47layer/ # Theme layer (sidebar, layouts, modules)
48cli/ # Scaffolding CLI
49playground/ # Bare playground
50```
51
52For a real project you mostly touch:
53
54| Path | What to change |
55|------|----------------|
56| `docs/content/` | Markdown pages (`en/`, `fr/`, …) |
57| `docs/app/app.config.ts` | Brand title, GitHub, search, UI |
58| `docs/nuxt.config.ts` | Site name, i18n, studio, MCP |
59| `docs/content/*/index.md` | Landing page |
60
61Homepage and every doc page are content files. The home page is `index.md` with MDC components (`::u-page-hero`, and so on), not a separate Vue app.
62
63## Branding
64
65Default brand string is **Docs**. Set it in `docs/app/app.config.ts`:
66
67```ts
68export default defineAppConfig({
69 header: {
70 title: 'Docs', // or "My Project"
71 },
72 github: {
73 url: 'https://github.com/krisyotam/docs',
74 rootDir: 'docs',
75 },
76 ui: {
77 colors: {
78 primary: 'neutral',
79 neutral: 'zinc',
80 },
81 },
82})
83```
84
85The sidebar GitHub button uses `appConfig.github.url`.
86
87## Content
88
89Numbered folders order the sidebar:
90
91```
92content/en/
93 index.md
94 1.getting-started/
95 2.introduction.md
96 3.installation.md
97 2.concepts/
98 …
99```
100
101Write normal Markdown plus [MDC](https://content.nuxt.com/docs/files/markdown) for Nuxt UI components.
102
103## Theme notes
104
105- No top header bar; navigation lives in the sticky left sidebar
106- Search in the sidebar opens the center palette (⌘K)
107- Color mode: light/dark with a monochrome primary
108- Assistant UI stays off unless you add gateway auth
109
110## License
111
112MIT. See [LICENSE](./LICENSE).
113
114---
115
116## Acknowledgments
117
118Thanks to the original **[Docus](https://github.com/nuxt-content/docus)** authors and the [Nuxt Content](https://github.com/nuxt-content) team (NuxtLabs). Their Markdown documentation theme for Nuxt, Nuxt UI, and Nuxt Content is the foundation this template started from.
119
120This repository is a separate project: different defaults (Bun, monochrome palette, notes-style sidebar), different branding, and no upstream merge workflow. If you want the upstream product, use [docus.dev](https://docus.dev) and [nuxt-content/docus](https://github.com/nuxt-content/docus).
bun.lock+4107−0
@@ -0,0 +1,4107 @@
1{
2 "lockfileVersion": 1,
3 "configVersion": 1,
4 "workspaces": {
5 "": {
6 "name": "docus-workspace",
7 "devDependencies": {
8 "@iconify-json/lucide": "^1.2.117",
9 "@iconify-json/simple-icons": "^1.2.90",
10 "@iconify-json/vscode-icons": "^1.2.67",
11 "@nuxt/eslint": "^1.16.0",
12 "@nuxt/eslint-config": "^1.16.0",
13 "@release-it/bumper": "^7.0.6",
14 "@release-it/conventional-changelog": "^11.0.1",
15 "eslint": "^10.7.0",
16 "nuxt": "4.4.8",
17 "release-it": "^20.2.1",
18 "typescript": "^6.0.3",
19 "vue-tsc": "^3.3.7",
20 },
21 },
22 "cli": {
23 "name": "create-docus",
24 "version": "5.12.3",
25 "bin": {
26 "create-docus": "dist/main.mjs",
27 },
28 "dependencies": {
29 "@nuxt/cli": "3.36.1",
30 "@nuxt/kit": "^4.4.8",
31 "c12": "^3.3.4",
32 "citty": "^0.2.2",
33 "defu": "^6.1.7",
34 "scule": "^1.3.0",
35 "ufo": "^1.6.4",
36 "unctx": "^2.5.0",
37 },
38 "devDependencies": {
39 "@types/node": "^26.1.1",
40 "tsup": "^8.5.1",
41 "tsx": "^4.23.1",
42 },
43 },
44 "docs": {
45 "name": "docus-docs",
46 "dependencies": {
47 "@nuxt/ui": "^4.9.0",
48 "@nuxtjs/i18n": "^10.4.1",
49 "@vercel/analytics": "^2.0.1",
50 "@vercel/speed-insights": "^2.0.0",
51 "docus": "workspace:*",
52 "nuxt": "4.4.8",
53 "nuxt-studio": "^1.7.0",
54 "tailwindcss": "^4.3.2",
55 },
56 "devDependencies": {
57 "@ai-sdk/vue": "^4.0.29",
58 "ai": "^7.0.29",
59 },
60 },
61 "layer": {
62 "name": "docus",
63 "version": "5.12.3",
64 "dependencies": {
65 "@ai-sdk/gateway": "^4.0.21",
66 "@ai-sdk/mcp": "^2.0.14",
67 "@ai-sdk/vue": "^4.0.29",
68 "@comark/vue": "^0.5.1",
69 "@iconify-json/lucide": "^1.2.117",
70 "@iconify-json/simple-icons": "^1.2.90",
71 "@iconify-json/vscode-icons": "^1.2.67",
72 "@nuxt/content": "^3.15.0",
73 "@nuxt/image": "^2.0.0",
74 "@nuxt/kit": "^4.4.8",
75 "@nuxt/ui": "^4.9.0",
76 "@nuxtjs/i18n": "^10.4.1",
77 "@nuxtjs/mcp-toolkit": "^0.18.0",
78 "@nuxtjs/mdc": "^0.22.1",
79 "@nuxtjs/robots": "^6.1.2",
80 "@shikijs/core": "^4.3.1",
81 "@shikijs/engine-javascript": "^4.3.1",
82 "@shikijs/langs": "^4.3.1",
83 "@shikijs/stream": "^4.3.1",
84 "@shikijs/themes": "^4.3.1",
85 "@takumi-rs/core": "^2.2.0",
86 "@vueuse/core": "^14.3.0",
87 "ai": "^7.0.29",
88 "defu": "^6.1.7",
89 "exsolve": "^1.1.0",
90 "git-url-parse": "^16.1.0",
91 "motion-v": "^2.3.0",
92 "nuxt-llms": "^0.2.0",
93 "nuxt-og-image": "~6.7.2",
94 "pathe": "^2.0.3",
95 "pkg-types": "^2.3.1",
96 "scule": "^1.3.0",
97 "tailwindcss": "^4.3.2",
98 "ufo": "^1.6.4",
99 "yaml": "^2.9.0",
100 "zod": "^4.4.3",
101 "zod-to-json-schema": "^3.25.2",
102 },
103 "peerDependencies": {
104 "better-sqlite3": "12.x",
105 "nuxt": "4.x",
106 },
107 },
108 "playground": {
109 "name": "playground",
110 "dependencies": {
111 "better-sqlite3": "^12.5.0",
112 "docus": "latest",
113 "nuxt": "^4.3.1",
114 },
115 },
116 },
117 "trustedDependencies": [
118 "better-sqlite3",
119 "@vercel/speed-insights",
120 "sharp",
121 ],
122 "overrides": {
123 "@ai-sdk/gateway": "^4.0.21",
124 "@ai-sdk/vue": "^4.0.29",
125 "ai": "^7.0.29",
126 "h3": "1.15.11",
127 },
128 "packages": {
129 "@ai-sdk/gateway": ["@ai-sdk/gateway@4.0.44", "", { "dependencies": { "@ai-sdk/provider": "4.0.6", "@ai-sdk/provider-utils": "5.0.23", "@vercel/oidc": "3.2.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-dQ/AHH1do1iEpWEXdAge37FtpXV17fsj7NkL9w+xuzVgvmI7+dQFeDerul+F2I5czmxe61Lq+TnUREjU92UXYg=="],
130
131 "@ai-sdk/mcp": ["@ai-sdk/mcp@2.0.27", "", { "dependencies": { "@ai-sdk/provider": "4.0.6", "@ai-sdk/provider-utils": "5.0.23", "pkce-challenge": "^5.0.1" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-xFy5Uqtvpb4Z2M94ozcTLuM/wYicmvDw7S52RHfz/GtBQE6y1EEcF2ZJQLRC9296+mLy2jyQta1CcNtnBdfbaA=="],
132
133 "@ai-sdk/provider": ["@ai-sdk/provider@4.0.6", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-YYXjvs8F3q/BdEn9tBDoDuQACotfR7c5foGw/ADsM6iAVC1JabqEjQSkwHv/Kg2vNIr1c2AVHcQb+JYsYk76Qw=="],
134
135 "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@5.0.23", "", { "dependencies": { "@ai-sdk/provider": "4.0.6", "@standard-schema/spec": "^1.1.0", "@workflow/serde": "4.1.0", "eventsource-parser": "^3.0.8", "undici": "^7.28.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-mFvAAszenK8Xny3v+4Vntke5IcUkyzjss3gTBOxVWNrSIWmt/FhQ5gCgoJXW7IK11cklRaicMPwOXTnnBtaqFQ=="],
136
137 "@ai-sdk/vue": ["@ai-sdk/vue@4.0.56", "", { "dependencies": { "@ai-sdk/provider-utils": "5.0.23", "ai": "7.0.56", "swrv": "^1.2.0" }, "peerDependencies": { "vue": "^3.3.4" } }, "sha512-zaFbFVMkx7jj9gJaTPfQUibJ+H47TCvRATnhvGPagtplVLj+lRjptZ8Bcwt1I1bmh7ios6jQcj32hETeuVBSMg=="],
138
139 "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="],
140
141 "@antfu/install-pkg": ["@antfu/install-pkg@2.0.1", "", { "dependencies": { "package-manager-detector": "^1.7.0", "tinyexec": "^1.2.4" } }, "sha512-iCKVQcIC0e3oDxEfs3SHQGW+ovhBMZmS1TE+bTk50rVyMCBmCfClv7Qi3HQKlumYwvjb/iIMeWCW2i67q6kFfQ=="],
142
143 "@apidevtools/json-schema-ref-parser": ["@apidevtools/json-schema-ref-parser@14.2.1", "", { "dependencies": { "js-yaml": "^4.1.0" }, "peerDependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg=="],
144
145 "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="],
146
147 "@babel/compat-data": ["@babel/compat-data@7.29.7", "", {}, "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg=="],
148
149 "@babel/core": ["@babel/core@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", "@babel/helper-compilation-targets": "^7.29.7", "@babel/helper-module-transforms": "^7.29.7", "@babel/helpers": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/template": "^7.29.7", "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA=="],
150
151 "@babel/generator": ["@babel/generator@8.0.0", "", { "dependencies": { "@babel/parser": "^8.0.0", "@babel/types": "^8.0.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" } }, "sha512-NT9NrVwJsbSV6Y2FSstWa71EETOnzrjkL5/wX3D2mYHtKM+qvqB1DvR4D0Setb/gDBsHzRICifwEWMO8CnTF6g=="],
152
153 "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" } }, "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw=="],
154
155 "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.29.7", "", { "dependencies": { "@babel/compat-data": "^7.29.7", "@babel/helper-validator-option": "^7.29.7", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g=="],
156
157 "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.29.7", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.29.7", "@babel/helper-member-expression-to-functions": "^7.29.7", "@babel/helper-optimise-call-expression": "^7.29.7", "@babel/helper-replace-supers": "^7.29.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", "@babel/traverse": "^7.29.7", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg=="],
158
159 "@babel/helper-globals": ["@babel/helper-globals@7.29.7", "", {}, "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA=="],
160
161 "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg=="],
162
163 "@babel/helper-module-imports": ["@babel/helper-module-imports@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g=="],
164
165 "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.29.7", "", { "dependencies": { "@babel/helper-module-imports": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7", "@babel/traverse": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg=="],
166
167 "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" } }, "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong=="],
168
169 "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.29.7", "", {}, "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw=="],
170
171 "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.29.7", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.29.7", "@babel/helper-optimise-call-expression": "^7.29.7", "@babel/traverse": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ=="],
172
173 "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ=="],
174
175 "@babel/helper-string-parser": ["@babel/helper-string-parser@7.29.7", "", {}, "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw=="],
176
177 "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.29.7", "", {}, "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg=="],
178
179 "@babel/helper-validator-option": ["@babel/helper-validator-option@7.29.7", "", {}, "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw=="],
180
181 "@babel/helpers": ["@babel/helpers@7.29.7", "", { "dependencies": { "@babel/template": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg=="],
182
183 "@babel/parser": ["@babel/parser@7.29.8", "", { "dependencies": { "@babel/types": "^7.29.8" }, "bin": "./bin/babel-parser.js" }, "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA=="],
184
185 "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A=="],
186
187 "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA=="],
188
189 "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.29.7", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.29.7", "@babel/helper-create-class-features-plugin": "^7.29.7", "@babel/helper-plugin-utils": "^7.29.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", "@babel/plugin-syntax-typescript": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw=="],
190
191 "@babel/template": ["@babel/template@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg=="],
192
193 "@babel/traverse": ["@babel/traverse@7.29.8", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.8", "@babel/helper-globals": "^7.29.7", "@babel/parser": "^7.29.8", "@babel/template": "^7.29.7", "@babel/types": "^7.29.8", "debug": "^4.3.1" } }, "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg=="],
194
195 "@babel/types": ["@babel/types@7.29.8", "", { "dependencies": { "@babel/helper-string-parser": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7" } }, "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg=="],
196
197 "@bomb.sh/tab": ["@bomb.sh/tab@0.0.17", "", { "peerDependencies": { "cac": "^6.7.14", "citty": "^0.1.6 || ^0.2.0", "commander": "^13.1.0" }, "optionalPeers": ["cac", "citty", "commander"], "bin": { "tab": "dist/bin/cli.mjs" } }, "sha512-rGhqfWwaSF6qN5Gm5P9EH9eybrwLEowHTkV+wsRgFewT6aQCQWVWXLclVk0McgVIlWCGX+W9mYYC1Egsg+Znsw=="],
198
199 "@capsizecss/unpack": ["@capsizecss/unpack@4.0.1", "", { "dependencies": { "fontkitten": "^1.0.3" } }, "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ=="],
200
201 "@clack/core": ["@clack/core@1.4.3", "", { "dependencies": { "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ=="],
202
203 "@clack/prompts": ["@clack/prompts@1.7.0", "", { "dependencies": { "@clack/core": "1.4.3", "fast-string-width": "^3.0.2", "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A=="],
204
205 "@cloudflare/kv-asset-handler": ["@cloudflare/kv-asset-handler@0.4.2", "", {}, "sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ=="],
206
207 "@colordx/core": ["@colordx/core@5.5.0", "", {}, "sha512-3PxTH8itZzltK0U9jTwVVnjLXvnDYuq3m+QXsHkENxWiPRh4WaoLcs1SQjqgZ55kS+QyirpH5BVwzP2gMVG6EQ=="],
208
209 "@comark/vue": ["@comark/vue@0.5.1", "", { "dependencies": { "comark": "^0.5.1" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.17.0", "shiki": "^4.3.1", "vue": "^3.5.0" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-uz5Oirzg7ruuJJItceWRswAftuMoY17Omge9bsUampmAL/XdI77YrBOozA5DlId+OCX0VXnt1tCCe4c1IrcJ7w=="],
210
211 "@conventional-changelog/git-client": ["@conventional-changelog/git-client@2.7.0", "", { "dependencies": { "@simple-libs/child-process-utils": "^1.0.0", "@simple-libs/stream-utils": "^1.2.0", "semver": "^7.5.2" }, "peerDependencies": { "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.4.0" }, "optionalPeers": ["conventional-commits-filter", "conventional-commits-parser"] }, "sha512-j7A8/LBEQ+3rugMzPXoKYzyUPpw/0CBQCyvtTR7Lmu4olG4yRC/Tfkq79Mr3yuPs0SUitlO2HwGP3gitMJnRFw=="],
212
213 "@decimalturn/toml-patch": ["@decimalturn/toml-patch@1.3.0", "", {}, "sha512-lnnGHUF8RhnPq0XiOenQCv0O6TO840bofShFrIr+Xu87x1Rm3bozgaCDQz6eTErO9rYf7YXCuK7ZHz65BtBwsA=="],
214
215 "@dxup/nuxt": ["@dxup/nuxt@0.4.1", "", { "dependencies": { "@dxup/unimport": "^0.1.2", "@nuxt/kit": "^4.4.2", "chokidar": "^5.0.0", "pathe": "^2.0.3", "tinyglobby": "^0.2.16" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-gtYffW6OfWNvoLW+XD3Mx/K8uUq08PMGLYJoDxc92EzZAWqR0FhcR5iaLm5r/OxyGTKz+P5f5Y7Aoir9+SjYaw=="],
216
217 "@dxup/unimport": ["@dxup/unimport@0.1.2", "", {}, "sha512-/B8YJGPzaYq1NbsQmwgP8EZqg40NpTw4ZB3suuI0TplbxKHeK94jeaawLmVhCv+YwUnOpiWEz9U6SeThku/8JQ=="],
218
219 "@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
220
221 "@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="],
222
223 "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="],
224
225 "@es-joy/jsdoccomment": ["@es-joy/jsdoccomment@0.91.0", "", { "dependencies": { "@types/estree": "^1.0.9", "@typescript-eslint/types": "^8.65.0", "comment-parser": "1.4.7", "esquery": "^1.7.0", "jsdoc-type-pratt-parser": "~8.0.0" } }, "sha512-vgqlMGNNhZxwDYbUNIHj3Hskb4R28iqdXx90ufHyt/NeuTQkeqjTDslAs9I0/GCAfbxP5BpH5WsL1R1fht5Lxg=="],
226
227 "@es-joy/resolve.exports": ["@es-joy/resolve.exports@1.2.0", "", {}, "sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g=="],
228
229 "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.7", "", { "os": "aix", "cpu": "ppc64" }, "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg=="],
230
231 "@esbuild/android-arm": ["@esbuild/android-arm@0.27.7", "", { "os": "android", "cpu": "arm" }, "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ=="],
232
233 "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.7", "", { "os": "android", "cpu": "arm64" }, "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ=="],
234
235 "@esbuild/android-x64": ["@esbuild/android-x64@0.27.7", "", { "os": "android", "cpu": "x64" }, "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg=="],
236
237 "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw=="],
238
239 "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ=="],
240
241 "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.7", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w=="],
242
243 "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.7", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ=="],
244
245 "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.7", "", { "os": "linux", "cpu": "arm" }, "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA=="],
246
247 "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A=="],
248
249 "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.7", "", { "os": "linux", "cpu": "ia32" }, "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg=="],
250
251 "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q=="],
252
253 "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw=="],
254
255 "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.7", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ=="],
256
257 "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ=="],
258
259 "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.7", "", { "os": "linux", "cpu": "s390x" }, "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw=="],
260
261 "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.7", "", { "os": "linux", "cpu": "x64" }, "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA=="],
262
263 "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w=="],
264
265 "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.7", "", { "os": "none", "cpu": "x64" }, "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw=="],
266
267 "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.7", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A=="],
268
269 "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.7", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg=="],
270
271 "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw=="],
272
273 "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.7", "", { "os": "sunos", "cpu": "x64" }, "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA=="],
274
275 "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA=="],
276
277 "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.7", "", { "os": "win32", "cpu": "ia32" }, "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw=="],
278
279 "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.7", "", { "os": "win32", "cpu": "x64" }, "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg=="],
280
281 "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.10.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg=="],
282
283 "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="],
284
285 "@eslint/compat": ["@eslint/compat@2.1.0", "", { "dependencies": { "@eslint/core": "^1.2.1" }, "peerDependencies": { "eslint": "^8.40 || 9 || 10" }, "optionalPeers": ["eslint"] }, "sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g=="],
286
287 "@eslint/config-array": ["@eslint/config-array@0.23.5", "", { "dependencies": { "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", "minimatch": "^10.2.4" } }, "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA=="],
288
289 "@eslint/config-helpers": ["@eslint/config-helpers@0.7.0", "", { "dependencies": { "@eslint/core": "^1.2.1" } }, "sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw=="],
290
291 "@eslint/config-inspector": ["@eslint/config-inspector@3.2.0", "", { "dependencies": { "ansis": "^4.3.1", "cac": "^7.0.0", "chokidar": "^5.0.0", "devframe": "^0.8.0", "jiti": "^2.7.0", "tinyglobby": "^0.2.17" }, "peerDependencies": { "eslint": "^8.50.0 || ^9.0.0 || ^10.0.0" }, "bin": { "@eslint/config-inspector": "./bin.mjs", "eslint-config-inspector": "./bin.mjs" } }, "sha512-kylJhcii8eDOiRFPANNUHOyDebBIOt+nqYXt8q6W9FbhYzFJAXjLzJz6KFNzY0WvIyOBKdbSQdwdPNrkMh05tg=="],
292
293 "@eslint/core": ["@eslint/core@1.2.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ=="],
294
295 "@eslint/css-tree": ["@eslint/css-tree@4.0.5", "", { "dependencies": { "mdn-data": "2.29.0", "source-map-js": "^1.2.1" } }, "sha512-iPmijIAq4hlIJB86PYmY/fcZORHtjphSqICDbwuw32A/JmkhZQ/K/6TjHE03zqf3n5yABpVcbRAMG8Mi9ojy8g=="],
296
297 "@eslint/js": ["@eslint/js@10.0.1", "", { "peerDependencies": { "eslint": "^10.0.0" }, "optionalPeers": ["eslint"] }, "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA=="],
298
299 "@eslint/object-schema": ["@eslint/object-schema@3.0.5", "", {}, "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw=="],
300
301 "@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.2", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A=="],
302
303 "@fastify/accept-negotiator": ["@fastify/accept-negotiator@2.0.1", "", {}, "sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ=="],
304
305 "@fastify/busboy": ["@fastify/busboy@2.1.1", "", {}, "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="],
306
307 "@fingerprintjs/botd": ["@fingerprintjs/botd@2.0.0", "", {}, "sha512-yhuz23NKEcBDTHmGz/ULrXlGnbHenO+xZmVwuBkuqHUkqvaZ5TAA0kAgcRy4Wyo5dIBdkIf57UXX8/c9UlMLJg=="],
308
309 "@floating-ui/core": ["@floating-ui/core@1.8.0", "", { "dependencies": { "@floating-ui/utils": "^0.2.12" } }, "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ=="],
310
311 "@floating-ui/dom": ["@floating-ui/dom@1.8.0", "", { "dependencies": { "@floating-ui/core": "^1.8.0", "@floating-ui/utils": "^0.2.12" } }, "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg=="],
312
313 "@floating-ui/utils": ["@floating-ui/utils@0.2.12", "", {}, "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww=="],
314
315 "@floating-ui/vue": ["@floating-ui/vue@1.1.11", "", { "dependencies": { "@floating-ui/dom": "^1.7.6", "@floating-ui/utils": "^0.2.11", "vue-demi": ">=0.13.0" } }, "sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw=="],
316
317 "@hono/node-server": ["@hono/node-server@2.1.0", "", { "peerDependencies": { "hono": "^4" } }, "sha512-XovyyCCnBzW+zKu+z/zq8hwNs4KOR5rEMAOxo2f40Q5xoOI37IMm6MIg2COOUtUApo0i6850MTBKH2u4QLGIqg=="],
318
319 "@humanfs/core": ["@humanfs/core@0.19.2", "", { "dependencies": { "@humanfs/types": "^0.15.0" } }, "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA=="],
320
321 "@humanfs/node": ["@humanfs/node@0.16.8", "", { "dependencies": { "@humanfs/core": "^0.19.2", "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ=="],
322
323 "@humanfs/types": ["@humanfs/types@0.15.0", "", {}, "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q=="],
324
325 "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="],
326
327 "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="],
328
329 "@iarna/toml": ["@iarna/toml@3.0.0", "", {}, "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q=="],
330
331 "@iconify-json/lucide": ["@iconify-json/lucide@1.2.121", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-zSoQQSmsyFaeTpSwURHJ9PIrsDcGFpDNhGlpiTrs+Ua4uFeH5UsE26L4OEBLrgLWoSK0UO+JhsO8yehSw0403g=="],
332
333 "@iconify-json/simple-icons": ["@iconify-json/simple-icons@1.2.93", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-/XhANjfGYOuqvSR3TmUnkQkINvQ4GVjVuukvymRbxtVFBvIq/yiXJqCDycKcQPT401OYT9H2vIY6ihAlz1QIAw=="],
334
335 "@iconify-json/vscode-icons": ["@iconify-json/vscode-icons@1.2.69", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-qNT3Xf7tVylX3LbTj867/VRa5/FxCxYA1lclucf5TPGn9t5J5qwu0sm8RwN10+UGeEc3oAewYuJ+rDam9l8cqA=="],
336
337 "@iconify/collections": ["@iconify/collections@1.0.719", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-v3I7sBgR0UWOr6y4bXGiuNrOOl9d+tRDPg1d7vfQHofQ4nTt3AU15S2UsePjHztYAc7ptSPUTT74Io2M7Y1CZg=="],
338
339 "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="],
340
341 "@iconify/utils": ["@iconify/utils@3.1.4", "", { "dependencies": { "@antfu/install-pkg": "^1.1.0", "@iconify/types": "^2.0.0", "import-meta-resolve": "^4.2.0" } }, "sha512-b1S7B1k9ohZ+iNTi2ATxbRYG9fTrJmUT0rc46bvVnNxqNRGW7dyo/vRREwyniI5IRN2RSJHDcm+s3BjWrSAjHw=="],
342
343 "@iconify/vue": ["@iconify/vue@5.0.1", "", { "dependencies": { "@iconify/types": "^2.0.0" }, "peerDependencies": { "vue": ">=3.0.0" } }, "sha512-aumwwooJlFJ5H5qYWB6ZTAyM0C8hpfcSVLB9/a3qnH1GGvIJ+FEbpEs4s/HfErYe/M5qZeLjwmESR5fFm3lXEw=="],
344
345 "@img/colour": ["@img/colour@1.1.0", "", {}, "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ=="],
346
347 "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.3.2" }, "os": "darwin", "cpu": "arm64" }, "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg=="],
348
349 "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.3.2" }, "os": "darwin", "cpu": "x64" }, "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w=="],
350
351 "@img/sharp-freebsd-wasm32": ["@img/sharp-freebsd-wasm32@0.35.3", "", { "dependencies": { "@img/sharp-wasm32": "0.35.3" }, "os": "freebsd" }, "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg=="],
352
353 "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.3.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg=="],
354
355 "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.3.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw=="],
356
357 "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.3.2", "", { "os": "linux", "cpu": "arm" }, "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ=="],
358
359 "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA=="],
360
361 "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.3.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw=="],
362
363 "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.3.2", "", { "os": "linux", "cpu": "none" }, "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w=="],
364
365 "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.3.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ=="],
366
367 "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w=="],
368
369 "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw=="],
370
371 "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ=="],
372
373 "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.3.2" }, "os": "linux", "cpu": "arm" }, "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA=="],
374
375 "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.3.2" }, "os": "linux", "cpu": "arm64" }, "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ=="],
376
377 "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.3.2" }, "os": "linux", "cpu": "ppc64" }, "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA=="],
378
379 "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.3.2" }, "os": "linux", "cpu": "none" }, "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ=="],
380
381 "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.3.2" }, "os": "linux", "cpu": "s390x" }, "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw=="],
382
383 "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.3.2" }, "os": "linux", "cpu": "x64" }, "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA=="],
384
385 "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.3.2" }, "os": "linux", "cpu": "arm64" }, "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w=="],
386
387 "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.35.3", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.3.2" }, "os": "linux", "cpu": "x64" }, "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg=="],
388
389 "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="],
390
391 "@img/sharp-webcontainers-wasm32": ["@img/sharp-webcontainers-wasm32@0.35.3", "", { "dependencies": { "@img/sharp-wasm32": "0.35.3" }, "cpu": "none" }, "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q=="],
392
393 "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.35.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w=="],
394
395 "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.35.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw=="],
396
397 "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.35.3", "", { "os": "win32", "cpu": "x64" }, "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA=="],
398
399 "@inquirer/ansi": ["@inquirer/ansi@2.0.7", "", {}, "sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q=="],
400
401 "@inquirer/checkbox": ["@inquirer/checkbox@5.2.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/core": "^11.2.1", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-b6xmA/VlTe0ZgDQHDui+Nav470u7u49nRd8/iuhOcQPO9Ch7lGuogydhi2VOmNlZ+zXcM8IcPuNSwQcdJaF/kw=="],
402
403 "@inquirer/confirm": ["@inquirer/confirm@6.1.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-eb8DBZcz/2qHWQda4rk2JiQk5h9QV/cVHi1yjt0f69WFZMRFn0sJTye3EAP8icut8UDMjQPsaH5KbcOogefrFQ=="],
404
405 "@inquirer/core": ["@inquirer/core@11.2.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", "signal-exit": "^4.1.0" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA=="],
406
407 "@inquirer/editor": ["@inquirer/editor@5.2.2", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/external-editor": "^3.0.3", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-ZRVd/oD+sYsUd5zVm0NflqEzlqfYCyHNsqkHl2oWXEUHs12tCbcSFi+wVFEvD8+LGRaMUsVrE7qeo6lSG/S1Vg=="],
408
409 "@inquirer/expand": ["@inquirer/expand@5.1.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-YmQpenjbFSHAK3sOd44puHh3V1KXXr+JiNpUztoSQ4drLh2rTVzTap/YtlAVu/5xavifIlBfNEzJ/neZJ1a/1g=="],
410
411 "@inquirer/external-editor": ["@inquirer/external-editor@3.0.3", "", { "dependencies": { "chardet": "^2.1.1", "iconv-lite": "^0.7.2" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-6thf5I8q7lZwzGLAxPaaGEREEkZ3nyePPDQ1oyobblxmEE8mqTLguScP7pDjUTAibiyb4hfXl+qjUEJ+di/aNA=="],
412
413 "@inquirer/figures": ["@inquirer/figures@2.0.7", "", {}, "sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw=="],
414
415 "@inquirer/input": ["@inquirer/input@5.1.2", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-9K/DDBSQpOyZSkt6sOVP9Vo0TR7atX2kuILsUu0x3wVcVbe97lJwIJKMLdMw25tDYuXl/qp6erT0Xs1rfmcfZg=="],
416
417 "@inquirer/number": ["@inquirer/number@4.1.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-XF4IXAbPnGPgw0wsbC/i2tPcyfdZgDpUlhsqU0SfT4IRIGWha6Xm9VRgN5yYxJq+jnyXlfXI/nQ3ulfk0iEICA=="],
418
419 "@inquirer/password": ["@inquirer/password@5.1.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-3XBfF7DAsp5qeDsvN5Rd1HmbNokVvEQoUM0QLrRcybC9nX96w3Pbmu7qUsb3IT3J3jBvs2+mTXaKHOUsgHMLzg=="],
420
421 "@inquirer/prompts": ["@inquirer/prompts@8.4.2", "", { "dependencies": { "@inquirer/checkbox": "^5.1.4", "@inquirer/confirm": "^6.0.12", "@inquirer/editor": "^5.1.1", "@inquirer/expand": "^5.0.13", "@inquirer/input": "^5.0.12", "@inquirer/number": "^4.0.12", "@inquirer/password": "^5.0.12", "@inquirer/rawlist": "^5.2.8", "@inquirer/search": "^4.1.8", "@inquirer/select": "^5.1.4" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-XJmn/wY4AX56l1BRU+ZjDrFtg9+2uBEi4JvJQj82kwJDQKiPgSn4CEsbfGGygS4Gw6rkL4W18oATjfVfaqub2Q=="],
422
423 "@inquirer/rawlist": ["@inquirer/rawlist@5.3.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QqdTqQddL3qPX/PPrjobpsO25NZ4dWXgTLenrR445L2ptLEYE6Z+PD5c5CNDJNx4ugRgELAIpSIJxZaO2jJ2Og=="],
424
425 "@inquirer/search": ["@inquirer/search@4.2.1", "", { "dependencies": { "@inquirer/core": "^11.2.1", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-xJj8QWKRSrfKoBIITLZK61dD3zwo0Rz11fgDImku30/Oe81zMdIdGgrLY2h6RkJ+KZ/GhNYIRMKnH/62qBTA5g=="],
426
427 "@inquirer/select": ["@inquirer/select@5.2.1", "", { "dependencies": { "@inquirer/ansi": "^2.0.7", "@inquirer/core": "^11.2.1", "@inquirer/figures": "^2.0.7", "@inquirer/type": "^4.0.7" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-FlDndEUww8m7BfukO2nJa25vhD+H5jxxCv4oGioKqzyWz3nPHhhw4LKdYRSlXuAx7DsdWia7iyaBPKKS95Evfw=="],
428
429 "@inquirer/type": ["@inquirer/type@4.0.7", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g=="],
430
431 "@internationalized/date": ["@internationalized/date@3.12.3", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-fuLX+3ZKLsxI73y8b01EG/WjHb6gE6weCqlfawPO27kBWGMh9G1yH6Csv1uU7/cac9H2GHmOMt6CjmuQ1aia4Q=="],
432
433 "@internationalized/number": ["@internationalized/number@3.6.7", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg=="],
434
435 "@intlify/bundle-utils": ["@intlify/bundle-utils@11.2.4", "", { "dependencies": { "@intlify/message-compiler": "~11.4.2", "@intlify/shared": "~11.4.2", "acorn": "^8.8.2", "esbuild": "^0.25.4", "escodegen": "^2.1.0", "estree-walker": "^2.0.2", "jsonc-eslint-parser": "^2.3.0", "source-map-js": "^1.2.1", "yaml-eslint-parser": "^1.2.2" } }, "sha512-eE18yR9eM9k5n8snCkHIYp2MuVTxa19aF8z9OMyxXWv0frz2HlBZDGIPFjA38pP3OJ1IlRBXC/dW5GILeLMSCQ=="],
436
437 "@intlify/core": ["@intlify/core@11.4.8", "", { "dependencies": { "@intlify/core-base": "11.4.8", "@intlify/shared": "11.4.8" } }, "sha512-TGFCWeunb0mmKWpX7UXRAS2enMtucTC+NG9dT+RMfxFDCAIvXF33Wb2yJUbeNczxER4f0uMt0b9g1MCsROfKyA=="],
438
439 "@intlify/core-base": ["@intlify/core-base@11.4.8", "", { "dependencies": { "@intlify/devtools-types": "11.4.8", "@intlify/message-compiler": "11.4.8", "@intlify/shared": "11.4.8" } }, "sha512-A+Q7SKm5oEcy1E/cghqd7n/St4XjTqLhiiyDuieNcMrJcrHlkY5n0jp7Q9dD3txvVHzvsmBVV5M9wD5/s1zfzw=="],
440
441 "@intlify/devtools-types": ["@intlify/devtools-types@11.4.8", "", { "dependencies": { "@intlify/core-base": "11.4.8", "@intlify/shared": "11.4.8" } }, "sha512-MGpID+rlfzGUbNcnC20bm5NMSBHPrvx0atLTfv9dftn3kjXw1hGKDcIcwrO99tSrZEc2i+hczRL7ks8qXsHPkQ=="],
442
443 "@intlify/h3": ["@intlify/h3@0.7.4", "", { "dependencies": { "@intlify/core": "^11.1.12", "@intlify/utils": "^0.13.0" } }, "sha512-BtL5+U3Dd9Qz6so+ArOMQWZ+nV21rOqqYUXnqwvW6J3VUXr66A9+9+vUFb/NAQvOU4kdfkO3c/9LMRGU9WZ8vw=="],
444
445 "@intlify/message-compiler": ["@intlify/message-compiler@11.4.8", "", { "dependencies": { "@intlify/shared": "11.4.8", "source-map-js": "^1.0.2" } }, "sha512-vbzk17dYwduYiv52EK61+FDCyhfVg1uPUtPmiD/d45W99uJIcXywrweOBcHv7n9/iEqmXiMGT52bgJbZDQqK3w=="],
446
447 "@intlify/shared": ["@intlify/shared@11.4.8", "", {}, "sha512-XbRgrv+XEuvDr7UCY55oibVrh+o4u+A0VB6nSL0F5Z8LcZxE/8j573LYG6bCrOigIcHdGpSNI7Rh5UpC5/B/eg=="],
448
449 "@intlify/unplugin-vue-i18n": ["@intlify/unplugin-vue-i18n@11.2.4", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@intlify/bundle-utils": "11.2.4", "@intlify/shared": "~11.4.2", "@intlify/vue-i18n-extensions": "^8.0.0", "@rollup/pluginutils": "^5.1.0", "@typescript-eslint/scope-manager": "^8.13.0", "@typescript-eslint/typescript-estree": "^8.13.0", "debug": "^4.3.3", "fast-glob": "^3.2.12", "pathe": "^2.0.3", "picocolors": "^1.0.0", "unplugin": "^2.3.4", "vue": "~3.5.34" }, "peerDependencies": { "petite-vue-i18n": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "vue-i18n": "*" }, "optionalPeers": ["petite-vue-i18n", "vite", "vue-i18n"] }, "sha512-bY0ZOaVUvWTyvy4bRGCUKw4Brx5uH/ojjVKsZ1aWzY2drFKIJbeP8DpGMD2QZT8aLpZSUsHtiJlRGLQSZenrvw=="],
450
451 "@intlify/utils": ["@intlify/utils@0.14.1", "", {}, "sha512-/NVDhX6sG87h0PXIwUCTW9DeHbKeqlni6qVV8xzMULQRHE9azIETldBlTKaBji7z6ostyDIH4s6SWI3AAI4uFg=="],
452
453 "@intlify/vue-i18n-extensions": ["@intlify/vue-i18n-extensions@8.0.0", "", { "dependencies": { "@babel/parser": "^7.24.6", "@intlify/shared": "^10.0.0", "@vue/compiler-dom": "^3.2.45", "vue-i18n": "^10.0.0" }, "peerDependencies": { "vue": "^3.0.0" }, "optionalPeers": ["vue"] }, "sha512-w0+70CvTmuqbskWfzeYhn0IXxllr6mU+IeM2MU0M+j9OW64jkrvqY+pYFWrUnIIC9bEdij3NICruicwd5EgUuQ=="],
454
455 "@ioredis/commands": ["@ioredis/commands@1.10.0", "", {}, "sha512-UmeW7z4LfctwoQ5wkhVzgq8tXkreED2xZGpX+Bg+zA+WJFZCT6c062AfCK/Dfk81xZnnwdhJCUMkitihRaoC2Q=="],
456
457 "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
458
459 "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="],
460
461 "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
462
463 "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
464
465 "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
466
467 "@jridgewell/source-map": ["@jridgewell/source-map@0.3.11", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA=="],
468
469 "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
470
471 "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
472
473 "@kwsites/file-exists": ["@kwsites/file-exists@1.1.1", "", { "dependencies": { "debug": "^4.1.1" } }, "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw=="],
474
475 "@kwsites/promise-deferred": ["@kwsites/promise-deferred@1.1.1", "", {}, "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw=="],
476
477 "@mapbox/node-pre-gyp": ["@mapbox/node-pre-gyp@2.0.3", "", { "dependencies": { "consola": "^3.2.3", "detect-libc": "^2.0.0", "https-proxy-agent": "^7.0.5", "node-fetch": "^2.6.7", "nopt": "^8.0.0", "semver": "^7.5.3", "tar": "^7.4.0" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" } }, "sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg=="],
478
479 "@miyaneee/rollup-plugin-json5": ["@miyaneee/rollup-plugin-json5@1.2.0", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0", "json5": "^2.2.3" }, "peerDependencies": { "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" } }, "sha512-JjTIaXZp9WzhUHpElrqPnl1AzBi/rvRs065F71+aTmlqvTMVkdbjZ8vfFl4nRlgJy+TPBw69ZK4pwFdmOAt4aA=="],
480
481 "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.30.0", "", { "dependencies": { "@hono/node-server": "^1.19.9 || ^2.0.5", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA=="],
482
483 "@napi-rs/lzma-linux-x64-gnu": ["@napi-rs/lzma-linux-x64-gnu@1.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ=="],
484
485 "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.2.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" } }, "sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw=="],
486
487 "@noble/hashes": ["@noble/hashes@2.3.0", "", {}, "sha512-oN+QwyX7VSHotibwubG3kpzbwKrfnyR6OOO+3Nk/53ADL7FmgHHz4TgrbaYKvvOw09u6QTx0oiH1cNCIOuN0CQ=="],
488
489 "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
490
491 "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
492
493 "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
494
495 "@nuxt/cli": ["@nuxt/cli@3.36.1", "", { "dependencies": { "@bomb.sh/tab": "^0.0.17", "@clack/prompts": "^1.6.0", "c12": "^3.3.4", "citty": "^0.2.2", "confbox": "^0.2.4", "consola": "^3.4.2", "debug": "^4.4.3", "defu": "^6.1.7", "exsolve": "^1.0.8", "fuse.js": "^7.4.2", "fzf": "^0.5.2", "giget": "^3.3.0", "jiti": "^2.7.0", "listhen": "^1.10.0", "nypm": "^0.6.7", "ofetch": "^1.5.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.1", "scule": "^1.3.0", "semver": "^7.8.5", "srvx": "^0.11.17", "std-env": "^4.1.0", "tinyclip": "^0.1.14", "tinyexec": "^1.2.4", "ufo": "^1.6.4", "youch": "^4.1.1" }, "peerDependencies": { "@nuxt/schema": "^4.4.6" }, "optionalPeers": ["@nuxt/schema"], "bin": { "nuxi": "bin/nuxi.mjs", "nuxt": "bin/nuxi.mjs", "nuxi-ng": "bin/nuxi.mjs", "nuxt-cli": "bin/nuxi.mjs" } }, "sha512-qu0LLFjOr1alMSrcVb3k3fWYXGeETeOIN5UoGoGEjwWVtf+KxQbN5IAzdXb7ip5D3pfKLcrAOTbIGf9XFmeGFQ=="],
496
497 "@nuxt/content": ["@nuxt/content@3.15.2", "", { "dependencies": { "@nuxt/kit": "^4.5.0", "@nuxtjs/mdc": "^0.22.2", "@shikijs/langs": "^4.3.1", "@sqlite.org/sqlite-wasm": "3.53.0-build1", "@standard-schema/spec": "^1.1.0", "@webcontainer/env": "^1.1.1", "c12": "^3.3.4", "chokidar": "^5.0.0", "consola": "^3.4.2", "db0": "^0.3.4", "defu": "^6.1.7", "destr": "^2.0.5", "git-url-parse": "^16.1.0", "h3": "^1.15.11", "hookable": "^5.5.3", "isomorphic-git": "^1.38.9", "jiti": "^2.7.0", "json-schema-to-typescript-lite": "^15.0.0", "mdast-util-to-hast": "^13.2.1", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.2", "micromark-util-character": "^2.1.1", "micromark-util-chunked": "^2.0.1", "micromark-util-resolve-all": "^2.0.1", "micromark-util-sanitize-uri": "^2.0.1", "micromatch": "^4.0.8", "minimark": "^0.2.0", "minimatch": "^10.2.5", "nuxt-component-meta": "0.18.0", "nypm": "^0.6.8", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "remark-mdc": "^3.11.1", "scule": "^1.3.0", "shiki": "^4.3.1", "slugify": "^1.6.9", "socket.io-client": "^4.8.3", "std-env": "^4.2.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "unified": "^11.0.5", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.1.0", "unplugin": "^3.3.0", "zod": "^3.25.76", "zod-to-json-schema": "^3.25.2" }, "peerDependencies": { "@electric-sql/pglite": "*", "@libsql/client": "*", "@valibot/to-json-schema": "^1.5.0", "better-sqlite3": "^12.5.0", "sqlite3": "*", "valibot": "^1.2.0" }, "optionalPeers": ["@electric-sql/pglite", "@libsql/client", "@valibot/to-json-schema", "better-sqlite3", "sqlite3", "valibot"] }, "sha512-jBK48RbA5RIt2SdtHPBcu4eX8+PYVsspbN+Cfx52kbpl8uXCiwjFudqGZrl2yqRQuEqVDYk9FGIOvWiMarLDtA=="],
498
499 "@nuxt/devalue": ["@nuxt/devalue@2.0.2", "", {}, "sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA=="],
500
501 "@nuxt/devtools": ["@nuxt/devtools@3.4.1", "", { "dependencies": { "@nuxt/devtools-kit": "3.4.1", "@nuxt/devtools-wizard": "3.4.1", "@nuxt/kit": "^4.5.1", "@vue/devtools-core": "^8.2.1", "@vue/devtools-kit": "^8.2.1", "birpc": "^4.0.0", "consola": "^3.4.2", "destr": "^2.0.5", "error-stack-parser-es": "^2.0.1", "execa": "^8.0.1", "fast-npm-meta": "^2.2.0", "get-port-please": "^3.2.0", "hookable": "^6.1.1", "image-meta": "^0.2.2", "is-installed-globally": "^1.0.0", "launch-editor": "^2.14.1", "local-pkg": "^1.2.1", "magicast": "^0.5.4", "nypm": "^0.6.9", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.1", "semver": "^7.8.5", "simple-git": "^3.36.0", "sirv": "^3.0.2", "structured-clone-es": "^2.0.1", "tinyglobby": "^0.2.17", "unstorage": "^1.17.5", "vite-plugin-inspect": "^11.4.1", "vite-plugin-vue-tracer": "^1.4.0", "which": "^6.0.1", "ws": "^8.21.1" }, "peerDependencies": { "@vitejs/devtools": "*", "vite": ">=6.0" }, "optionalPeers": ["@vitejs/devtools"], "bin": { "devtools": "./cli.mjs" } }, "sha512-20zZs6k/zAdi+PM7s1BwxE3hanZ+R1OGi5DWCKPyzSnhUUeeNebvWNgec7Rwnx6iKLkJfK4WFIZ+FL2QurG/ZQ=="],
502
503 "@nuxt/devtools-kit": ["@nuxt/devtools-kit@3.4.1", "", { "dependencies": { "@nuxt/kit": "^4.5.1", "execa": "^8.0.1" }, "peerDependencies": { "vite": ">=6.0" } }, "sha512-6ltPm2yUW8GvDdf3VJna7+flLi+ej7xRfSr+S4ovevKt/CuPf9EqYOn1jW7Kw/U1MXt/71zkn+/O2vu3G6O9Hg=="],
504
505 "@nuxt/devtools-wizard": ["@nuxt/devtools-wizard@3.4.1", "", { "dependencies": { "@clack/prompts": "^1.7.0", "consola": "^3.4.2", "diff": "^8.0.4", "execa": "^8.0.1", "magicast": "^0.5.4", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "semver": "^7.8.5" }, "bin": { "devtools-wizard": "./cli.mjs" } }, "sha512-taGeuTnkHsZVjgD9r6NXvvHaBzB2j4mCgOmlmkz3ntsqgh1SJfmsD11Tmtl7FVAxJS8Wuvuzgt0GyTlADBW9Wg=="],
506
507 "@nuxt/eslint": ["@nuxt/eslint@1.17.0", "", { "dependencies": { "@eslint/config-inspector": "^3.2.0", "@nuxt/devtools-kit": "^3.4.1", "@nuxt/eslint-config": "1.17.0", "@nuxt/eslint-plugin": "1.17.0", "@nuxt/kit": "^4.5.1", "chokidar": "^5.0.0", "eslint-flat-config-utils": "^3.2.0", "eslint-typegen": "^2.3.1", "find-up": "^8.0.0", "get-port-please": "^3.2.0", "mlly": "^1.8.2", "pathe": "^2.0.3", "unimport": "^6.4.0" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0", "eslint-webpack-plugin": "^4.1.0", "vite-plugin-eslint2": "^5.0.0" }, "optionalPeers": ["eslint-webpack-plugin", "vite-plugin-eslint2"] }, "sha512-54aD2xJvI2QJnHvQwN22hEgE/izF5ez+diPE7yLCJskKQ0tqPrNJCcRjBtuFQmQMQjTfHESsfuFdLfwMGUz8bw=="],
508
509 "@nuxt/eslint-config": ["@nuxt/eslint-config@1.17.0", "", { "dependencies": { "@antfu/install-pkg": "^2.0.1", "@clack/prompts": "^1.7.0", "@eslint/js": "^10.0.1", "@nuxt/eslint-plugin": "1.17.0", "@stylistic/eslint-plugin": "^5.10.0", "@typescript-eslint/eslint-plugin": "^8.66.0", "@typescript-eslint/parser": "^8.66.0", "eslint-config-flat-gitignore": "^2.3.0", "eslint-flat-config-utils": "^3.2.0", "eslint-merge-processors": "^2.0.0", "eslint-plugin-import-lite": "^0.6.0", "eslint-plugin-import-x": "^4.17.1", "eslint-plugin-jsdoc": "^63.3.3", "eslint-plugin-regexp": "^3.1.1", "eslint-plugin-unicorn": "^73.0.0", "eslint-plugin-vue": "^10.10.0", "eslint-processor-vue-blocks": "^2.0.0", "globals": "^17.9.0", "local-pkg": "^1.2.1", "pathe": "^2.0.3", "vue-eslint-parser": "^10.4.1" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0", "eslint-plugin-format": "*" }, "optionalPeers": ["eslint-plugin-format"] }, "sha512-5lHecnGvi7RxGsR3Amvnl47bxb3F4wFD9KQgbbmhd6prz3OAAbgQio9EK88tPyNHt7+dxIFFOnCH6TJNl/QbqQ=="],
510
511 "@nuxt/eslint-plugin": ["@nuxt/eslint-plugin@1.17.0", "", { "dependencies": { "@typescript-eslint/types": "^8.66.0", "@typescript-eslint/utils": "^8.66.0" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-h/fn4K09tA5tvdLj9Zlu5mb3TOVO2zLAetCsfJ1/LLVm2XWtgDVhfSB+Sm93cF1rCGxahmHZd4RJz2nAsWTDvg=="],
512
513 "@nuxt/fonts": ["@nuxt/fonts@0.14.0", "", { "dependencies": { "@nuxt/devtools-kit": "^3.2.1", "@nuxt/kit": "^4.2.2", "consola": "^3.4.2", "defu": "^6.1.4", "fontless": "^0.2.1", "h3": "^1.15.5", "magic-regexp": "^0.10.0", "ofetch": "^1.5.1", "pathe": "^2.0.3", "sirv": "^3.0.2", "tinyglobby": "^0.2.15", "ufo": "^1.6.3", "unifont": "^0.7.4", "unplugin": "^3.0.0", "unstorage": "^1.17.4" } }, "sha512-4uXQl9fa5F4ibdgU8zomoOcyMdnwgdem+Pi8JEqeDYI5yPR32Kam6HnuRr47dTb97CstaepAvXPWQUUHMtjsFQ=="],
514
515 "@nuxt/icon": ["@nuxt/icon@2.4.1", "", { "dependencies": { "@iconify/collections": "^1.0.715", "@iconify/types": "^2.0.0", "@iconify/utils": "^3.1.4", "@iconify/vue": "^5.0.1", "@nuxt/devtools-kit": "^3.3.1", "@nuxt/kit": "^4.5.0", "consola": "^3.4.2", "local-pkg": "^1.2.1", "mlly": "^1.8.2", "ohash": "^2.0.11", "picomatch": "^4.0.5", "std-env": "^4.2.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4" } }, "sha512-fOY3kiT6OoL4bWXVmMLc1VgoCm1PxIGSBmsSaLO090NEgtd1ub441dZ7MEoOD5UIilWzba1kCWdwJcAkGCOwLg=="],
516
517 "@nuxt/image": ["@nuxt/image@2.1.0", "", { "dependencies": { "@noble/hashes": "^2.2.0", "@nuxt/kit": "^4.5.1", "defu": "^6.1.7", "h3": "^1.15.11", "image-meta": "^0.2.2", "knitwork": "^1.3.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "std-env": "^4.2.0", "ufo": "^1.6.4" }, "optionalDependencies": { "ipx": "4.0.0-beta.1" } }, "sha512-UzAYq25uhwH1G6jvZBn/SwmniJr77fgF8KzbwUI3MuSdkIP3WQqt/F5wWKXgbGgAWWZGt8Vv2NQ0WZgFuxUBgQ=="],
518
519 "@nuxt/kit": ["@nuxt/kit@4.5.2", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.2", "exsolve": "^1.1.1", "ignore": "^7.0.6", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "nostics": "^1.2.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^3.0.0", "untyped": "^2.0.0", "verkit": "^0.3.1" } }, "sha512-l66LU9DcJYjmNwqwAj2I5UGRrUbnG2DOKGChnN70zIGtn0eq/z87gi/FRgha6eMb9/FmB1PFHgtx6PWVml1C2Q=="],
520
521 "@nuxt/nitro-server": ["@nuxt/nitro-server@4.4.8", "", { "dependencies": { "@nuxt/devalue": "^2.0.2", "@nuxt/kit": "4.4.8", "@unhead/vue": "^2.1.15", "@vue/shared": "^3.5.35", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "devalue": "^5.8.1", "errx": "^0.1.0", "escape-string-regexp": "^5.0.0", "exsolve": "^1.0.8", "h3": "^1.15.11", "impound": "^1.1.5", "klona": "^2.0.6", "mocked-exports": "^0.1.1", "nitropack": "^2.13.4", "nypm": "^0.6.6", "ohash": "^2.0.11", "pathe": "^2.0.3", "rou3": "^0.8.1", "std-env": "^4.1.0", "ufo": "^1.6.4", "unctx": "^2.5.0", "unstorage": "^1.17.5", "vue": "^3.5.35", "vue-bundle-renderer": "^2.2.0", "vue-devtools-stub": "^0.1.0" }, "peerDependencies": { "@babel/plugin-proposal-decorators": "^7.25.0", "@babel/plugin-syntax-typescript": "^7.25.0", "@rollup/plugin-babel": "^6.0.0 || ^7.0.0", "nuxt": "^4.4.8" }, "optionalPeers": ["@babel/plugin-proposal-decorators", "@babel/plugin-syntax-typescript", "@rollup/plugin-babel"] }, "sha512-cc1fxgSx34Htesx3JBO+hMhbqd6VljXDC06P+UOA5z53cR224TmEFYT/MUuZDkrtt4qLnSG8yq0IxhEM3NCUlw=="],
522
523 "@nuxt/schema": ["@nuxt/schema@4.4.8", "", { "dependencies": { "@vue/shared": "^3.5.35", "defu": "^6.1.7", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "std-env": "^4.1.0" } }, "sha512-igfWuMF0x0Pmx/XwhPwH/bcXgbuwNnjUjqxCAsY6VQhmGKo0e9soJq3Q0ohj+rBkBfX6o2ysTP1/t2M82aK4qA=="],
524
525 "@nuxt/telemetry": ["@nuxt/telemetry@2.8.0", "", { "dependencies": { "citty": "^0.2.1", "consola": "^3.4.2", "ofetch": "^2.0.0-alpha.3", "rc9": "^3.0.0", "std-env": "^4.0.0" }, "peerDependencies": { "@nuxt/kit": ">=3.0.0" }, "bin": { "nuxt-telemetry": "bin/nuxt-telemetry.mjs" } }, "sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ=="],
526
527 "@nuxt/ui": ["@nuxt/ui@4.10.0", "", { "dependencies": { "@floating-ui/dom": "^1.8.0", "@iconify/vue": "^5.0.1", "@internationalized/date": "^3.12.2", "@internationalized/number": "^3.6.7", "@nuxt/fonts": "^0.14.0", "@nuxt/icon": "^2.3.1", "@nuxt/kit": "^4.4.8", "@nuxt/schema": "^4.4.8", "@nuxtjs/color-mode": "^4.0.1", "@standard-schema/spec": "^1.1.0", "@tailwindcss/postcss": "^4.3.2", "@tailwindcss/vite": "^4.3.2", "@tanstack/vue-table": "^8.21.3", "@tanstack/vue-virtual": "^3.13.32", "@tiptap/core": "^3.27.3", "@tiptap/extension-bubble-menu": "^3.27.3", "@tiptap/extension-code": "^3.27.3", "@tiptap/extension-collaboration": "^3.27.3", "@tiptap/extension-drag-handle": "^3.27.3", "@tiptap/extension-drag-handle-vue-3": "^3.27.3", "@tiptap/extension-floating-menu": "^3.27.3", "@tiptap/extension-horizontal-rule": "^3.27.3", "@tiptap/extension-image": "^3.27.3", "@tiptap/extension-mention": "^3.27.3", "@tiptap/extension-node-range": "^3.27.3", "@tiptap/extension-placeholder": "^3.27.3", "@tiptap/markdown": "^3.27.3", "@tiptap/pm": "^3.27.3", "@tiptap/starter-kit": "^3.27.3", "@tiptap/suggestion": "^3.27.3", "@tiptap/vue-3": "^3.27.3", "@unhead/vue": "^2.1.15", "@vueuse/core": "^14.3.0", "@vueuse/integrations": "^14.3.0", "@vueuse/shared": "^14.3.0", "colortranslator": "^5.0.0", "consola": "^3.4.2", "defu": "^6.1.7", "embla-carousel-auto-height": "^8.6.0", "embla-carousel-auto-scroll": "^8.6.0", "embla-carousel-autoplay": "^8.6.0", "embla-carousel-class-names": "^8.6.0", "embla-carousel-fade": "^8.6.0", "embla-carousel-vue": "^8.6.0", "embla-carousel-wheel-gestures": "^8.1.0", "fuse.js": "^7.5.0", "hookable": "^6.1.1", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "motion-v": "^2.3.0", "ohash": "^2.0.11", "pathe": "^2.0.3", "reka-ui": "2.10.1", "scule": "^1.3.0", "tailwind-merge": "^3.6.0", "tailwind-variants": "^3.2.2", "tailwindcss": "^4.3.2", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unplugin": "^3.3.0", "unplugin-auto-import": "^21.0.0", "unplugin-vue-components": "^32.1.0", "vaul-vue": "0.4.1", "vue-component-type-helpers": "^3.3.7" }, "peerDependencies": { "@inertiajs/vue3": "^2.0.7 || ^3.0.0", "@nuxt/content": "^3.0.0", "ai": "^6 || ^7", "joi": "^18.0.0", "superstruct": "^2.0.0", "typescript": "^5.6.3 || ^6.0.0", "valibot": "^1.0.0", "vue-router": "^4.5.0 || ^5.0.0", "yup": "^1.7.0", "zod": "^3.24.0 || ^4.0.0" }, "optionalPeers": ["@inertiajs/vue3", "@nuxt/content", "ai", "joi", "superstruct", "valibot", "vue-router", "yup", "zod"], "bin": { "nuxt-ui": "cli/index.mjs" } }, "sha512-f6eFtHZ958XIVnbpGz7OeVRjuEXdmQWgNKWBppNlh/lP790KDi8IXTZ6lndJ72lpp7hC8Wo2BbSL9zo9fwywWQ=="],
528
529 "@nuxt/vite-builder": ["@nuxt/vite-builder@4.4.8", "", { "dependencies": { "@nuxt/kit": "4.4.8", "@rollup/plugin-replace": "^6.0.3", "@vitejs/plugin-vue": "^6.0.7", "@vitejs/plugin-vue-jsx": "^5.1.5", "autoprefixer": "^10.5.0", "consola": "^3.4.2", "cssnano": "^8.0.1", "defu": "^6.1.7", "escape-string-regexp": "^5.0.0", "exsolve": "^1.0.8", "get-port-please": "^3.2.0", "jiti": "^2.7.0", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "mocked-exports": "^0.1.1", "nypm": "^0.6.6", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "postcss": "^8.5.15", "seroval": "^1.5.4", "std-env": "^4.1.0", "ufo": "^1.6.4", "unenv": "^2.0.0-rc.24", "vite": "^7.3.3", "vite-node": "^5.3.0", "vite-plugin-checker": "^0.14.1", "vue-bundle-renderer": "^2.2.0" }, "peerDependencies": { "@babel/plugin-proposal-decorators": "^7.25.0", "@babel/plugin-syntax-jsx": "^7.25.0", "nuxt": "4.4.8", "rolldown": "^1.0.0-beta.38", "rollup-plugin-visualizer": "^6.0.0 || ^7.0.1", "vue": "^3.3.4" }, "optionalPeers": ["@babel/plugin-proposal-decorators", "@babel/plugin-syntax-jsx", "rolldown", "rollup-plugin-visualizer"] }, "sha512-54M/k6qVY85Qeoe1m/lPZ0SANGJEbI50r5uYgh3XT942ENve3K5Nk6TMYp8i5wGGC4TWvPea+1mlCrp8rjsXag=="],
530
531 "@nuxtjs/color-mode": ["@nuxtjs/color-mode@4.0.1", "", { "dependencies": { "@nuxt/kit": "^4.4.6", "exsolve": "^1.0.8", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "semver": "^7.8.1" } }, "sha512-eiA7hWXi5zNHaYKyJFCGF6i0wFZtuvR7KDXZ6jiSvwxjCpRFwphrw0MOSmNfArTSSsT1wpW+/2H92cejeVfUlg=="],
532
533 "@nuxtjs/i18n": ["@nuxtjs/i18n@10.6.0", "", { "dependencies": { "@intlify/core": "^11.4.8", "@intlify/h3": "^0.7.4", "@intlify/message-compiler": "^11.4.8", "@intlify/shared": "^11.4.8", "@intlify/unplugin-vue-i18n": "^11.2.4", "@intlify/utils": "^0.14.1", "@miyaneee/rollup-plugin-json5": "^1.2.0", "@nuxt/kit": "^4.5.1", "@rollup/plugin-yaml": "^4.1.2", "@vue/compiler-sfc": "^3.5.40", "confbox": "^0.2.4", "defu": "^6.1.7", "devalue": "^5.8.2", "h3": "^1.15.11", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "nuxt-define": "^1.0.0", "oxc-parser": "^0.141.0", "oxc-transform": "^0.141.0", "oxc-walker": "^0.7.0", "pathe": "^2.0.3", "ufo": "^1.6.4", "unhead": "^3.2.3", "unplugin": "^3.3.0", "unrouting": "^0.2.2", "unstorage": "^1.17.5", "vue-i18n": "^11.4.8", "vue-router": "^5.2.0" } }, "sha512-20YXYOcc8cSh/pSpNgj+MHAn11qUbsFR1IBJh6qYtRPVhUUmgqJ1DyMu39MB+uEYYL/fsberL2ByMYrFaROslw=="],
534
535 "@nuxtjs/mcp-toolkit": ["@nuxtjs/mcp-toolkit@0.18.1", "", { "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0", "@nuxt/kit": "^4.5.1", "@vitejs/plugin-vue": "^6.0.8", "tinyglobby": "^0.2.17", "vite-plugin-singlefile": "^2.3.3" }, "peerDependencies": { "@vue/compiler-sfc": "^3.5.40", "agents": ">=0.20.0", "h3": ">=1.15.11", "secure-exec": ">=0.3.3", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.5.40", "zod": "^4.1.13" }, "optionalPeers": ["@vue/compiler-sfc", "agents", "secure-exec", "vite", "vue"] }, "sha512-RLr/CfSQH4RcB68TR1YpuhGBJGmxcwo6IrNovM6zUgnTUC7Br8Ji3saZB7QKoLRt9GMEnz+UbS341FL5Odw2Ew=="],
536
537 "@nuxtjs/mdc": ["@nuxtjs/mdc@0.22.2", "", { "dependencies": { "@nuxt/kit": "^4.4.8", "@shikijs/core": "^4.3.0", "@shikijs/engine-javascript": "^4.3.0", "@shikijs/langs": "^4.3.0", "@shikijs/themes": "^4.3.0", "@shikijs/transformers": "^4.3.0", "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", "@vue/compiler-core": "^3.5.39", "consola": "^3.4.2", "debug": "^4.4.3", "defu": "^6.1.7", "destr": "^2.0.5", "detab": "^3.0.2", "github-slugger": "^2.0.0", "hast-util-format": "^1.1.0", "hast-util-to-mdast": "^10.1.2", "hast-util-to-string": "^3.0.1", "mdast-util-to-hast": "^13.2.1", "micromark-util-sanitize-uri": "^2.0.1", "parse5": "^8.0.1", "pathe": "^2.0.3", "property-information": "^7.2.0", "rehype-external-links": "^3.0.0", "rehype-minify-whitespace": "^6.0.2", "rehype-raw": "^7.0.0", "rehype-remark": "^10.0.1", "rehype-slug": "^6.0.0", "rehype-sort-attribute-values": "^5.0.1", "rehype-sort-attributes": "^5.0.1", "remark-emoji": "^5.0.2", "remark-gfm": "^4.0.1", "remark-mdc": "^3.11.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-stringify": "^11.0.0", "scule": "^1.3.0", "shiki": "^4.3.0", "ufo": "^1.6.4", "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-visit": "^5.1.0", "unwasm": "^0.5.3", "vfile": "^6.0.3" } }, "sha512-bGI/tXOB7iOMY5LBmSICTVE1l2MsNdLnbZDc+zbaeVv6EXz8V7oyJgi+Fe32qWTS+k5cNjAzj90gvlQfJ/RW9g=="],
538
539 "@nuxtjs/robots": ["@nuxtjs/robots@6.1.3", "", { "dependencies": { "@fingerprintjs/botd": "^2.0.0", "@nuxt/kit": "^4.5.0", "consola": "^3.4.2", "defu": "^6.1.7", "h3": "^1.15.11", "nuxt-site-config": "^4.1.1", "nuxtseo-shared": "^5.3.2", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "ufo": "^1.6.4" }, "peerDependencies": { "zod": ">=3" }, "optionalPeers": ["zod"] }, "sha512-t1EAXgJ5A3QfwVOzWrHCuojHhirKDtUMOuoUPBVvfxyDGKIsHwnif5+4vR9HQK2fdOZqiSE/TfBsWiZhjJleOw=="],
540
541 "@octokit/auth-token": ["@octokit/auth-token@6.0.0", "", {}, "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w=="],
542
543 "@octokit/core": ["@octokit/core@7.0.7", "", { "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.4", "@octokit/request": "^10.0.13", "@octokit/request-error": "^7.1.1", "@octokit/types": "^17.0.0", "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-DcB0M3KFgr9ECI328lhBMVsyFT2DnmNucSBTqEN3exyNKUzkkpUSCHmTRcunF41Eou2TIQKW4seewri8ON9bSA=="],
544
545 "@octokit/endpoint": ["@octokit/endpoint@11.0.4", "", { "dependencies": { "@octokit/types": "^17.0.0", "universal-user-agent": "^7.0.2" } }, "sha512-f1cOWoHPmxryJFknxbtDdjODWfV8A9tc8Aae6ermXPNgHFZ/x91AtHIz4gicEjL8hkJiip+u21QHJORfBv/qiA=="],
546
547 "@octokit/graphql": ["@octokit/graphql@9.0.4", "", { "dependencies": { "@octokit/request": "^10.0.13", "@octokit/types": "^17.0.0", "universal-user-agent": "^7.0.0" } }, "sha512-5s15CCiY8XXQ+FG+b1YQcl6Z2FA++nwAz/tg2VUrTmnMncP+2nnGUEYANImdnxsA2Fnq+Mbl7hDjUTw7cFAwcg=="],
548
549 "@octokit/openapi-types": ["@octokit/openapi-types@28.0.0", "", {}, "sha512-0rFyLuyHvIj6uuZWuDslxkowFYdPXoNIkeAv4b27dzm2Tf4vGWXnPsMcxs7d65kLdMERgP3wc1AEPlqMz8e1cQ=="],
550
551 "@octokit/plugin-paginate-rest": ["@octokit/plugin-paginate-rest@14.0.0", "", { "dependencies": { "@octokit/types": "^16.0.0" }, "peerDependencies": { "@octokit/core": ">=6" } }, "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw=="],
552
553 "@octokit/plugin-request-log": ["@octokit/plugin-request-log@6.0.0", "", { "peerDependencies": { "@octokit/core": ">=6" } }, "sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q=="],
554
555 "@octokit/plugin-rest-endpoint-methods": ["@octokit/plugin-rest-endpoint-methods@17.0.0", "", { "dependencies": { "@octokit/types": "^16.0.0" }, "peerDependencies": { "@octokit/core": ">=6" } }, "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw=="],
556
557 "@octokit/request": ["@octokit/request@10.0.13", "", { "dependencies": { "@octokit/endpoint": "^11.0.3", "@octokit/request-error": "^7.1.1", "@octokit/types": "^17.0.0", "content-type": "^2.0.0", "json-with-bigint": "^3.5.3", "universal-user-agent": "^7.0.2" } }, "sha512-v2269YxL9Yf+x3d+gRI63FP0vFQEiWgLyBzxe/Y+0yFDg2B/Tzf5dhh9VNfccVAQnfcfwQWyk/y6Bn7rUXXs7A=="],
558
559 "@octokit/request-error": ["@octokit/request-error@7.1.1", "", { "dependencies": { "@octokit/types": "^17.0.0" } }, "sha512-+eaY7G2VVpSf2pc5Gn1+mph837V/d/TYTJAgWL9Tb0ogGYcpN3IlAVFgjL+Vv93F/sevrxkvsYCedtpLdcFLzA=="],
560
561 "@octokit/rest": ["@octokit/rest@22.0.1", "", { "dependencies": { "@octokit/core": "^7.0.6", "@octokit/plugin-paginate-rest": "^14.0.0", "@octokit/plugin-request-log": "^6.0.0", "@octokit/plugin-rest-endpoint-methods": "^17.0.0" } }, "sha512-Jzbhzl3CEexhnivb1iQ0KJ7s5vvjMWcmRtq5aUsKmKDrRW6z3r84ngmiFKFvpZjpiU/9/S6ITPFRpn5s/3uQJw=="],
562
563 "@octokit/types": ["@octokit/types@17.0.0", "", { "dependencies": { "@octokit/openapi-types": "^28.0.0" } }, "sha512-ByP1v7YL5SMveFPP7+sj0/ZuWCOOg/Chs4NafOMpq6WNIM/hdGY0S7C0TCGDBWu1aGmOxmUIhMx3cO+IdwYZ1Q=="],
564
565 "@oxc-minify/binding-android-arm-eabi": ["@oxc-minify/binding-android-arm-eabi@0.133.0", "", { "os": "android", "cpu": "arm" }, "sha512-D8M1+nqwLaACHZsld/t6f+cE4N97XOu5iQ88f1ZaYH4ptFzFrXo5N7wUKACTI4xmNUD+6W0Y4Apk5U2r8HLdBQ=="],
566
567 "@oxc-minify/binding-android-arm64": ["@oxc-minify/binding-android-arm64@0.133.0", "", { "os": "android", "cpu": "arm64" }, "sha512-dnQUJdpOEh/nZfQtvGGN61VcCCcPJ2aCm+ndl8GIA2lk2GpmIBgZ9h+phLVhgUFGt2es+2AQc0xvtK7RFNsViw=="],
568
569 "@oxc-minify/binding-darwin-arm64": ["@oxc-minify/binding-darwin-arm64@0.133.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-K6+aXlOlsCcibpTiTitQYNXWGGwea0fEKF/kGHCNB+MNqOLCkdC7wesycaABYcXcyr58DhDoJnVb8E4Hq95iVw=="],
570
571 "@oxc-minify/binding-darwin-x64": ["@oxc-minify/binding-darwin-x64@0.133.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-BFEXHxYNwThyaO63p1VE5MOOXNGkHsHfkmajOCKXH40TfllTHQenXhpJ9mHDoF7EhaQjArpPjlDY88BuPjhurw=="],
572
573 "@oxc-minify/binding-freebsd-x64": ["@oxc-minify/binding-freebsd-x64@0.133.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-oT5dbcXnS/cbpdXCpudAeVg/fqH1XnKhLUE/vkuRTuocjOd/GA2MoNMMhLWUvqNXO0xJnYmo2ISmDxShkItfOQ=="],
574
575 "@oxc-minify/binding-linux-arm-gnueabihf": ["@oxc-minify/binding-linux-arm-gnueabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-tJ3B+b7DOuTsIMXSmu5xHHCakrBqqcrp4COYd/lelOdDvkbFoDRGnwH91POUOSUEOI/WLzIMkDqAH2SZ3N2jhQ=="],
576
577 "@oxc-minify/binding-linux-arm-musleabihf": ["@oxc-minify/binding-linux-arm-musleabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-XMUHfdilk1KTtOM2vA1bwDso07/wkLm/GgDOO9z/ioxrZoQyjXnJRW665VXa08z2BqEgwHRc1zH9p7s6sKPQbg=="],
578
579 "@oxc-minify/binding-linux-arm64-gnu": ["@oxc-minify/binding-linux-arm64-gnu@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UEff2jopbwJ4SndmxK06uqXrOpwWiJERJPdgDTBywwXP9QgW0p1YkQnBNt4+jK0I/hdLpbbyaCLLuUPKbaU70w=="],
580
581 "@oxc-minify/binding-linux-arm64-musl": ["@oxc-minify/binding-linux-arm64-musl@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-yqskeIapQvx7Tu/OLsepLPcGsHGzfYy9PX6gIbhaOHfF+LA2zHBKnKb587FGx+lQjHLQR0llfmoSuXQ6q2EN+A=="],
582
583 "@oxc-minify/binding-linux-ppc64-gnu": ["@oxc-minify/binding-linux-ppc64-gnu@0.133.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-r7PnUNxRB9D/gQjCVeasoieJVUF48n43rvk/jYbGAw9sRfYGoEo/rOs0GyTZU9ttss8HzjBaerAbADbAL8K8vw=="],
584
585 "@oxc-minify/binding-linux-riscv64-gnu": ["@oxc-minify/binding-linux-riscv64-gnu@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-omXWC8I9lAMMjQIeadfItP5H4VDAiuU2BiVCtHMH3ktTbFq04sxscZhK4NFUUuw3fApDdXmfd7LW18q0JBHarg=="],
586
587 "@oxc-minify/binding-linux-riscv64-musl": ["@oxc-minify/binding-linux-riscv64-musl@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-LtFA3Hi8LVD/zuiPLKy9Aiz7N1IOj8rRhdXiW38GKQ9mAhj+Ko6IHGcTk2A7yNDA1DZBl7r+Qd4PEGWgVelPPw=="],
588
589 "@oxc-minify/binding-linux-s390x-gnu": ["@oxc-minify/binding-linux-s390x-gnu@0.133.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-rFsPDsT1j3beSInbrFukAAlTg101PcqdVMXDioR9AgJ1180tZ8s8D+pNDpQTRmPd3956mnpAE+Cs77Xoo/QZAQ=="],
590
591 "@oxc-minify/binding-linux-x64-gnu": ["@oxc-minify/binding-linux-x64-gnu@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-xlrtAmDWZI8BEmsaXMYfblWuLIY5UnnRkit1VLkmVDb5ceZRZf4oEXK1QeYf5Z33dT0WK1Ek++P+TL/ZMCpyGQ=="],
592
593 "@oxc-minify/binding-linux-x64-musl": ["@oxc-minify/binding-linux-x64-musl@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-kd36CDkTkZDMNfVceNTSfpWnitE1+GjZmzJCeq8yaxsgvs/MXg8aauI2RgFjElYZIHSMyZku4pQ7Jtl3ZEYI6w=="],
594
595 "@oxc-minify/binding-openharmony-arm64": ["@oxc-minify/binding-openharmony-arm64@0.133.0", "", { "os": "none", "cpu": "arm64" }, "sha512-pI38dJBqfkNbFoL/GEarAzGDjKGVCZTdg0a8NKh1PP9GqWleXT6HLtXE4CZ+54e+2u68qVYVBwhbWAiRfwlUZA=="],
596
597 "@oxc-minify/binding-wasm32-wasi": ["@oxc-minify/binding-wasm32-wasi@0.133.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-AkLr+d+LLY4/55J/TrE0srNBUpZPzyU+cygdse7yZ9AhCndryNqe2y6e8naVK0TV7n8lxBd2OGGJAkho6blAkw=="],
598
599 "@oxc-minify/binding-win32-arm64-msvc": ["@oxc-minify/binding-win32-arm64-msvc@0.133.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-V92v7397t2073g+mSfaLHnPeoz6hA/1U4JNLeUBP87eWGZgVxDZ2qz3t3wFyYqXGJ/0VoEwdP8yrHLQQ7QzAOQ=="],
600
601 "@oxc-minify/binding-win32-ia32-msvc": ["@oxc-minify/binding-win32-ia32-msvc@0.133.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-2DP5RbG/SSaRVtmuwgTH6Ati4+uuOJjoI88dQnC5hD0zCC90EVDXZSXyJQ5i/OxLE1UAy58Wo2DJot/OrUspzA=="],
602
603 "@oxc-minify/binding-win32-x64-msvc": ["@oxc-minify/binding-win32-x64-msvc@0.133.0", "", { "os": "win32", "cpu": "x64" }, "sha512-PJ75c6PlBx87tau0W35J43eGCv4wrDmdZ+4ddTZAnGtZqEeCVsLdmDPOEMe2DepogqlSVUF2kGBWtnFUJ5c7Rw=="],
604
605 "@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.133.0", "", { "os": "android", "cpu": "arm" }, "sha512-l/44caGse+VpnY9gx0yvvc5QnnG3yG1FO3KZgYvNL1GZrfK86zIwAOgGEVlxDyRymzrU/KHiblPFpevKOmJmUA=="],
606
607 "@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.133.0", "", { "os": "android", "cpu": "arm64" }, "sha512-KUHmPMziLBp4u+zbrLdB7iWS7KshuZe+RAp7ELnY9SI9nNXBZ+dp8fiBqWOxhXqn+FQg3a4UcQhwmsJOKV8Jjg=="],
608
609 "@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.133.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-q8dWmnU/8ea2tga9w2f1PinQ5rcMPDUGkF64T189b65YMjUomET4oy5oRldOr4AwOQkneOG/Zttnz1Dvrc62wg=="],
610
611 "@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.133.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-cOKeIELIB2bJnCKwqx4Rdj+1Lss/U6uCbLxRySZrhyOOQa1flKhwZFjEHRHxk8fU1NKmhK5OnTdPQ4CpjuFuVw=="],
612
613 "@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.133.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-OpaSv4pW3KgFrMYQxTaS0aOE4T1DQF3qZE/4B6uqqv1KgPWWd4UQhJALi8PJPX1RRV5K7ThKXRfF7qGg2+3l1A=="],
614
615 "@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-JGK1wlGrGwxBIlVSF7KWTX1/ru6BEtf28fRROztDRkLfiW+Kxa4onnriezMIiogfn9hVw2KzYcKiLjkLR2ns8A=="],
616
617 "@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-yuZO533Ftonxn/iyoqQzURzLQHMspvsIyfiCSNi1t/ER4eIQaR0SsmUOUm5b/lmSig7IWIUa5/BrbEkAPwcilQ=="],
618
619 "@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-hvpbqT5pN2rR+3+xtWeizwfR/aZ0vGceg6TqYMl+ToxMpk9/tmnX7kSvQnfEUkoua8mhogzvIKsAkn0wxgblBA=="],
620
621 "@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-wJQGamIosQBoJHW9+S5XxrtKRo3eyJxsnS1XCPrqN0LHi8uw1pTqqTfn3t/NVuvbBg7Pumn4ez9Eidgcn0xbEg=="],
622
623 "@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.133.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Koaz32/O5+abIfrNGdyndgRvdOZ9jEf5/z3Ep9h3h2QWpdDiUQpVwgH0OcMXCs+l9aXxPLtkupqyVig9W6FDKw=="],
624
625 "@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-R4vOjWzxhnNWHnVLeiB6jNuIifdy9vcMXZGPc7StXcxBovI+U2zg1QhZ9o8OjV80oGivs1lX5NfPLzk4IPqlRA=="],
626
627 "@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-iwgBNUTHiMdxARLYuM0SBlnYeb19iw1Ea5M+4ERZupCsBMLArti6FyZ6UfFjJxIiTDr2oW2DGQFxlQVQ/dW9rA=="],
628
629 "@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.133.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-ZwZNo8FZmB/gVfboQl+wXilBigGl+6nQQs+nITOeAP/HcAOjiHl6XZJL9F/KXNEspODQcbjAiyjUbeCJd9a0fA=="],
630
631 "@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-govCvWx1dBlED3uu4qXctxpRcouu9I8Kn+DBktGCl760JtlGJzc9l/OmPJKlYWSbrRqKkMZehNeZ/4Wfma7uSA=="],
632
633 "@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ssTlpXD5Mq9uCssDJPzlRWqBt4Y7Zzd9i+XZhWmK/9Y6KUIuAxVYTYiI8lxcGWi0+3/Cz4A8q9UrD4NK9Y2j7g=="],
634
635 "@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.133.0", "", { "os": "none", "cpu": "arm64" }, "sha512-51aByfXhPtLEdWG4a2Ihdw6cPWV1ei1AarALpFdDP8MLWDLE2NuUMgbo3DERR2Kt8fT/ok1GUvBiLxVGke9uUQ=="],
636
637 "@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.133.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-2e16tkKp+wDO2GTAmXfxbBcCmGEaFPIJEIRBBmVKNVXSc8/fJsSIaBGyFTPHM9ST5GNWgJcYIt94rDTks+PLwA=="],
638
639 "@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.133.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-KPTNDKbxH1cglrqTyVeXHb4Pk4oksz8EcE1/v8zqU7N4UXbiHfA/IwtXZ2U77fnRAWBbgVkl/lZbL7o3hRdejg=="],
640
641 "@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.133.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-Una1bNYv9zCavQrfnDR9wuZVB3itLjCEH4Oz7i6CwAJN/Xq9b+zbbcxmvdkKvvJt4Ngc/MBmIYlbLo3zS4TQ0A=="],
642
643 "@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.133.0", "", { "os": "win32", "cpu": "x64" }, "sha512-kjBhCiOGSYTwDJQuuZa7a94JbP8htWu7J0X1KwH74kV2K5eYf6eyJRYmkpCDvr0XEL8tMxYI4WU1VekblFCLgg=="],
644
645 "@oxc-project/types": ["@oxc-project/types@0.133.0", "", {}, "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA=="],
646
647 "@oxc-transform/binding-android-arm-eabi": ["@oxc-transform/binding-android-arm-eabi@0.133.0", "", { "os": "android", "cpu": "arm" }, "sha512-2A79NBpyBKgHJ0FwgC8D1hzp3x2ujyvqq/kG+M76YyDMMkxLhX6A3vjnAnfEKycOoZxuKhwYu8BF9hKq67ykIA=="],
648
649 "@oxc-transform/binding-android-arm64": ["@oxc-transform/binding-android-arm64@0.133.0", "", { "os": "android", "cpu": "arm64" }, "sha512-dynEph/hyoSgBzd2XbNlW37NK97nU6tZMs5jrhObUxSasBV/Gv9THZrWj9AlbWiMXR07WFYE82C9axjntYyBSw=="],
650
651 "@oxc-transform/binding-darwin-arm64": ["@oxc-transform/binding-darwin-arm64@0.133.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4hGgKOG+dZSN3xjcgNWpcihekRG7/YbbAdjyz07yv0HjzA6kdqYAhGrn84374UPO2h6etYJwsCBoM9iJHHvJ8w=="],
652
653 "@oxc-transform/binding-darwin-x64": ["@oxc-transform/binding-darwin-x64@0.133.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-7J11/9PFkznmKuANkCAjt3znV1BcDFXQSgDiBvDxXT3Wm6995/zxrJD5zmo+5XSgY4sm+2V8/ED6ZSD3mKOC5A=="],
654
655 "@oxc-transform/binding-freebsd-x64": ["@oxc-transform/binding-freebsd-x64@0.133.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-5EMAO0vzCpUfhn6aSjIUeJeRI2ztevHwSVr/M8sZ2VBYc79UuOfjjMCQ67LtUbgpvQtpBWkzeAHCP3L7JFYmlg=="],
656
657 "@oxc-transform/binding-linux-arm-gnueabihf": ["@oxc-transform/binding-linux-arm-gnueabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-z6XT8tmo9sPmCIYaFIxDelBU4wXLwwWMX2VNCMIY6bkQp5r+kRtVXYS3yLbJHMKEhRKvw/g+Z7fO9aadsGGEAw=="],
658
659 "@oxc-transform/binding-linux-arm-musleabihf": ["@oxc-transform/binding-linux-arm-musleabihf@0.133.0", "", { "os": "linux", "cpu": "arm" }, "sha512-GQDpEV2VhHG8hT5BviDv+emi9oHYhfv+JJJWROYp+eGgWjiQMp4QZVb6Bu3kwVMzkwy0r200ToA1KThYTq53ug=="],
660
661 "@oxc-transform/binding-linux-arm64-gnu": ["@oxc-transform/binding-linux-arm64-gnu@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-VstR+NEQAJb80ysWk2vPjEvg0JzwEjKn2hDbC/joa5zGXkCnVVCWgAGG8c6o23S981a7XRpCMcClBgeD1q9H2A=="],
662
663 "@oxc-transform/binding-linux-arm64-musl": ["@oxc-transform/binding-linux-arm64-musl@0.133.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Ec7xJdDrnukgiz20E3iDNzAIgx1XXn8cVVsNNUpgEIAvNlXZaocqlQT8Zalk0Lv3fbkxcJ+9BuWB0ndBRHQtzg=="],
664
665 "@oxc-transform/binding-linux-ppc64-gnu": ["@oxc-transform/binding-linux-ppc64-gnu@0.133.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-6YX38grimcigz20eYpyz6e4c9rDKzwK3i+tcDpgwYj0bWreaAOwrABmSmKplPJOorkDVlbT69wPCN+d11irBQw=="],
666
667 "@oxc-transform/binding-linux-riscv64-gnu": ["@oxc-transform/binding-linux-riscv64-gnu@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-WxMIzItRJR66lgaAyyqj0FFwLMpcuCV9mTFcUMQpIz8+Hey1Enk8xuv+7QpSsqCR5zRlwNr092dsFkz5cbvtrw=="],
668
669 "@oxc-transform/binding-linux-riscv64-musl": ["@oxc-transform/binding-linux-riscv64-musl@0.133.0", "", { "os": "linux", "cpu": "none" }, "sha512-+x6dnO87986rjVNjcF0tg8wVS0e/SH8nzLa/X0Wsh7jtEniN7buvR8iqZm8pnsfaZ8DH5F4GCSZpoPRrd9jJ6w=="],
670
671 "@oxc-transform/binding-linux-s390x-gnu": ["@oxc-transform/binding-linux-s390x-gnu@0.133.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-oEyQudXIwWM/+v0vZzPbAi25YMWyvjtQYYjuSrhMEQwe7ZEMDXscX7U1j6alrVdZq2DtCMeror3X/Dv7p/JUwg=="],
672
673 "@oxc-transform/binding-linux-x64-gnu": ["@oxc-transform/binding-linux-x64-gnu@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-G8P/OadKTbyUHz5TK63sDDtUHwn2SXG/o0oGo4GGTzBu70xmUSN5/ZUgpyl6ypAmbshoyw8nC7+msb3BjzHxaA=="],
674
675 "@oxc-transform/binding-linux-x64-musl": ["@oxc-transform/binding-linux-x64-musl@0.133.0", "", { "os": "linux", "cpu": "x64" }, "sha512-Oi/fyOzZ+aytmmsRND5pGgvux4n++v9cG4qNFiXj7qFwSqBKWZHBq7cJLXqbH1I81pyI3kvU1Za+1qk3afXuwg=="],
676
677 "@oxc-transform/binding-openharmony-arm64": ["@oxc-transform/binding-openharmony-arm64@0.133.0", "", { "os": "none", "cpu": "arm64" }, "sha512-/ZElgq+/tcga27X2G2AUpxcYX0baX94Gz658w6Zz2P+6Kr06bfYSrdtC0P7oPrbu3Gy/6kpiSoJPgZy8R2IjYQ=="],
678
679 "@oxc-transform/binding-wasm32-wasi": ["@oxc-transform/binding-wasm32-wasi@0.133.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-GANcoEa8Nzza7saxdb4qWO24U6jk4nK6G+g87lGp8TTU45CUvWf1Igdze2+NrebgiwOy6F1/h6Esag4DM3JTtQ=="],
680
681 "@oxc-transform/binding-win32-arm64-msvc": ["@oxc-transform/binding-win32-arm64-msvc@0.133.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-2+uDo/+ZvGQu10J8xryg/l5PdBt2vXPtf+0aIosVKJavqCaKcBDdo95OUaEulx0bqvoytAQ4yyz2gcPZ40mjcQ=="],
682
683 "@oxc-transform/binding-win32-ia32-msvc": ["@oxc-transform/binding-win32-ia32-msvc@0.133.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-zpPIZ1S3JHmSEFyyGyPYCwhOiNLyfaPifYxK8BQY21JXyHglu/wUr3/ESFrXb+XegEy/iBlWbzr3FzPtcq1MUw=="],
684
685 "@oxc-transform/binding-win32-x64-msvc": ["@oxc-transform/binding-win32-x64-msvc@0.133.0", "", { "os": "win32", "cpu": "x64" }, "sha512-cADrfLvc/VeyvpvQS+t5ktqfyqyyGANZC5NHp++JAElacfXqq/+k8bYkjqMWzNZ3HxkJtL1qDHfZZCA9+4hlSQ=="],
686
687 "@parcel/watcher-wasm": ["@parcel/watcher-wasm@2.6.0", "", { "dependencies": { "is-glob": "^4.0.3", "napi-wasm": "^1.1.0", "picomatch": "^4.0.4" } }, "sha512-dtjbDxKSDPQ8AmA+pS4OFaHE1FKrjtGpLGBxw85uKFkRorjNbvDM/aFPgqosu40wprbp1xw2ZSxIKqghCUHe2w=="],
688
689 "@phun-ky/typeof": ["@phun-ky/typeof@2.0.3", "", {}, "sha512-oeQJs1aa8Ghke8JIK9yuq/+KjMiaYeDZ38jx7MhkXncXlUKjqQ3wEm2X3qCKyjo+ZZofZj+WsEEiqkTtRuE2xQ=="],
690
691 "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
692
693 "@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="],
694
695 "@poppinss/colors": ["@poppinss/colors@4.1.6", "", { "dependencies": { "kleur": "^4.1.5" } }, "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg=="],
696
697 "@poppinss/dumper": ["@poppinss/dumper@0.7.0", "", { "dependencies": { "@poppinss/colors": "^4.1.5", "@sindresorhus/is": "^7.0.2", "supports-color": "^10.0.0" } }, "sha512-0UTYalzk2t6S4rA2uHOz5bSSW2CHdv4vggJI6Alg90yvl0UgXs6XSXpH96OH+bRkX4J/06djv29pqXJ0lq5Kag=="],
698
699 "@poppinss/exception": ["@poppinss/exception@1.2.3", "", {}, "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw=="],
700
701 "@quansync/fs": ["@quansync/fs@1.0.0", "", { "dependencies": { "quansync": "^1.0.0" } }, "sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ=="],
702
703 "@release-it/bumper": ["@release-it/bumper@7.0.6", "", { "dependencies": { "@decimalturn/toml-patch": "^1.3.0", "@iarna/toml": "^3.0.0", "cheerio": "^1.2.0", "detect-indent": "7.0.2", "fast-glob": "^3.3.3", "ini": "^6.0.0", "js-yaml": "^4.1.1", "lodash-es": "^4.18.1", "semver": "^7.8.1" }, "peerDependencies": { "release-it": "^18.0.0 || ^19.0.0 || ^20.0.0" } }, "sha512-vzKrEGPac/yim5WUjMmIQ9k+n3NlWHYraUIlLkHna2Ka0+zmmB1peW8POMjA6Fb7TwcIsNMuoXj2wLc8NFzgRg=="],
704
705 "@release-it/conventional-changelog": ["@release-it/conventional-changelog@11.0.1", "", { "dependencies": { "@conventional-changelog/git-client": "^2.7.0", "concat-stream": "^2.0.0", "conventional-changelog": "^7.2.0", "conventional-changelog-angular": "^8.3.1", "conventional-changelog-conventionalcommits": "^9.3.1", "conventional-recommended-bump": "^11.2.0", "semver": "^7.7.4" }, "peerDependencies": { "release-it": "^18.0.0 || ^19.0.0 || ^20.0.0" } }, "sha512-SHAnHfOFhazpDeYuQSqH8Qm8RJa2oREn2ILSod+9s8dqiA18mBgpPyYlpvRaqISCVerSmLzEZghQBKphkrf4IQ=="],
706
707 "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="],
708
709 "@rollup/plugin-alias": ["@rollup/plugin-alias@6.0.0", "", { "peerDependencies": { "rollup": ">=4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g=="],
710
711 "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@29.0.3", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", "fdir": "^6.2.0", "is-reference": "1.2.1", "magic-string": "^0.30.3", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-ZaOxZceP7SOUW7Lqw5IRVweSQYWaeIPnXIGLiB690EBA3FGJTO40EEr2L5yZplJWsgTCogILRSpcAe7+U0Otdg=="],
712
713 "@rollup/plugin-inject": ["@rollup/plugin-inject@5.0.5", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg=="],
714
715 "@rollup/plugin-json": ["@rollup/plugin-json@6.1.0", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA=="],
716
717 "@rollup/plugin-node-resolve": ["@rollup/plugin-node-resolve@16.0.3", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", "is-module": "^1.0.0", "resolve": "^1.22.1" }, "peerDependencies": { "rollup": "^2.78.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg=="],
718
719 "@rollup/plugin-replace": ["@rollup/plugin-replace@6.0.3", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA=="],
720
721 "@rollup/plugin-terser": ["@rollup/plugin-terser@1.0.0", "", { "dependencies": { "serialize-javascript": "^7.0.3", "smob": "^1.0.0", "terser": "^5.17.4" }, "peerDependencies": { "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ=="],
722
723 "@rollup/plugin-yaml": ["@rollup/plugin-yaml@4.1.2", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "js-yaml": "^4.1.0", "tosource": "^2.0.0-alpha.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-RpupciIeZMUqhgFE97ba0s98mOFS7CWzN3EJNhJkqSv9XLlWYtwVdtE6cDw6ASOF/sZVFS7kRJXftaqM2Vakdw=="],
724
725 "@rollup/pluginutils": ["@rollup/pluginutils@5.4.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg=="],
726
727 "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.62.4", "", { "os": "android", "cpu": "arm" }, "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg=="],
728
729 "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.62.4", "", { "os": "android", "cpu": "arm64" }, "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A=="],
730
731 "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.62.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw=="],
732
733 "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.62.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A=="],
734
735 "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.62.4", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ=="],
736
737 "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.62.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg=="],
738
739 "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.62.4", "", { "os": "linux", "cpu": "arm" }, "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA=="],
740
741 "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.62.4", "", { "os": "linux", "cpu": "arm" }, "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ=="],
742
743 "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.62.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ=="],
744
745 "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.62.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g=="],
746
747 "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA=="],
748
749 "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ=="],
750
751 "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.62.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w=="],
752
753 "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.62.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w=="],
754
755 "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ=="],
756
757 "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.62.4", "", { "os": "linux", "cpu": "none" }, "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA=="],
758
759 "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.62.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA=="],
760
761 "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.62.4", "", { "os": "linux", "cpu": "x64" }, "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw=="],
762
763 "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.62.4", "", { "os": "linux", "cpu": "x64" }, "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA=="],
764
765 "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.62.4", "", { "os": "openbsd", "cpu": "x64" }, "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ=="],
766
767 "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.62.4", "", { "os": "none", "cpu": "arm64" }, "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ=="],
768
769 "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.62.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw=="],
770
771 "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.62.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ=="],
772
773 "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.62.4", "", { "os": "win32", "cpu": "x64" }, "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw=="],
774
775 "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.62.4", "", { "os": "win32", "cpu": "x64" }, "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q=="],
776
777 "@shikijs/core": ["@shikijs/core@4.4.2", "", { "dependencies": { "@shikijs/primitive": "4.4.2", "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5", "hast-util-to-html": "^9.0.5" } }, "sha512-StyzbAyxg2/tBGf78gwbBkGyeQ73lf8UiJArFaQhTQIDqQOCKPCQFanvrs4/Yv3Yfyc+ONInJM6K+FMIf+P+kA=="],
778
779 "@shikijs/engine-javascript": ["@shikijs/engine-javascript@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.6" } }, "sha512-MnIkeqWdVPUWsxlx8gKLVCJFTsqrQJgpTPBPpQwaFeJ56lOnJxj5aN2LUFnfxUEcvOQuNocmbaMnVrCEln6rkw=="],
780
781 "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-GLhowz1+jixjz+wiZ3wMnOn1jTxiFCGl2PkXufivbnwPHKuyw1AYqu5/hbWhZZ2oAb0NP05WUJhYeigY14drnw=="],
782
783 "@shikijs/langs": ["@shikijs/langs@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2" } }, "sha512-8DfeusD+Zdv/eYIDdXyJTUnSMHt+aAWjAOCXV20HNGAHRlInXpG8wh421v6B91WOm9TFwRLN+b/LG5F2NAIojg=="],
784
785 "@shikijs/primitive": ["@shikijs/primitive@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-l6fQQKsOMlz72n38fztmSgZ76MO6KSWuw8o+GJ+FhmqrpC9pIOJNQNXGgbb5yX2AwpzlEHwsaLPnk/8o4Fm+rA=="],
786
787 "@shikijs/stream": ["@shikijs/stream@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2" }, "peerDependencies": { "react": "^19.0.0", "solid-js": "^1.9.0", "svelte": "^5.0.0-0", "vue": "^3.2.0" }, "optionalPeers": ["react", "solid-js", "svelte", "vue"] }, "sha512-j0gyWbn86iMCoTRwi0ye0vM6v5+TkUWN9fkVexVFoOdKMeOcYRqXKjWHP92Gue9HcRpfloi6B2CIrzIn3StnRg=="],
788
789 "@shikijs/themes": ["@shikijs/themes@4.4.2", "", { "dependencies": { "@shikijs/types": "4.4.2" } }, "sha512-H0CFoL07ddDC2Dd6EdrPYNkRhUR6YCkJlnuYFceYYUJJA5TIm2b5B33qqiDYryBExgbKMndFJPb2u1gTuqO37g=="],
790
791 "@shikijs/transformers": ["@shikijs/transformers@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2", "@shikijs/types": "4.4.2" } }, "sha512-d81PJ9KkR1tVP95FH/9296HTtDo0mh76wv10u9T1YmsZq/UcXgt0OLdBszfUQ1i+umkRMCjDnFbFZU7/tCODTQ=="],
792
793 "@shikijs/types": ["@shikijs/types@4.4.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-PFYitV4vpDr/iPCIhnHp+Q4ftic5N5VeNJ3KQ1O8gn3h2ar8qgwMAXF7tq4m1CWaMS60fV4VqF6vfnWH4F7vqQ=="],
794
795 "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="],
796
797 "@simple-git/args-pathspec": ["@simple-git/args-pathspec@1.0.3", "", {}, "sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA=="],
798
799 "@simple-git/argv-parser": ["@simple-git/argv-parser@1.1.1", "", { "dependencies": { "@simple-git/args-pathspec": "^1.0.3" } }, "sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw=="],
800
801 "@simple-libs/child-process-utils": ["@simple-libs/child-process-utils@1.0.2", "", { "dependencies": { "@simple-libs/stream-utils": "^1.2.0" } }, "sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw=="],
802
803 "@simple-libs/hosted-git-info": ["@simple-libs/hosted-git-info@1.0.2", "", {}, "sha512-aAmGQdMH+ZinytKuA2832u0ATeOFNYNk4meBEXtB5xaPotUgggYNhq5tYU/v17wEbmTW5P9iHNqNrFyrhnqBAg=="],
804
805 "@simple-libs/stream-utils": ["@simple-libs/stream-utils@1.2.0", "", {}, "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA=="],
806
807 "@sindresorhus/base62": ["@sindresorhus/base62@1.0.0", "", {}, "sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA=="],
808
809 "@sindresorhus/is": ["@sindresorhus/is@7.2.0", "", {}, "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw=="],
810
811 "@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="],
812
813 "@socket.io/component-emitter": ["@socket.io/component-emitter@3.1.2", "", {}, "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="],
814
815 "@speed-highlight/core": ["@speed-highlight/core@1.2.23", "", {}, "sha512-iRoq6i6JDJP6Mt2A5JaPvzw0pgYHH6k92ij+yXiTrB7T2y9N789aWE3EHWj/5ztlJBokcCBja3iYLVdu5wgnkg=="],
816
817 "@sqlite.org/sqlite-wasm": ["@sqlite.org/sqlite-wasm@3.53.0-build1", "", {}, "sha512-PfWPWN2n+/37doa8oh2/oUXk4OOsRYZsxc1W1sDXIGb/Pu5Yrb+f2eyYpgQMGITVX7HVgxhs9P18Rc6I97ym/g=="],
818
819 "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="],
820
821 "@stylistic/eslint-plugin": ["@stylistic/eslint-plugin@5.10.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/types": "^8.56.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "estraverse": "^5.3.0", "picomatch": "^4.0.3" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ=="],
822
823 "@swc/helpers": ["@swc/helpers@0.5.23", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw=="],
824
825 "@tailwindcss/node": ["@tailwindcss/node@4.3.3", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.24.1", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.3" } }, "sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg=="],
826
827 "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.3", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.3", "@tailwindcss/oxide-darwin-arm64": "4.3.3", "@tailwindcss/oxide-darwin-x64": "4.3.3", "@tailwindcss/oxide-freebsd-x64": "4.3.3", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.3", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.3", "@tailwindcss/oxide-linux-arm64-musl": "4.3.3", "@tailwindcss/oxide-linux-x64-gnu": "4.3.3", "@tailwindcss/oxide-linux-x64-musl": "4.3.3", "@tailwindcss/oxide-wasm32-wasi": "4.3.3", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.3", "@tailwindcss/oxide-win32-x64-msvc": "4.3.3" } }, "sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA=="],
828
829 "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.3.3", "", { "os": "android", "cpu": "arm64" }, "sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw=="],
830
831 "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.3.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw=="],
832
833 "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.3.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw=="],
834
835 "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.3.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw=="],
836
837 "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3", "", { "os": "linux", "cpu": "arm" }, "sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ=="],
838
839 "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.3.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w=="],
840
841 "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.3.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA=="],
842
843 "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.3.3", "", { "os": "linux", "cpu": "x64" }, "sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w=="],
844
845 "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.3.3", "", { "os": "linux", "cpu": "x64" }, "sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img=="],
846
847 "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.3.3", "", { "dependencies": { "@emnapi/core": "^1.11.1", "@emnapi/runtime": "^1.11.1", "@emnapi/wasi-threads": "^1.2.2", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ=="],
848
849 "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.3.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ=="],
850
851 "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.3", "", { "os": "win32", "cpu": "x64" }, "sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw=="],
852
853 "@tailwindcss/postcss": ["@tailwindcss/postcss@4.3.3", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.3.3", "@tailwindcss/oxide": "4.3.3", "postcss": "^8.5.16", "tailwindcss": "4.3.3" } }, "sha512-JTSZZGQi1AyKirbLN3azmjVzef92tcX7h+iSqPdaeStyFpGpDlKvvpxeOE8njhbUanbRwr3z8DyzhICWnMtQeg=="],
854
855 "@tailwindcss/vite": ["@tailwindcss/vite@4.3.3", "", { "dependencies": { "@tailwindcss/node": "4.3.3", "@tailwindcss/oxide": "4.3.3", "tailwindcss": "4.3.3" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw=="],
856
857 "@takumi-rs/core": ["@takumi-rs/core@2.5.10", "", { "dependencies": { "@takumi-rs/helpers": "2.5.10" }, "optionalDependencies": { "@takumi-rs/core-darwin-arm64": "2.5.10", "@takumi-rs/core-darwin-x64": "2.5.10", "@takumi-rs/core-linux-arm64-gnu": "2.5.10", "@takumi-rs/core-linux-arm64-musl": "2.5.10", "@takumi-rs/core-linux-x64-gnu": "2.5.10", "@takumi-rs/core-linux-x64-musl": "2.5.10", "@takumi-rs/core-win32-arm64-msvc": "2.5.10", "@takumi-rs/core-win32-x64-msvc": "2.5.10" }, "peerDependencies": { "csstype": "*" }, "optionalPeers": ["csstype"] }, "sha512-aFm4nldCGXWMqfz6Kw+JZ79GkJuB8nKsP4uHseSPMI1GMUmQBqpwxYxTINe/CROoIfP4VMIkSZZ8jnx2KyGQmA=="],
858
859 "@takumi-rs/core-darwin-arm64": ["@takumi-rs/core-darwin-arm64@2.5.10", "", { "os": "darwin", "cpu": "arm64" }, "sha512-1hq/mi+riaT77eToS/BJf0lBTX/jCUmnDqJgYyuq551D0JW0ArYJxnlehelFlReR8LeV3J/oqQgqXxrodeoDyg=="],
860
861 "@takumi-rs/core-darwin-x64": ["@takumi-rs/core-darwin-x64@2.5.10", "", { "os": "darwin", "cpu": "x64" }, "sha512-JunN4oktWqiMlJ+Y+xDEyzG1xxr8f9ABb2+4G8xfK3/x6HHyrxon20bDmXd2Yjvh3xCiWm1TC5xFdcX0XX7NLg=="],
862
863 "@takumi-rs/core-linux-arm64-gnu": ["@takumi-rs/core-linux-arm64-gnu@2.5.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-2wRZToyZsSDZB3wLeUrbfDj7+eyUmasjcYdtXlxIIwNuQq39dbszazjKgNIG6E9JiUG7HWPUbZdzuc8tQpyDqA=="],
864
865 "@takumi-rs/core-linux-arm64-musl": ["@takumi-rs/core-linux-arm64-musl@2.5.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-YYxTO1NstjoH+CzNvLVotgwLKE/l/Y4XA+5FkQIw7iyN7m5a7E24qQEE6Xp8Ew62x2kdrJHcYsAEOU461Ttwdg=="],
866
867 "@takumi-rs/core-linux-x64-gnu": ["@takumi-rs/core-linux-x64-gnu@2.5.10", "", { "os": "linux", "cpu": "x64" }, "sha512-OTcYDjZ8MZTYEvpuVaPszNRiGG6H5kjeHr3qgCO/Ek4sldSDYlfKFjAABPeSSL+0sJvpExdQadeXVn0DKXCDhw=="],
868
869 "@takumi-rs/core-linux-x64-musl": ["@takumi-rs/core-linux-x64-musl@2.5.10", "", { "os": "linux", "cpu": "x64" }, "sha512-sowsR7EyxUO1uecFHVtD6V3I9fK1bvk15Gefmf8fnElQXCJF7Msi0/0g6PoIaRisWs1J8d+dOjEsVnS7KoxwIQ=="],
870
871 "@takumi-rs/core-win32-arm64-msvc": ["@takumi-rs/core-win32-arm64-msvc@2.5.10", "", { "os": "win32", "cpu": "arm64" }, "sha512-cfl4MJkpU+4y48uQSUYvkxICr+9PWLY4Mei++OxYlREaVVjIhWDV4C1VeWvoVOLbdYdxK4L6/Ywjn/+9BU/h2w=="],
872
873 "@takumi-rs/core-win32-x64-msvc": ["@takumi-rs/core-win32-x64-msvc@2.5.10", "", { "os": "win32", "cpu": "x64" }, "sha512-kg/pk74AG+ExV1jDEoJNrvHabBVhoj6a5r8tpSFlUUOz+njh8uspecoCq9GAzonPwURqEJSAgh1D+E8tHgNyqA=="],
874
875 "@takumi-rs/helpers": ["@takumi-rs/helpers@2.5.10", "", { "peerDependencies": { "preact": "^10.0.0", "react": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["preact", "react"] }, "sha512-bg+DUcJ5nKsB62Z4MH/sj6tyc32GlzEj8m9Q30A/WV8RYfvFygVVOfpYFMbJvmr+SxhPfTxDxLfIIktGCM8fQA=="],
876
877 "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="],
878
879 "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.7", "", {}, "sha512-bp+v10y65sp2H7WpWfIMyxTNfl8ZVfxFTLRjPIFRryi6FV/J33z4IS53WO4pTk36KlvJ4iLiQz+oaydDC1xbcA=="],
880
881 "@tanstack/vue-table": ["@tanstack/vue-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "vue": ">=3.2" } }, "sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw=="],
882
883 "@tanstack/vue-virtual": ["@tanstack/vue-virtual@3.13.35", "", { "dependencies": { "@tanstack/virtual-core": "3.17.7" }, "peerDependencies": { "vue": "^2.7.0 || ^3.0.0" } }, "sha512-lOfSPvgPdlaH6Qy+CyIc3XpycitaSQ9GECndGpTuDiu+uDA1am+90yWXwzDSd/20ZM196ggWJLS+Qb6WjVd/OA=="],
884
885 "@tiptap/core": ["@tiptap/core@3.29.2", "", { "peerDependencies": { "@tiptap/pm": "3.29.2" } }, "sha512-oKUkiPUB7noilVYxI9lNzUD4rX17sHub+PYjMfHMWHG9A3nvIy+FdePIVIIhThKWF7ijhr3eIqHY51Bn+GAFtw=="],
886
887 "@tiptap/extension-blockquote": ["@tiptap/extension-blockquote@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-ca4OzKDh0yaxg2+Z56bC2QnWsNsFp2YMRfVig1PDXyMVFMNJpLcnhxgq/9btn+xYAlYrj8RymOeCTYREOR6Zjg=="],
888
889 "@tiptap/extension-bold": ["@tiptap/extension-bold@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-elYbGxJsYnBb4leqrcjdIJuiG380BcOgN+UUzvOv+qEjfGVzHodFOMBl3qnmD6urYHNu5/qQK2S0qSSRXKCLNQ=="],
890
891 "@tiptap/extension-bubble-menu": ["@tiptap/extension-bubble-menu@3.29.2", "", { "dependencies": { "@floating-ui/dom": "^1.0.0" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-kzcWarcpr031rZu+R3Hzut5uxb3Qj/xxMDEYZIQ3uiq1yb5vEMXj8/SIyWautk6Nu8Rr1leV3rGdR4NzhzyFAA=="],
892
893 "@tiptap/extension-bullet-list": ["@tiptap/extension-bullet-list@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-3bWcCUPbCHv0XttlMdnAtXLNYWx2pblByMgxmGsaP9FU0QnslGXty6A6gHCqI33ygRg1vrA6U5Wtpwbi5aKu5g=="],
894
895 "@tiptap/extension-code": ["@tiptap/extension-code@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-c6W5UGuB7WNLpYocsgRzpO2OOTI4QjaI9jjHRMuty9z+s9DtaYM/HrRLNwVh6MopkHb+i/89Wkv8gCS34fftig=="],
896
897 "@tiptap/extension-code-block": ["@tiptap/extension-code-block@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-w153ct8g6dLiPTdXQ6SOIMxX4SEo5Q50AmjdEEEcJ7ZcYUcde/ScSskLHfOYmyt5ZFAiyEwr121+pux+p3/oAQ=="],
898
899 "@tiptap/extension-collaboration": ["@tiptap/extension-collaboration@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/y-tiptap": "^3.0.7", "yjs": "^13" } }, "sha512-KVKwIofMzraf0MxCXUkYd6fNmz0oGKaHDkjhNT6HGHrVzTFDJlZTwHHwSndQS2xKGmZbhWe8C32hvUrFsZXTPw=="],
900
901 "@tiptap/extension-document": ["@tiptap/extension-document@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-YUamvefLnsqu6124GavVTI7nqcFlQJ12ROB0oSwG69eSBZYNjg1tIs05LFrBxkwf4Xgqd6YzfJ9+FeG428RvzQ=="],
902
903 "@tiptap/extension-drag-handle": ["@tiptap/extension-drag-handle@3.29.2", "", { "dependencies": { "@floating-ui/dom": "^1.6.13" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/extension-collaboration": "3.29.2", "@tiptap/extension-node-range": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/y-tiptap": "^3.0.7" } }, "sha512-5Y5ElfRnrWIr9IRODzGkqLgIIbdUXNstbs7hWskXQWTg532TJfMpZmQbQRv7th39IcH0uusT7Vs/QlFKXzKVkA=="],
904
905 "@tiptap/extension-drag-handle-vue-3": ["@tiptap/extension-drag-handle-vue-3@3.29.2", "", { "peerDependencies": { "@tiptap/extension-drag-handle": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/vue-3": "3.29.2", "vue": "^3.0.0" } }, "sha512-4u2CraVeMEeq2Xyi/9YmFBhL/uE/Lb5IViWKNfOM4PmnPDAgAj6hXA1s/QIdBKNIE6ohWCQRfAKX+b5Ff5LStQ=="],
906
907 "@tiptap/extension-dropcursor": ["@tiptap/extension-dropcursor@3.29.2", "", { "peerDependencies": { "@tiptap/extensions": "3.29.2" } }, "sha512-KKno7cU9r1HdR48CRrsDu69/1UjZdoslq/UcE+Kx+tdhAv/aljXMkRSNzGMrBNOBDmHRgS1+58zm21WQWdQzwA=="],
908
909 "@tiptap/extension-floating-menu": ["@tiptap/extension-floating-menu@3.29.2", "", { "peerDependencies": { "@floating-ui/dom": "^1.0.0", "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-CBTq4Xs5aGWr65uFCIkKBms796OhmirWf/ax//iJ4fl9IfwqjwFuc2vQs9PmuwpKn9ctDHo2sMTtvyeCvIt5LQ=="],
910
911 "@tiptap/extension-gapcursor": ["@tiptap/extension-gapcursor@3.29.2", "", { "peerDependencies": { "@tiptap/extensions": "3.29.2" } }, "sha512-8Q39UR4/Tit759IeW9xZIe3NMwN11GsuA3FLheDyyGn7RrW02HD3HhUDlazE54Ki4HoosjFmChPlN4Ik2ubdRQ=="],
912
913 "@tiptap/extension-hard-break": ["@tiptap/extension-hard-break@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-eUW3LN3fq8rXnjEUeI3D2QONYdLsU3yYQm4jxlErs2h4cfwrFjgf19VSUFVmm6LrFbbQ0OnDVPeVLL6iOwDw2w=="],
914
915 "@tiptap/extension-heading": ["@tiptap/extension-heading@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-6W4aIy70Mh7BNlbG9zZ5FBLhJhU2UUEzgZJ/jwYSCcB30o8McLxJSEjhtoHiX8R78Ah2/JzBGvIe5olZlbeE4A=="],
916
917 "@tiptap/extension-horizontal-rule": ["@tiptap/extension-horizontal-rule@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-8/ZPzbB9X85Mc9/7xVLZupQKBr2UVcQTGr512xtqMW+XkCQRHCph46tRo828YE13IMWI5fWn/FaNCqXG9cULSw=="],
918
919 "@tiptap/extension-image": ["@tiptap/extension-image@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-F+S4iru247mNVZdkNwNDZHeb281DkjsBJinaOGsOyJTvXY+KU5Uq7vY1LQTn493dTfU48Z0yMBUXwJffCT92Mg=="],
920
921 "@tiptap/extension-italic": ["@tiptap/extension-italic@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-iH63V/5wsaMnY4Jz0+meaAGhaec4AiOzOduzl6ZZr5IyGhZ1kthyW84ELt0dyLI3hNceAUhaNWc+I7+vX0aoXA=="],
922
923 "@tiptap/extension-link": ["@tiptap/extension-link@3.29.2", "", { "dependencies": { "linkifyjs": "^4.3.3" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-DcVer5SqrexKCEP6Ip1UPxJUMvcRCCItSv0wxoGytanrimBh2smvcg6X0DWnjlsi5H0updhyl+atYCmmQXUIXA=="],
924
925 "@tiptap/extension-list": ["@tiptap/extension-list@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-WPZ9BHAPT6QeIm1vdVkuoOWvy9a8/EZeJwV2VhU8LXyTAttvzyj4rsbbHyJWvYWlUSTt/QF2AZ2zhKo7u1w3/A=="],
926
927 "@tiptap/extension-list-item": ["@tiptap/extension-list-item@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-s8vBVHHFT0Qpu7CzAZ7S1kYmSiVaDvUNvMNcZUWnxj6VPfiwmx0eXd9FsjePrRCMoM5tFmPnhFTHDxY3D/eZeQ=="],
928
929 "@tiptap/extension-list-keymap": ["@tiptap/extension-list-keymap@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-R+3k8OLnxdCH7Xy9ieOwUt5m2Je74u8mikothGmsYVO2Zyq48fIbmZ+X6RBPCu7DBOI2FIUhHEFbKQeDWvDNmA=="],
930
931 "@tiptap/extension-mention": ["@tiptap/extension-mention@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2", "@tiptap/suggestion": "3.29.2" } }, "sha512-WF8ugDa2IRbgyRW+PffPYg8ZI+Qp9azvIsNoyuf+VSg5Vp7ze2TuJXUTObSckyiN5Ann8bDNM9Hbu3TdoI0DFQ=="],
932
933 "@tiptap/extension-node-range": ["@tiptap/extension-node-range@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-7ipYCrGZvnOL0vR4E69m8PSKDg49hH5n8nVFRej3cRn/xAdAl+ytJmrLSE+SLPvw6TN44NWk3iug23IjOu3Nbw=="],
934
935 "@tiptap/extension-ordered-list": ["@tiptap/extension-ordered-list@3.29.2", "", { "peerDependencies": { "@tiptap/extension-list": "3.29.2" } }, "sha512-ndCunC+UsYOpkOtL7vGnDz21UNa45WUlcO9wMT1fbuYow2QnRhsuMlCWENXI52YPPARWuQ0RDgN7q6TaxPERBg=="],
936
937 "@tiptap/extension-paragraph": ["@tiptap/extension-paragraph@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-7qJj5YTr11vvjNgjDN1ypOfwTovc0QOCYcit/rskeuVgnmQZOZQzC/BbyKLLG7UGnpRLemU/mEGbW9pAqjAXkQ=="],
938
939 "@tiptap/extension-placeholder": ["@tiptap/extension-placeholder@3.29.2", "", { "peerDependencies": { "@tiptap/extensions": "3.29.2" } }, "sha512-/BlpPIq2JZk6zLaeYVOXazi6dmd0iRriTymNEnFn1doManN1y5HED9LsMeb/AhNhauL5AgmcHgpvAjbsN9k4SA=="],
940
941 "@tiptap/extension-strike": ["@tiptap/extension-strike@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-aEvLAbddUQZ+FukCreV3q4G2HfNI+odE7E9U+wbq6XsSWKyo8/pDu1muz+TFKNre4blSMOQ3JQmw5UeHDKy+fg=="],
942
943 "@tiptap/extension-text": ["@tiptap/extension-text@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-Ubko45JWWHe8glBt2PiGNF8hcbys/JNalFhiR7Y1X4iOOtAxAKJJxh3+eq+//NTlGuBPdWGp7zw8EEUp7anjKA=="],
944
945 "@tiptap/extension-underline": ["@tiptap/extension-underline@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2" } }, "sha512-K7XwH/xS/5AIREWQ00VTEf/W5U0olp7j6wwit7cdd/8nHv6h6AGr1+iEApHKoLXWQZLfGQKzJlT9W61LAl+fHA=="],
946
947 "@tiptap/extensions": ["@tiptap/extensions@3.29.2", "", { "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-BCz+FCAChSYtUe4BFj97HEO+nSK+J7GxbJgZG4Hg7DT/gI+hRyeNndU8efiQAx3WGdzsFi3UxRpcF1tTQM7iMQ=="],
948
949 "@tiptap/markdown": ["@tiptap/markdown@3.29.2", "", { "dependencies": { "marked": "^17.0.1" }, "peerDependencies": { "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-Knf9YqG3fxOyFuS3pe3eapDz0ya9eqPGzmyMSd5PuHNmR9/Ir6i5qk5+Md6bCPgDNjYskztNm7DoBXPfbXbO/w=="],
950
951 "@tiptap/pm": ["@tiptap/pm@3.29.2", "", { "dependencies": { "prosemirror-changeset": "^2.4.1", "prosemirror-commands": "^1.7.1", "prosemirror-dropcursor": "^1.8.2", "prosemirror-gapcursor": "^1.4.1", "prosemirror-history": "^1.5.0", "prosemirror-inputrules": "^1.5.1", "prosemirror-keymap": "^1.2.3", "prosemirror-model": "^1.25.11", "prosemirror-schema-list": "^1.5.1", "prosemirror-state": "^1.4.4", "prosemirror-tables": "^1.8.5", "prosemirror-transform": "^1.12.0", "prosemirror-view": "^1.41.9" } }, "sha512-GCOme7xHaS+DSoaA4CDcAD3l6JyBlvZhvCyfsy2Vp6j8tEoBkZWio7soYVosmlyn7zq8/64VeFZP5s47yfG7fQ=="],
952
953 "@tiptap/starter-kit": ["@tiptap/starter-kit@3.29.2", "", { "dependencies": { "@tiptap/core": "^3.29.2", "@tiptap/extension-blockquote": "^3.29.2", "@tiptap/extension-bold": "^3.29.2", "@tiptap/extension-bullet-list": "^3.29.2", "@tiptap/extension-code": "^3.29.2", "@tiptap/extension-code-block": "^3.29.2", "@tiptap/extension-document": "^3.29.2", "@tiptap/extension-dropcursor": "^3.29.2", "@tiptap/extension-gapcursor": "^3.29.2", "@tiptap/extension-hard-break": "^3.29.2", "@tiptap/extension-heading": "^3.29.2", "@tiptap/extension-horizontal-rule": "^3.29.2", "@tiptap/extension-italic": "^3.29.2", "@tiptap/extension-link": "^3.29.2", "@tiptap/extension-list": "^3.29.2", "@tiptap/extension-list-item": "^3.29.2", "@tiptap/extension-list-keymap": "^3.29.2", "@tiptap/extension-ordered-list": "^3.29.2", "@tiptap/extension-paragraph": "^3.29.2", "@tiptap/extension-strike": "^3.29.2", "@tiptap/extension-text": "^3.29.2", "@tiptap/extension-underline": "^3.29.2", "@tiptap/extensions": "^3.29.2", "@tiptap/pm": "^3.29.2" } }, "sha512-oTu0tysiqk4zgjEtxRHjAQgxUKaAevZwueOWwSWubHdokqp7SpcbE5n9USJv89HKuTUDm3GjnQH6q8HNn/2DsA=="],
954
955 "@tiptap/suggestion": ["@tiptap/suggestion@3.29.2", "", { "peerDependencies": { "@floating-ui/dom": "^1.0.0", "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2" } }, "sha512-ZEhRm0gnRCwCScR9IrnIBhm9sr6U8vpR9oeznYk3hiedZ48zsgohqvgoIYpWcwYWrT2Pb0NrfhCT8IuSzdJHzQ=="],
956
957 "@tiptap/vue-3": ["@tiptap/vue-3@3.29.2", "", { "optionalDependencies": { "@tiptap/extension-bubble-menu": "^3.29.2", "@tiptap/extension-floating-menu": "^3.29.2" }, "peerDependencies": { "@floating-ui/dom": "^1.0.0", "@tiptap/core": "3.29.2", "@tiptap/pm": "3.29.2", "vue": "^3.0.0" } }, "sha512-rLX+V+HXbsVlk+My8mslvbnbVXZiQZHYtbOiRgxugsqZ9SK1mr1FpgZ/ZNcotJAjecT8FJmPa45ccDnVu66eGA=="],
958
959 "@tiptap/y-tiptap": ["@tiptap/y-tiptap@3.0.8", "", { "dependencies": { "lib0": "^0.2.100" }, "peerDependencies": { "prosemirror-model": "^1.7.1", "prosemirror-state": "^1.2.3", "prosemirror-view": "^1.9.10", "y-protocols": "^1.0.1", "yjs": "^13.5.38" } }, "sha512-+kndlSuoUK9sKVRuxbAHXNrbDvyydnG/Y0NFU9XXqaSkI9IRcrjpOf1RGd7NrC9jJXquDqZS96wOQf6eUpP9Dg=="],
960
961 "@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="],
962
963 "@types/debug": ["@types/debug@4.1.13", "", { "dependencies": { "@types/ms": "*" } }, "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw=="],
964
965 "@types/esrecurse": ["@types/esrecurse@4.3.1", "", {}, "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw=="],
966
967 "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="],
968
969 "@types/hast": ["@types/hast@3.0.5", "", { "dependencies": { "@types/unist": "*" } }, "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g=="],
970
971 "@types/jsesc": ["@types/jsesc@2.5.1", "", {}, "sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw=="],
972
973 "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="],
974
975 "@types/linkify-it": ["@types/linkify-it@5.0.0", "", {}, "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q=="],
976
977 "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
978
979 "@types/mdurl": ["@types/mdurl@2.0.0", "", {}, "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg=="],
980
981 "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
982
983 "@types/node": ["@types/node@26.1.2", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg=="],
984
985 "@types/normalize-package-data": ["@types/normalize-package-data@2.4.4", "", {}, "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA=="],
986
987 "@types/parse-path": ["@types/parse-path@7.1.0", "", { "dependencies": { "parse-path": "*" } }, "sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q=="],
988
989 "@types/resolve": ["@types/resolve@1.20.2", "", {}, "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="],
990
991 "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
992
993 "@types/web-bluetooth": ["@types/web-bluetooth@0.0.21", "", {}, "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA=="],
994
995 "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.66.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.66.0", "@typescript-eslint/type-utils": "8.66.0", "@typescript-eslint/utils": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.66.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-p088eaGrzYz1s+7cov0aMOCkNGTJlVxF4jgubf28c8L0Cv9Rloj8YBHnv4hXLq6IIEE1AsjNWavO+k+8kP2Y0A=="],
996
997 "@typescript-eslint/parser": ["@typescript-eslint/parser@8.66.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.66.0", "@typescript-eslint/types": "8.66.0", "@typescript-eslint/typescript-estree": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-X6ypGChaWYk6PBtUg2BwuTZEFFcHJAtGTVJ9/lCTOufhZ4i9fNolQNnktq+kkMCwMj7V8Svsq7+TxSDslmhE0g=="],
998
999 "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.66.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.66.0", "@typescript-eslint/types": "^8.66.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-7MthGPTt4BP69lSryqpqq8HQqxuzynssckL/jyDyk3+TNMQ3y2jFWkptCrktWvBrP+EH787Nl5N5Qpw7WZg+5g=="],
1000
1001 "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.66.0", "", { "dependencies": { "@typescript-eslint/types": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0" } }, "sha512-8TGcH25j9zqJ/IULB/ppyhRvxA8QYfFEZ7nfbg6/BN9spDgb8fPWQXlE5l8TWBL50EtUx007uZ1o9VOwrq2/9g=="],
1002
1003 "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.66.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-9D5gLYZG4rOjcoag8MQ/fWI8WqA9wcPDyOGyWtWFhvM1lHRbliqUSPIY5J3zqCU1tvSwzXxnnjhQhz5Ne7mJ4g=="],
1004
1005 "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.66.0", "", { "dependencies": { "@typescript-eslint/types": "8.66.0", "@typescript-eslint/typescript-estree": "8.66.0", "@typescript-eslint/utils": "8.66.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-LG2dWfjZQQp0ADtAu/EWJVayefGL2UEZ3CDeI44D9v3rXB/WYUqE/jpO28KrEKul5AySrmI+Zh1v6v+xW2U9+g=="],
1006
1007 "@typescript-eslint/types": ["@typescript-eslint/types@8.66.0", "", {}, "sha512-H6gcYaSDOyvL3AD/jHUtUFo2jqGgn/F6nuyuZSu0QTesxL+cP4dQoIMrODRofuJC09g64+WgZ6tE19Y1N2YIFQ=="],
1008
1009 "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.66.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.66.0", "@typescript-eslint/tsconfig-utils": "8.66.0", "@typescript-eslint/types": "8.66.0", "@typescript-eslint/visitor-keys": "8.66.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-8/x4INiiQb10jGgXYD7116/zQ+OL84ZIFn0za68wwFHCanT/VLbBEroWht8RV8fn0/ZCAoazHLQgwUC0UQcDfg=="],
1010
1011 "@typescript-eslint/utils": ["@typescript-eslint/utils@8.66.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.66.0", "@typescript-eslint/types": "8.66.0", "@typescript-eslint/typescript-estree": "8.66.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-jasearZPolBw5NJNYGMwxzHMF83niVWmMU1VdHzG1CyfI2VS7f7nZltnKtHcg20hW+7Uo5GfK4MeDPoU3qI8EA=="],
1012
1013 "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.66.0", "", { "dependencies": { "@typescript-eslint/types": "8.66.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-dkKR8q+lKciskj1Y3vthHktl+3cMLWGyVUP23bRiPZ5O9BRT++4EqDDV+TVeIKBL1VXVEqrJlz8MYbcnvJcAlg=="],
1014
1015 "@ungap/structured-clone": ["@ungap/structured-clone@1.3.3", "", {}, "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg=="],
1016
1017 "@unhead/vue": ["@unhead/vue@2.1.17", "", { "dependencies": { "hookable": "^6.0.1", "unhead": "2.1.17" }, "peerDependencies": { "vue": ">=3.5.18" } }, "sha512-pnC8x9HLV3qQXdvWfylUEU25uhfCAy3ly9nmpQz84j9py818DRfU8jOsQ5wjdWtxyU1vX/fW2udfm4jtxUK8Bg=="],
1018
1019 "@unocss/config": ["@unocss/config@66.7.5", "", { "dependencies": { "@unocss/core": "66.7.5", "colorette": "^2.0.20", "consola": "^3.4.2", "unconfig": "^7.5.0" } }, "sha512-dkPl9glhEahJ+Xoja5ZseKKnH+vZaeaKQzg8b0otcKcPPNrHQgu1nu3QgfeOjnXOGrjZIotHwUeVtt4ZA2Skgg=="],
1020
1021 "@unocss/core": ["@unocss/core@66.7.5", "", {}, "sha512-UdJb8MiMywcau8QrWEVgUAz0kvoFHyR+sACwYCgmBh/BpKJGyR/zw/Ys3wvysbm0f+i/20VGBex/QQxYVlzdyQ=="],
1022
1023 "@unrs/resolver-binding-android-arm-eabi": ["@unrs/resolver-binding-android-arm-eabi@1.12.2", "", { "os": "android", "cpu": "arm" }, "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w=="],
1024
1025 "@unrs/resolver-binding-android-arm64": ["@unrs/resolver-binding-android-arm64@1.12.2", "", { "os": "android", "cpu": "arm64" }, "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ=="],
1026
1027 "@unrs/resolver-binding-darwin-arm64": ["@unrs/resolver-binding-darwin-arm64@1.12.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w=="],
1028
1029 "@unrs/resolver-binding-darwin-x64": ["@unrs/resolver-binding-darwin-x64@1.12.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA=="],
1030
1031 "@unrs/resolver-binding-freebsd-x64": ["@unrs/resolver-binding-freebsd-x64@1.12.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg=="],
1032
1033 "@unrs/resolver-binding-linux-arm-gnueabihf": ["@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2", "", { "os": "linux", "cpu": "arm" }, "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A=="],
1034
1035 "@unrs/resolver-binding-linux-arm-musleabihf": ["@unrs/resolver-binding-linux-arm-musleabihf@1.12.2", "", { "os": "linux", "cpu": "arm" }, "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g=="],
1036
1037 "@unrs/resolver-binding-linux-arm64-gnu": ["@unrs/resolver-binding-linux-arm64-gnu@1.12.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg=="],
1038
1039 "@unrs/resolver-binding-linux-arm64-musl": ["@unrs/resolver-binding-linux-arm64-musl@1.12.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA=="],
1040
1041 "@unrs/resolver-binding-linux-loong64-gnu": ["@unrs/resolver-binding-linux-loong64-gnu@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q=="],
1042
1043 "@unrs/resolver-binding-linux-loong64-musl": ["@unrs/resolver-binding-linux-loong64-musl@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew=="],
1044
1045 "@unrs/resolver-binding-linux-ppc64-gnu": ["@unrs/resolver-binding-linux-ppc64-gnu@1.12.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg=="],
1046
1047 "@unrs/resolver-binding-linux-riscv64-gnu": ["@unrs/resolver-binding-linux-riscv64-gnu@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A=="],
1048
1049 "@unrs/resolver-binding-linux-riscv64-musl": ["@unrs/resolver-binding-linux-riscv64-musl@1.12.2", "", { "os": "linux", "cpu": "none" }, "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w=="],
1050
1051 "@unrs/resolver-binding-linux-s390x-gnu": ["@unrs/resolver-binding-linux-s390x-gnu@1.12.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw=="],
1052
1053 "@unrs/resolver-binding-linux-x64-gnu": ["@unrs/resolver-binding-linux-x64-gnu@1.12.2", "", { "os": "linux", "cpu": "x64" }, "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ=="],
1054
1055 "@unrs/resolver-binding-linux-x64-musl": ["@unrs/resolver-binding-linux-x64-musl@1.12.2", "", { "os": "linux", "cpu": "x64" }, "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A=="],
1056
1057 "@unrs/resolver-binding-openharmony-arm64": ["@unrs/resolver-binding-openharmony-arm64@1.12.2", "", { "os": "none", "cpu": "arm64" }, "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ=="],
1058
1059 "@unrs/resolver-binding-wasm32-wasi": ["@unrs/resolver-binding-wasm32-wasi@1.12.2", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A=="],
1060
1061 "@unrs/resolver-binding-win32-arm64-msvc": ["@unrs/resolver-binding-win32-arm64-msvc@1.12.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g=="],
1062
1063 "@unrs/resolver-binding-win32-ia32-msvc": ["@unrs/resolver-binding-win32-ia32-msvc@1.12.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g=="],
1064
1065 "@unrs/resolver-binding-win32-x64-msvc": ["@unrs/resolver-binding-win32-x64-msvc@1.12.2", "", { "os": "win32", "cpu": "x64" }, "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA=="],
1066
1067 "@vercel/analytics": ["@vercel/analytics@2.0.1", "", { "peerDependencies": { "@remix-run/react": "^2", "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "nuxt": ">= 3", "react": "^18 || ^19 || ^19.0.0-rc", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" }, "optionalPeers": ["@remix-run/react", "@sveltejs/kit", "next", "nuxt", "react", "svelte", "vue", "vue-router"] }, "sha512-MTQG6V9qQrt1tsDeF+2Uoo5aPjqbVPys1xvnIftXSJYG2SrwXRHnqEvVoYID7BTruDz4lCd2Z7rM1BdkUehk2g=="],
1068
1069 "@vercel/nft": ["@vercel/nft@1.10.2", "", { "dependencies": { "@mapbox/node-pre-gyp": "^2.0.0", "@rollup/pluginutils": "^5.1.3", "acorn": "^8.6.0", "acorn-import-attributes": "^1.9.5", "async-sema": "^3.1.1", "bindings": "^1.4.0", "estree-walker": "2.0.2", "glob": "^13.0.0", "graceful-fs": "^4.2.9", "node-gyp-build": "^4.2.2", "picomatch": "^4.0.2", "resolve-from": "^5.0.0" }, "bin": { "nft": "out/cli.js" } }, "sha512-w+WyX5Ulmj4dtTZrxaulqrjaLZHSbnPzx75SJsTNYmotKsqn1JlLnDJa+lz5hn90HJofhl/2MAtw0mCrgM3qYw=="],
1070
1071 "@vercel/oidc": ["@vercel/oidc@3.2.0", "", {}, "sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug=="],
1072
1073 "@vercel/speed-insights": ["@vercel/speed-insights@2.0.0", "", { "peerDependencies": { "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "nuxt": ">= 3", "react": "^18 || ^19 || ^19.0.0-rc", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" }, "optionalPeers": ["@sveltejs/kit", "next", "nuxt", "react", "svelte", "vue", "vue-router"] }, "sha512-jwkNcrTeafWxjmWq4AHBaptSqZiJkYU5adLC9QBSqeim0GcqDMgN5Ievh8OG1rJ6W3A4l1oiP7qr9CWxGuzu3w=="],
1074
1075 "@vitejs/plugin-vue": ["@vitejs/plugin-vue@6.0.8", "", { "dependencies": { "@rolldown/pluginutils": "^1.0.1" }, "peerDependencies": { "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.2.25" } }, "sha512-0ZjgOg7oO6farnNGup7yvoM/YXZV84OZxHAwtflItNa/6zzQyVb5LNxyea3FEKEX2XlagIKzrlH7wwxkKgtiew=="],
1076
1077 "@vitejs/plugin-vue-jsx": ["@vitejs/plugin-vue-jsx@5.1.6", "", { "dependencies": { "@babel/core": "^7.29.0", "@babel/plugin-syntax-typescript": "^7.29.7", "@babel/plugin-transform-typescript": "^7.29.7", "@rolldown/pluginutils": "^1.0.1", "@vue/babel-plugin-jsx": "^2.0.1" }, "peerDependencies": { "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.0.0" } }, "sha512-YXvi4as2clxt6DFw5+a0tTA97ntiQXm/raR8ofNj3aNwwdlVGTiG2gp7EvfZW17P50acL/9bP0ccF4XnqNmlgA=="],
1078
1079 "@volar/language-core": ["@volar/language-core@2.4.28", "", { "dependencies": { "@volar/source-map": "2.4.28" } }, "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ=="],
1080
1081 "@volar/source-map": ["@volar/source-map@2.4.28", "", {}, "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ=="],
1082
1083 "@volar/typescript": ["@volar/typescript@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw=="],
1084
1085 "@vue-macros/common": ["@vue-macros/common@3.1.4", "", { "dependencies": { "@vue/compiler-sfc": "^3.5.22", "ast-kit": "^2.1.2", "local-pkg": "^1.1.2", "magic-string-ast": "^1.0.2", "unplugin-utils": "^0.3.0" }, "peerDependencies": { "vue": "^2.7.0 || ^3.2.25" }, "optionalPeers": ["vue"] }, "sha512-/5Fv+6DgIcM9ajY05ZmKBv+LMX1M9A0X+IUwDRVdt67ciw8OV9bvG2r34p3RiEadlsQybjhKPRKNXDC8Bp23cw=="],
1086
1087 "@vue/babel-helper-vue-transform-on": ["@vue/babel-helper-vue-transform-on@2.0.1", "", {}, "sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA=="],
1088
1089 "@vue/babel-plugin-jsx": ["@vue/babel-plugin-jsx@2.0.1", "", { "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@vue/babel-helper-vue-transform-on": "2.0.1", "@vue/babel-plugin-resolve-type": "2.0.1", "@vue/shared": "^3.5.22" }, "peerDependencies": { "@babel/core": "^7.0.0-0" }, "optionalPeers": ["@babel/core"] }, "sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA=="],
1090
1091 "@vue/babel-plugin-resolve-type": ["@vue/babel-plugin-resolve-type@2.0.1", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/helper-module-imports": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1", "@babel/parser": "^7.28.4", "@vue/compiler-sfc": "^3.5.22" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ=="],
1092
1093 "@vue/compiler-core": ["@vue/compiler-core@3.5.41", "", { "dependencies": { "@babel/parser": "^7.29.8", "@vue/shared": "3.5.41", "entities": "^7.0.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-q0Xtv/F9w2YO/7htQhtiL+Ev2WCJbe5N2hc+XfgyKkEKqWpSxknmT8QOuGdEKNdjPq0c3F7rNpFkTo3Kfrm7pg=="],
1094
1095 "@vue/compiler-dom": ["@vue/compiler-dom@3.5.41", "", { "dependencies": { "@vue/compiler-core": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-oKacVfNglLvGjnS6BXOlGL7EyG2h8X03pqXCjzotRZUaXGjbrTJUnVAQjrCqUnS+lyu31nwQjZY/d817GmCnfw=="],
1096
1097 "@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.41", "", { "dependencies": { "@babel/parser": "^7.29.8", "@vue/compiler-core": "3.5.41", "@vue/compiler-dom": "3.5.41", "@vue/compiler-ssr": "3.5.41", "@vue/shared": "3.5.41", "estree-walker": "^2.0.2", "magic-string": "^0.30.21", "postcss": "^8.5.19", "source-map-js": "^1.2.1" } }, "sha512-XJhip7R2wy6vX3knCxdZN4KracFaZUef58s1KYewqluedHIJaPIVfXoYT7MF1F8nCvv6k8bWWxDC8opMkg1VTQ=="],
1098
1099 "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.41", "", { "dependencies": { "@vue/compiler-dom": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-U3v5OejKEGqOI0Wy0+Sz7hGuIFZHA4LSXzrNM3IMIeDyJEBBfTpX26n3SDgToRpP2bLc9FfI2j/kSgcJ8Emq5A=="],
1100
1101 "@vue/devtools-api": ["@vue/devtools-api@8.2.1", "", { "dependencies": { "@vue/devtools-kit": "^8.2.1" } }, "sha512-6u4vXBlIBAC1wMplIZgpyPn7uh/s4Bf6F5bMzvLv+EdJ0aHs/+4B7Ygv864EStQSjRbsRzTko/kUG1A1IejQ3A=="],
1102
1103 "@vue/devtools-core": ["@vue/devtools-core@8.2.1", "", { "dependencies": { "@vue/devtools-kit": "^8.2.1", "@vue/devtools-shared": "^8.2.1" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-s/VfAY9oDTb/kFEWmy461jaFde2MIV1RO/gi1vwM+PAZBZ/Pc2Ndu3BNBdZUze8QDUuyYvElbEEGA83syjJfzA=="],
1104
1105 "@vue/devtools-kit": ["@vue/devtools-kit@8.2.1", "", { "dependencies": { "@vue/devtools-shared": "^8.2.1", "birpc": "^2.6.1", "hookable": "^5.5.3", "perfect-debounce": "^2.0.0" } }, "sha512-FIGIuq3AWReEpbAHY/cRGeHDfI0qOb8OCQ3YjbEAX04uaxIDbGc9rhkbVcG7rnfHPXE3RsU5KrWOu9V/okd8AQ=="],
1106
1107 "@vue/devtools-shared": ["@vue/devtools-shared@8.2.1", "", {}, "sha512-Fkac7lUdGReh6pVOi3AYPRGe82LQqRmAfThW7RRligOAP0ZA/Z1z9XLHDM9dv34pV2HRc79DK8uKPeG2fLnA/g=="],
1108
1109 "@vue/language-core": ["@vue/language-core@3.3.9", "", { "dependencies": { "@volar/language-core": "2.4.28", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.2.1", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1", "picomatch": "^4.0.4" } }, "sha512-in/68oAa4BCtVY6n/nkuhLIkV8DHYd2UivedJ6cMZ6UYtlq9jaoaSNUBHYCVO44z3nKg7MdE5OBoHKt5SxeBKQ=="],
1110
1111 "@vue/reactivity": ["@vue/reactivity@3.5.41", "", { "dependencies": { "@vue/shared": "3.5.41" } }, "sha512-rznsqKM0np0x18EjzF8x88MpEhdNsffbvFbckLL5+oUKz1BxAImEmO7J1ArRYSyo6aQaVoBDp7jEkT91OOxydA=="],
1112
1113 "@vue/runtime-core": ["@vue/runtime-core@3.5.41", "", { "dependencies": { "@vue/reactivity": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-Vcry58hiAKwGen9Z1jUZE0feFsNArPCMOImYI8el48A9Idf6DuQYD0U05zZIF2Iad1hGhPSvcbBbAOhNr55fhg=="],
1114
1115 "@vue/runtime-dom": ["@vue/runtime-dom@3.5.41", "", { "dependencies": { "@vue/reactivity": "3.5.41", "@vue/runtime-core": "3.5.41", "@vue/shared": "3.5.41", "csstype": "^3.2.3" } }, "sha512-3vVBahVBS9+U6cmXBLyb8nE6/yYo4J/CGI9eVFs3KiMc0YHuudwKyShTD65jtJy/L9PUUxNAFu4cj4LiJ0UFbw=="],
1116
1117 "@vue/server-renderer": ["@vue/server-renderer@3.5.41", "", { "dependencies": { "@vue/compiler-ssr": "3.5.41", "@vue/runtime-dom": "3.5.41", "@vue/shared": "3.5.41" } }, "sha512-n6hx/pNFfbD6SuyeuMVkvqox8bwf/ET9JlA/kAz/imw8sw++wkqKe2mHX5KutjPpbKE4Z56yTHszoOjGMI9igQ=="],
1118
1119 "@vue/shared": ["@vue/shared@3.5.41", "", {}, "sha512-IOnwSCma8j+9xJT6b8H0dEYidC80NsYmNMlZxRsukYcSoGaDBohog5hDxzeUXdFeGWFA++vWvxqOmrr96VlqMA=="],
1120
1121 "@vueuse/core": ["@vueuse/core@14.4.0", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "14.4.0", "@vueuse/shared": "14.4.0" }, "peerDependencies": { "vue": "^3.5.0" } }, "sha512-X4WHz1HlCzCBoYXesUkifzzWBAcZgXG8Fi5iNPQg/epdzOB3gu8Fawj3hvuwYR1nGcXGnvxwYYcUC/71++svtQ=="],
1122
1123 "@vueuse/integrations": ["@vueuse/integrations@14.4.0", "", { "dependencies": { "@vueuse/core": "14.4.0", "@vueuse/shared": "14.4.0" }, "peerDependencies": { "async-validator": "^4", "axios": "^1", "change-case": "^5", "drauu": "^0.4", "focus-trap": "^7 || ^8", "fuse.js": "^7", "idb-keyval": "^6", "jwt-decode": "^4", "nprogress": "^0.2", "qrcode": "^1.5", "sortablejs": "^1", "universal-cookie": "^7 || ^8", "vue": "^3.5.0" }, "optionalPeers": ["async-validator", "axios", "change-case", "drauu", "focus-trap", "fuse.js", "idb-keyval", "jwt-decode", "nprogress", "qrcode", "sortablejs", "universal-cookie"] }, "sha512-oJz9qTgczvA7L1nXQFRU7h8tQbOCoiceqvMMhT9XYMyOGTqLJ2rEa09PON+nD2t48sZUfeOmg4eaWJXV4sZb/w=="],
1124
1125 "@vueuse/metadata": ["@vueuse/metadata@14.4.0", "", {}, "sha512-swx/255R6JyHZFJhx845iz5CRWDZdCfvkZOpACWc5+c5WHcG24mv8gUT1WIdFQaHt6dq79rvILd9QnCWiyVm9g=="],
1126
1127 "@vueuse/shared": ["@vueuse/shared@14.4.0", "", { "peerDependencies": { "vue": "^3.5.0" } }, "sha512-JRgY90Sz8DDtPMsaDflvPMp9xYk69JZAmbuDvAquUVXKr2gEjqtzGNTTthLfckH0BzBqvnu31gb4a8TGLRe79g=="],
1128
1129 "@webcontainer/env": ["@webcontainer/env@1.1.1", "", {}, "sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng=="],
1130
1131 "@workflow/serde": ["@workflow/serde@4.1.0", "", {}, "sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ=="],
1132
1133 "abbrev": ["abbrev@3.0.1", "", {}, "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg=="],
1134
1135 "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="],
1136
1137 "accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="],
1138
1139 "acorn": ["acorn@8.18.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ=="],
1140
1141 "acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="],
1142
1143 "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="],
1144
1145 "agent-base": ["agent-base@8.0.0", "", {}, "sha512-QT8i0hCz6C/KQ+KTAbSNwCHDGdmUJl2tp2ZpNlGSWCfhUNVbYG2WLE3MdZGBAgXPV4GAvjGMxo+C1hroyxmZEg=="],
1146
1147 "ai": ["ai@7.0.56", "", { "dependencies": { "@ai-sdk/gateway": "4.0.44", "@ai-sdk/provider": "4.0.6", "@ai-sdk/provider-utils": "5.0.23" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-Lp7q9tZFl/TGOpBBNgt2wZ85SoCvJJVlHQksMkqrgiFUnIGOw+L2FWJ0gXuNEngLQTp9+t32k8QuIB7Jc5uKRA=="],
1148
1149 "ajv": ["ajv@6.15.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw=="],
1150
1151 "ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="],
1152
1153 "alien-signals": ["alien-signals@3.2.1", "", {}, "sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g=="],
1154
1155 "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
1156
1157 "ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
1158
1159 "ansis": ["ansis@4.3.1", "", {}, "sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA=="],
1160
1161 "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="],
1162
1163 "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="],
1164
1165 "archiver": ["archiver@7.0.1", "", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="],
1166
1167 "archiver-utils": ["archiver-utils@5.0.2", "", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="],
1168
1169 "are-docs-informative": ["are-docs-informative@0.0.2", "", {}, "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig=="],
1170
1171 "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
1172
1173 "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="],
1174
1175 "array-ify": ["array-ify@1.0.0", "", {}, "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng=="],
1176
1177 "ast-kit": ["ast-kit@2.2.0", "", { "dependencies": { "@babel/parser": "^7.28.5", "pathe": "^2.0.3" } }, "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw=="],
1178
1179 "ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="],
1180
1181 "ast-walker-scope": ["ast-walker-scope@0.9.0", "", { "dependencies": { "@babel/parser": "^7.29.2", "@babel/types": "^7.29.0", "ast-kit": "^2.2.0" } }, "sha512-IJdzo2vLiElBxKzwS36VsCue/62d6IdWjnPB2v3nuPKeWGynp6FF/CYoLa5i/3jXH/z97ZDdsXz6abpgM6w07A=="],
1182
1183 "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="],
1184
1185 "async-lock": ["async-lock@1.4.1", "", {}, "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ=="],
1186
1187 "async-retry": ["async-retry@1.3.3", "", { "dependencies": { "retry": "0.13.1" } }, "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw=="],
1188
1189 "async-sema": ["async-sema@3.1.1", "", {}, "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg=="],
1190
1191 "autoprefixer": ["autoprefixer@10.5.4", "", { "dependencies": { "browserslist": "^4.28.6", "caniuse-lite": "^1.0.30001806", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA=="],
1192
1193 "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="],
1194
1195 "b4a": ["b4a@1.8.1", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw=="],
1196
1197 "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="],
1198
1199 "balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="],
1200
1201 "bare-events": ["bare-events@2.9.1", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg=="],
1202
1203 "bare-fs": ["bare-fs@4.8.0", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-fM+MhCvdQhZ7NV6S95a07gPSqjIYKn6mFaXfx266wN3ajZGl/+1AzH+ubkXQ0fFZvOe2nk9VHkzdYkQE5zMV3Q=="],
1204
1205 "bare-path": ["bare-path@3.1.1", "", {}, "sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ=="],
1206
1207 "bare-stream": ["bare-stream@2.13.3", "", { "dependencies": { "b4a": "^1.8.1", "streamx": "^2.25.0", "teex": "^1.0.1" }, "peerDependencies": { "bare-abort-controller": "*", "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-abort-controller", "bare-buffer", "bare-events"] }, "sha512-Kc+brLqvEqGkjyfiwJmImAOqLZL7OsoLKuavx+hJjgVV3nLTOjloJyPMFxjUPerGGHrNH0fLU06jjykMLWrERQ=="],
1208
1209 "bare-url": ["bare-url@2.4.7", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-o8CRCiJtib+ycO3mE4A5UChtGX4dDP2XxsWVu9P+Zc3H8tcmKwNVEDoDTXmwN+uuMhfKeT7/i7Y26xS8W7ohoA=="],
1210
1211 "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
1212
1213 "baseline-browser-mapping": ["baseline-browser-mapping@2.11.12", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA=="],
1214
1215 "basic-ftp": ["basic-ftp@5.3.1", "", {}, "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw=="],
1216
1217 "before-after-hook": ["before-after-hook@4.0.0", "", {}, "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ=="],
1218
1219 "better-sqlite3": ["better-sqlite3@12.11.1", "", { "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" } }, "sha512-dq9AtApgg5PGFtBzPFSBl3HZQjHok5gaQCM6zh2Yk0aSmDCs1CbnVI8/HgASQkNKsWFpseIO9beg5xxpYhbIfA=="],
1220
1221 "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="],
1222
1223 "birpc": ["birpc@4.0.0", "", {}, "sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw=="],
1224
1225 "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="],
1226
1227 "body-parser": ["body-parser@2.3.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^2.0.0", "debug": "^4.4.3", "http-errors": "^2.0.1", "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", "qs": "^6.15.2", "raw-body": "^3.0.2", "type-is": "^2.1.0" } }, "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw=="],
1228
1229 "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
1230
1231 "brace-expansion": ["brace-expansion@5.0.9", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg=="],
1232
1233 "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
1234
1235 "browserslist": ["browserslist@4.28.7", "", { "dependencies": { "baseline-browser-mapping": "^2.10.44", "caniuse-lite": "^1.0.30001806", "electron-to-chromium": "^1.5.393", "node-releases": "^2.0.51", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw=="],
1236
1237 "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="],
1238
1239 "buffer-crc32": ["buffer-crc32@1.0.0", "", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="],
1240
1241 "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
1242
1243 "builtin-modules": ["builtin-modules@5.3.0", "", {}, "sha512-hMQUl2bUFG339QygPM97E+mc8OY1IAchORZxm4a/frcYwKzozMzRVDBwHW0NjOqGElLm2O37AVQE8ikxlZHrMQ=="],
1244
1245 "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="],
1246
1247 "bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="],
1248
1249 "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="],
1250
1251 "c12": ["c12@3.3.4", "", { "dependencies": { "chokidar": "^5.0.0", "confbox": "^0.2.4", "defu": "^6.1.6", "dotenv": "^17.3.1", "exsolve": "^1.0.8", "giget": "^3.2.0", "jiti": "^2.6.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.0", "rc9": "^3.0.1" }, "peerDependencies": { "magicast": "*" }, "optionalPeers": ["magicast"] }, "sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA=="],
1252
1253 "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="],
1254
1255 "call-bind": ["call-bind@1.0.9", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" } }, "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ=="],
1256
1257 "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
1258
1259 "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="],
1260
1261 "caniuse-api": ["caniuse-api@4.0.0", "", { "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0" } }, "sha512-B0hQ1OLyJuHTQSOWXvwibWqM6DCoqJdvBA6X1S/53bd4XU7LJ1yurIPlrsouol3mw1jh9pGI4ivubSpmJeIqCA=="],
1262
1263 "caniuse-lite": ["caniuse-lite@1.0.30001807", "", {}, "sha512-daRXJ9EB/rdRgu7kV+TTl1YUKtlsMWblPl2sLnpg9DZae16QCegol6A1SmCE31Lm9mXC1sRWGt/krouH+/dl7Q=="],
1264
1265 "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="],
1266
1267 "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
1268
1269 "change-case": ["change-case@5.4.4", "", {}, "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w=="],
1270
1271 "char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="],
1272
1273 "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="],
1274
1275 "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="],
1276
1277 "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="],
1278
1279 "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="],
1280
1281 "chardet": ["chardet@2.2.0", "", {}, "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA=="],
1282
1283 "cheerio": ["cheerio@1.2.0", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.1", "htmlparser2": "^10.1.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", "undici": "^7.19.0", "whatwg-mimetype": "^4.0.0" } }, "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg=="],
1284
1285 "cheerio-select": ["cheerio-select@2.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="],
1286
1287 "chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="],
1288
1289 "chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="],
1290
1291 "chrome-launcher": ["chrome-launcher@1.2.1", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^2.0.1" }, "bin": { "print-chrome-path": "bin/print-chrome-path.cjs" } }, "sha512-qmFR5PLMzHyuNJHwOloHPAHhbaNglkfeV/xDtt5b7xiFFyU1I+AZZX0PYseMuhenJSSirgxELYIbswcoc+5H4A=="],
1292
1293 "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="],
1294
1295 "citty": ["citty@0.2.2", "", {}, "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w=="],
1296
1297 "clean-git-ref": ["clean-git-ref@2.0.1", "", {}, "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw=="],
1298
1299 "cli-cursor": ["cli-cursor@5.0.0", "", { "dependencies": { "restore-cursor": "^5.0.0" } }, "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw=="],
1300
1301 "cli-spinners": ["cli-spinners@3.4.0", "", {}, "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw=="],
1302
1303 "cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="],
1304
1305 "cliui": ["cliui@9.0.1", "", { "dependencies": { "string-width": "^7.2.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w=="],
1306
1307 "cluster-key-slot": ["cluster-key-slot@1.1.1", "", {}, "sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw=="],
1308
1309 "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
1310
1311 "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
1312
1313 "colorette": ["colorette@2.0.20", "", {}, "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="],
1314
1315 "colortranslator": ["colortranslator@5.0.0", "", {}, "sha512-Z3UPUKasUVDFCDYAjP2fmlVRf1jFHJv1izAmPjiOa0OCIw1W7iC8PZ2GsoDa8uZv+mKyWopxxStT9q05+27h7w=="],
1316
1317 "comark": ["comark@0.5.1", "", { "dependencies": { "entities": "^8.0.0", "htmlparser2": "^12.0.0", "js-yaml": "^5.2.1", "markdown-exit": "1.1.0-beta.2" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.17.0", "shiki": "^4.3.1" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-RRRmUaEc6tokYJhgIGHrl8+pUt3kY1BxMnbRrxMxkCk2RcPcrilq9OmmPWIO7zuUIF7qLLRCCQz+wPuMg7Vz9w=="],
1318
1319 "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="],
1320
1321 "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="],
1322
1323 "comment-parser": ["comment-parser@1.4.7", "", {}, "sha512-0h+uSNtQGW3D98eQt3jJ8L06Fves8hncB4V/PKdw/Qb8Hnk19VaKuTr55UNRYiSoVa7WwrFls+rh3ux9agmkeQ=="],
1324
1325 "commondir": ["commondir@1.0.1", "", {}, "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="],
1326
1327 "compare-func": ["compare-func@2.0.0", "", { "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" } }, "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA=="],
1328
1329 "compatx": ["compatx@0.2.0", "", {}, "sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA=="],
1330
1331 "compress-commons": ["compress-commons@6.0.2", "", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="],
1332
1333 "concat-stream": ["concat-stream@2.0.0", "", { "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.0.2", "typedarray": "^0.0.6" } }, "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A=="],
1334
1335 "confbox": ["confbox@0.2.4", "", {}, "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ=="],
1336
1337 "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="],
1338
1339 "content-disposition": ["content-disposition@1.1.0", "", {}, "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g=="],
1340
1341 "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="],
1342
1343 "conventional-changelog": ["conventional-changelog@7.2.1", "", { "dependencies": { "@conventional-changelog/git-client": "^2.7.0", "@simple-libs/hosted-git-info": "^1.0.2", "@types/normalize-package-data": "^2.4.4", "conventional-changelog-preset-loader": "^5.0.0", "conventional-changelog-writer": "^8.4.0", "conventional-commits-parser": "^6.4.0", "fd-package-json": "^2.0.0", "meow": "^13.0.0", "normalize-package-data": "^7.0.0" }, "bin": { "conventional-changelog": "dist/cli/index.js" } }, "sha512-smcpqCeNRCAoL586/Iql8GfVsduP1JDrr7SAzKHWM5C5voDzKhc3QtqwVWeKMhvVw4iYfAr+znz1TF4kPXVm3A=="],
1344
1345 "conventional-changelog-angular": ["conventional-changelog-angular@8.3.1", "", { "dependencies": { "compare-func": "^2.0.0" } }, "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg=="],
1346
1347 "conventional-changelog-conventionalcommits": ["conventional-changelog-conventionalcommits@9.3.1", "", { "dependencies": { "compare-func": "^2.0.0" } }, "sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw=="],
1348
1349 "conventional-changelog-preset-loader": ["conventional-changelog-preset-loader@5.0.0", "", {}, "sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA=="],
1350
1351 "conventional-changelog-writer": ["conventional-changelog-writer@8.4.0", "", { "dependencies": { "@simple-libs/stream-utils": "^1.2.0", "conventional-commits-filter": "^5.0.0", "handlebars": "^4.7.7", "meow": "^13.0.0", "semver": "^7.5.2" }, "bin": { "conventional-changelog-writer": "dist/cli/index.js" } }, "sha512-HHBFkk1EECxxmCi4CTu091iuDpQv5/OavuCUAuZmrkWpmYfyD816nom1CvtfXJ/uYfAAjavgHvXHX291tSLK8g=="],
1352
1353 "conventional-commits-filter": ["conventional-commits-filter@5.0.0", "", {}, "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q=="],
1354
1355 "conventional-commits-parser": ["conventional-commits-parser@6.4.0", "", { "dependencies": { "@simple-libs/stream-utils": "^1.2.0", "meow": "^13.0.0" }, "bin": { "conventional-commits-parser": "dist/cli/index.js" } }, "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw=="],
1356
1357 "conventional-recommended-bump": ["conventional-recommended-bump@11.2.0", "", { "dependencies": { "@conventional-changelog/git-client": "^2.5.1", "conventional-changelog-preset-loader": "^5.0.0", "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.1.0", "meow": "^13.0.0" }, "bin": { "conventional-recommended-bump": "dist/cli/index.js" } }, "sha512-lqIdmw330QdMBgfL0e6+6q5OMKyIpy4OZNmepit6FS3GldhkG+70drZjuZ0A5NFpze5j85dlYs3GabQXl6sMHw=="],
1358
1359 "convert-hrtime": ["convert-hrtime@5.0.0", "", {}, "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg=="],
1360
1361 "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="],
1362
1363 "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="],
1364
1365 "cookie-es": ["cookie-es@3.1.1", "", {}, "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg=="],
1366
1367 "cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="],
1368
1369 "core-js-compat": ["core-js-compat@3.50.0", "", { "dependencies": { "browserslist": "^4.28.7" } }, "sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q=="],
1370
1371 "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="],
1372
1373 "cors": ["cors@2.8.6", "", { "dependencies": { "object-assign": "^4", "vary": "^1" } }, "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw=="],
1374
1375 "crc-32": ["crc-32@1.2.2", "", { "bin": { "crc32": "bin/crc32.njs" } }, "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="],
1376
1377 "crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="],
1378
1379 "create-docus": ["create-docus@workspace:cli"],
1380
1381 "croner": ["croner@10.0.1", "", {}, "sha512-ixNtAJndqh173VQ4KodSdJEI6nuioBWI0V1ITNKhZZsO0pEMoDxz539T4FTTbSZ/xIOSuDnzxLVRqBVSvPNE2g=="],
1382
1383 "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
1384
1385 "crossws": ["crossws@0.4.10", "", { "peerDependencies": { "srvx": ">=0.11.5" }, "optionalPeers": ["srvx"] }, "sha512-pz3oubH/dt12KjqsUB0IuXW4nwRDQ583iDsP4555Cpdqx0NoU7pGlWBcayyFI8f/l/idRpgjMEfwuOxSWJYlIA=="],
1386
1387 "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="],
1388
1389 "css-tree": ["css-tree@3.2.1", "", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="],
1390
1391 "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="],
1392
1393 "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="],
1394
1395 "cssfilter": ["cssfilter@0.0.10", "", {}, "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw=="],
1396
1397 "cssnano": ["cssnano@8.0.4", "", { "dependencies": { "cssnano-preset-default": "^8.0.4", "lilconfig": "^3.1.3" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-m6epEvKkzysdXamdK4BU9S6lQzx+syY+5Qm4f2dbpxlewBtEYOKi2v2iIr1jLsjuAr3V1WjRp6hXFPH1BEDirw=="],
1398
1399 "cssnano-preset-default": ["cssnano-preset-default@8.0.4", "", { "dependencies": { "browserslist": "^4.28.7", "cssnano-utils": "^6.0.2", "postcss-calc": "^10.1.1", "postcss-colormin": "^8.0.2", "postcss-convert-values": "^8.0.2", "postcss-discard-comments": "^8.0.2", "postcss-discard-duplicates": "^8.0.2", "postcss-discard-empty": "^8.0.2", "postcss-discard-overridden": "^8.0.2", "postcss-merge-longhand": "^8.0.2", "postcss-merge-rules": "^8.0.2", "postcss-minify-font-values": "^8.0.2", "postcss-minify-gradients": "^8.0.2", "postcss-minify-params": "^8.0.2", "postcss-minify-selectors": "^8.0.3", "postcss-normalize-charset": "^8.0.2", "postcss-normalize-display-values": "^8.0.2", "postcss-normalize-positions": "^8.0.2", "postcss-normalize-repeat-style": "^8.0.2", "postcss-normalize-string": "^8.0.2", "postcss-normalize-timing-functions": "^8.0.2", "postcss-normalize-unicode": "^8.0.2", "postcss-normalize-url": "^8.0.2", "postcss-normalize-whitespace": "^8.0.2", "postcss-ordered-values": "^8.0.2", "postcss-reduce-initial": "^8.0.2", "postcss-reduce-transforms": "^8.0.2", "postcss-svgo": "^8.0.3", "postcss-unique-selectors": "^8.0.2" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-WUn2NmdLD0FlUI8XdQrlfDjVNGLOI3cxaw7Y6msbfxn4G2vJByuO6M73Wo5B9Rd0Ap36SQhG7wsOXAMnVdC2eQ=="],
1400
1401 "cssnano-utils": ["cssnano-utils@6.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-AqysikWP69dOKAP/UMvUYrlZ1gvvQu0/eMFVUKLhH+ZM23dUAKXC31xKvNyL9It2UMF2uDmK4XotBeO9vSBKzg=="],
1402
1403 "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="],
1404
1405 "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
1406
1407 "culori": ["culori@4.0.2", "", {}, "sha512-1+BhOB8ahCn4O0cep0Sh2l9KCOfOdY+BXJnKMHFFzDEouSr/el18QwXEMRlOj9UY5nCeA8UN3a/82rUWRBeyBw=="],
1408
1409 "data-uri-to-buffer": ["data-uri-to-buffer@7.0.0", "", {}, "sha512-CuRUx0TXGSbbWdEci3VK/XOZGP3n0P4pIKpsqpVtBqaIIuj3GKK8H45oAqA4Rg8FHipc+CzRdUzmD4YQXxv66Q=="],
1410
1411 "db0": ["db0@0.3.4", "", { "peerDependencies": { "@electric-sql/pglite": "*", "@libsql/client": "*", "better-sqlite3": "*", "drizzle-orm": "*", "mysql2": "*", "sqlite3": "*" }, "optionalPeers": ["@electric-sql/pglite", "@libsql/client", "better-sqlite3", "drizzle-orm", "mysql2", "sqlite3"] }, "sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw=="],
1412
1413 "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
1414
1415 "decode-named-character-reference": ["decode-named-character-reference@1.3.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q=="],
1416
1417 "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="],
1418
1419 "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="],
1420
1421 "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="],
1422
1423 "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
1424
1425 "default-browser": ["default-browser@5.5.0", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw=="],
1426
1427 "default-browser-id": ["default-browser-id@5.0.1", "", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="],
1428
1429 "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="],
1430
1431 "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="],
1432
1433 "defu": ["defu@6.1.7", "", {}, "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ=="],
1434
1435 "degenerator": ["degenerator@6.0.0", "", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" }, "peerDependencies": { "quickjs-wasi": "^0.0.1" } }, "sha512-j5MdXdefrecJeSqTpUrgZd4fBsD2IxZx0JlJD+n1Q7+aTf7/HcyXSfHsicPW6ekPurX159v1ZYla6OJgSPh2Dw=="],
1436
1437 "denque": ["denque@2.1.0", "", {}, "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="],
1438
1439 "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="],
1440
1441 "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="],
1442
1443 "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="],
1444
1445 "detab": ["detab@3.0.2", "", {}, "sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w=="],
1446
1447 "detect-indent": ["detect-indent@7.0.2", "", {}, "sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A=="],
1448
1449 "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
1450
1451 "devalue": ["devalue@5.9.0", "", {}, "sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A=="],
1452
1453 "devframe": ["devframe@0.8.2", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "birpc": "^4.0.0", "crossws": "^0.4.10", "destr": "^2.0.5", "h3": "^2.0.1-rc.26", "mrmime": "^2.0.1", "nostics": "^1.2.0", "pathe": "^2.0.3", "ufo": "^1.6.4" }, "peerDependencies": { "@modelcontextprotocol/client": "^2.0.0", "@modelcontextprotocol/server": "^2.0.0", "cac": "^7.0.0" }, "optionalPeers": ["@modelcontextprotocol/client", "@modelcontextprotocol/server", "cac"], "bin": { "devframe": "./bin/devframe.mjs" } }, "sha512-oodQXEQnrvufA1so/E058Z3SG3bk9AlUE5+NIAsyx5ZJH9P/oX6WMxjC0bs5PPwtKbS7pBHjxja2AD8EwGE8/Q=="],
1454
1455 "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="],
1456
1457 "diff": ["diff@8.0.4", "", {}, "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw=="],
1458
1459 "diff3": ["diff3@0.0.3", "", {}, "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g=="],
1460
1461 "docus": ["docus@workspace:layer"],
1462
1463 "docus-docs": ["docus-docs@workspace:docs"],
1464
1465 "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="],
1466
1467 "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="],
1468
1469 "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="],
1470
1471 "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="],
1472
1473 "dot-prop": ["dot-prop@5.3.0", "", { "dependencies": { "is-obj": "^2.0.0" } }, "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q=="],
1474
1475 "dotenv": ["dotenv@17.4.2", "", {}, "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw=="],
1476
1477 "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
1478
1479 "duplexer": ["duplexer@0.1.2", "", {}, "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="],
1480
1481 "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
1482
1483 "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="],
1484
1485 "electron-to-chromium": ["electron-to-chromium@1.5.402", "", {}, "sha512-/oOpMaPT6Yg+6/1XQhyIPlzgj7Ye9zf+nNM2Uh6OcE2G2oNptWazFa+qB2Pdqqbsc9KnIDzgAntoYN0dbwOXwA=="],
1486
1487 "embla-carousel": ["embla-carousel@8.6.0", "", {}, "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA=="],
1488
1489 "embla-carousel-auto-height": ["embla-carousel-auto-height@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ=="],
1490
1491 "embla-carousel-auto-scroll": ["embla-carousel-auto-scroll@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ=="],
1492
1493 "embla-carousel-autoplay": ["embla-carousel-autoplay@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA=="],
1494
1495 "embla-carousel-class-names": ["embla-carousel-class-names@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-l1hm1+7GxQ+zwdU2sea/LhD946on7XO2qk3Xq2XWSwBaWfdgchXdK567yzLtYSHn4sWYdiX+x4nnaj+saKnJkw=="],
1496
1497 "embla-carousel-fade": ["embla-carousel-fade@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg=="],
1498
1499 "embla-carousel-reactive-utils": ["embla-carousel-reactive-utils@8.6.0", "", { "peerDependencies": { "embla-carousel": "8.6.0" } }, "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A=="],
1500
1501 "embla-carousel-vue": ["embla-carousel-vue@8.6.0", "", { "dependencies": { "embla-carousel": "8.6.0", "embla-carousel-reactive-utils": "8.6.0" }, "peerDependencies": { "vue": "^3.2.37" } }, "sha512-v8UO5UsyLocZnu/LbfQA7Dn2QHuZKurJY93VUmZYP//QRWoCWOsionmvLLAlibkET3pGPs7++03VhJKbWD7vhQ=="],
1502
1503 "embla-carousel-wheel-gestures": ["embla-carousel-wheel-gestures@8.1.0", "", { "dependencies": { "wheel-gestures": "^2.2.5" }, "peerDependencies": { "embla-carousel": "^8.0.0 || ~8.0.0-rc03" } }, "sha512-J68jkYrxbWDmXOm2n2YHl+uMEXzkGSKjWmjaEgL9xVvPb3HqVmg6rJSKfI3sqIDVvm7mkeTy87wtG/5263XqHQ=="],
1504
1505 "emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="],
1506
1507 "emojilib": ["emojilib@2.4.0", "", {}, "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw=="],
1508
1509 "emoticon": ["emoticon@4.1.0", "", {}, "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ=="],
1510
1511 "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="],
1512
1513 "encoding-sniffer": ["encoding-sniffer@0.2.1", "", { "dependencies": { "iconv-lite": "^0.6.3", "whatwg-encoding": "^3.1.1" } }, "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw=="],
1514
1515 "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="],
1516
1517 "engine.io-client": ["engine.io-client@6.6.6", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-parser": "~5.2.1", "ws": "~8.21.0", "xmlhttprequest-ssl": "~2.1.1" } }, "sha512-iY6QdftLQ9pyiPoX082bpf/u1UewnOaJrtJIF9T0++QB34lZrj0uP+Q/bj8AlUsAxqhnkTV2BS8SBZSxOmoV5Q=="],
1518
1519 "engine.io-parser": ["engine.io-parser@5.2.3", "", {}, "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="],
1520
1521 "enhanced-resolve": ["enhanced-resolve@5.24.5", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A=="],
1522
1523 "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
1524
1525 "error-stack-parser-es": ["error-stack-parser-es@2.0.1", "", {}, "sha512-J36ntO+rMQVRuR/umlmxmfLi4TpWwtmTnHoJoXTiC2xDNazs0VDPKcX6pbhZMDd2HFtH9isMBJXMdbki+A++Pg=="],
1526
1527 "errx": ["errx@0.1.2", "", {}, "sha512-chfpPHmCerdo/rXr/nNvPZRkV4WwDRwzwnsJ0Uzz3tVi8Z41tDctRjduYy1138ii77AFlts1qvWtX3g/Acg91Q=="],
1528
1529 "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
1530
1531 "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
1532
1533 "es-module-lexer": ["es-module-lexer@2.3.1", "", {}, "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA=="],
1534
1535 "es-object-atoms": ["es-object-atoms@1.1.2", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw=="],
1536
1537 "esbuild": ["esbuild@0.27.7", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.7", "@esbuild/android-arm": "0.27.7", "@esbuild/android-arm64": "0.27.7", "@esbuild/android-x64": "0.27.7", "@esbuild/darwin-arm64": "0.27.7", "@esbuild/darwin-x64": "0.27.7", "@esbuild/freebsd-arm64": "0.27.7", "@esbuild/freebsd-x64": "0.27.7", "@esbuild/linux-arm": "0.27.7", "@esbuild/linux-arm64": "0.27.7", "@esbuild/linux-ia32": "0.27.7", "@esbuild/linux-loong64": "0.27.7", "@esbuild/linux-mips64el": "0.27.7", "@esbuild/linux-ppc64": "0.27.7", "@esbuild/linux-riscv64": "0.27.7", "@esbuild/linux-s390x": "0.27.7", "@esbuild/linux-x64": "0.27.7", "@esbuild/netbsd-arm64": "0.27.7", "@esbuild/netbsd-x64": "0.27.7", "@esbuild/openbsd-arm64": "0.27.7", "@esbuild/openbsd-x64": "0.27.7", "@esbuild/openharmony-arm64": "0.27.7", "@esbuild/sunos-x64": "0.27.7", "@esbuild/win32-arm64": "0.27.7", "@esbuild/win32-ia32": "0.27.7", "@esbuild/win32-x64": "0.27.7" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w=="],
1538
1539 "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
1540
1541 "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="],
1542
1543 "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
1544
1545 "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="],
1546
1547 "eslint": ["eslint@10.8.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.7.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ=="],
1548
1549 "eslint-config-flat-gitignore": ["eslint-config-flat-gitignore@2.3.0", "", { "dependencies": { "@eslint/compat": "^2.0.3" }, "peerDependencies": { "eslint": "^9.5.0 || ^10.0.0" } }, "sha512-bg4ZLGgoARg1naWfsINUUb/52Ksw/K22K+T16D38Y8v+/sGwwIYrGvH/JBjOin+RQtxxC9tzNNiy4shnGtGyyQ=="],
1550
1551 "eslint-flat-config-utils": ["eslint-flat-config-utils@3.2.0", "", { "dependencies": { "@eslint/config-helpers": "^0.5.5", "pathe": "^2.0.3" } }, "sha512-PHgo1X5uqIorJONLVD9BIaOSdoYFD3z/AeJljdqDPlWVRpeCYkDbK9k0AXoYVqqNJr6FEYIEr5Rm2TSktLQcHw=="],
1552
1553 "eslint-import-context": ["eslint-import-context@0.1.9", "", { "dependencies": { "get-tsconfig": "^4.10.1", "stable-hash-x": "^0.2.0" }, "peerDependencies": { "unrs-resolver": "^1.0.0" }, "optionalPeers": ["unrs-resolver"] }, "sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg=="],
1554
1555 "eslint-merge-processors": ["eslint-merge-processors@2.0.0", "", { "peerDependencies": { "eslint": "*" } }, "sha512-sUuhSf3IrJdGooquEUB5TNpGNpBoQccbnaLHsb1XkBLUPPqCNivCpY05ZcpCOiV9uHwO2yxXEWVczVclzMxYlA=="],
1556
1557 "eslint-plugin-import-lite": ["eslint-plugin-import-lite@0.6.0", "", { "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-80vevx2A7i3H7n1/6pqDO8cc5wRz6OwLDvIyVl9UflBV1N1f46e9Ihzi65IOLYoSxM6YykK2fTw1xm0Ixx6aTQ=="],
1558
1559 "eslint-plugin-import-x": ["eslint-plugin-import-x@4.17.1", "", { "dependencies": { "@typescript-eslint/types": "^8.56.0", "comment-parser": "^1.4.1", "debug": "^4.4.1", "eslint-import-context": "^0.1.9", "is-glob": "^4.0.3", "minimatch": "^9.0.3 || ^10.1.2", "semver": "^7.7.2", "stable-hash-x": "^0.2.0", "unrs-resolver": "^1.9.2" }, "peerDependencies": { "@typescript-eslint/utils": "^8.56.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "eslint-import-resolver-node": "*" }, "optionalPeers": ["@typescript-eslint/utils", "eslint-import-resolver-node"] }, "sha512-4cdstYkKCyjumM2Q9NSI03K8D2a9F4Ssz33K2lv2hQa4KmR9jPLwk3uWGtNvclfqBrPGfGuMBwsGMbe6dMRbfg=="],
1560
1561 "eslint-plugin-jsdoc": ["eslint-plugin-jsdoc@63.3.3", "", { "dependencies": { "@es-joy/jsdoccomment": "~0.91.0", "@es-joy/resolve.exports": "1.2.0", "are-docs-informative": "^0.0.2", "comment-parser": "1.4.7", "debug": "^4.4.3", "escape-string-regexp": "^4.0.0", "espree": "^11.2.0", "esquery": "^1.7.0", "html-entities": "^2.6.0", "object-deep-merge": "^2.0.1", "parse-imports-exports": "^0.2.4", "semver": "^7.8.5", "spdx-expression-parse": "^5.0.0", "to-valid-identifier": "^1.0.0" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0" } }, "sha512-xI4IeVRzRFA2DGHrPLIxF3U+oJHU3FE+P9Zb27fVs5dPHgfcpoAs0PyCbznVhK7pwR+9BPUztFeXSgpw/CL4Yg=="],
1562
1563 "eslint-plugin-regexp": ["eslint-plugin-regexp@3.1.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "comment-parser": "^1.4.0", "jsdoc-type-pratt-parser": "^7.0.0", "refa": "^0.12.1", "regexp-ast-analysis": "^0.7.1", "scslre": "^0.3.0" }, "peerDependencies": { "eslint": ">=9.38.0" } }, "sha512-MxR5nqoQCtVWmJwia0D2+NlXX1xzdpkslsVOZLEYQ4PQWEaL65PCZXURxaBc3lPnkNFpNxzMIRmYVxdl8giXRA=="],
1564
1565 "eslint-plugin-unicorn": ["eslint-plugin-unicorn@73.0.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@eslint/css-tree": "^4.0.4", "browserslist": "^4.28.4", "change-case": "^5.4.4", "ci-info": "^4.4.0", "core-js-compat": "^3.49.0", "detect-indent": "^7.0.2", "entities": "^4.5.0", "find-up-simple": "^1.0.1", "globals": "^17.7.0", "indent-string": "^5.0.0", "is-builtin-module": "^5.0.0", "is-identifier": "^1.1.0", "pluralize": "^8.0.0", "quote-js-string": "^0.1.0", "regjsparser": "^0.13.2", "reserved-identifiers": "^1.2.0", "semver": "^7.8.5", "strip-indent": "^4.1.1", "yaml": "^2.9.0" }, "peerDependencies": { "eslint": ">=10.4" } }, "sha512-V0YatLe9nkGhXEXKe2Qljb1EY0sJHwDV0HUF1NKFwtsHh/fU7qGHDgv+6fchzZcgU2/7noHo2gdjnmo0P2uDPw=="],
1566
1567 "eslint-plugin-vue": ["eslint-plugin-vue@10.10.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "natural-compare": "^1.4.0", "nth-check": "^2.1.1", "postcss-selector-parser": "^7.1.4", "semver": "^7.8.5", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "@stylistic/eslint-plugin": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "vue-eslint-parser": "^10.3.0" }, "optionalPeers": ["@stylistic/eslint-plugin", "@typescript-eslint/parser"] }, "sha512-dL9x9rBHqqNcByWiLOHK6L0SB97V82/NC0cZRn9cXPjM7pCuWlpQQP9bFH4vjBv80ej1ZpzAkuD8zWH1o9bZbA=="],
1568
1569 "eslint-processor-vue-blocks": ["eslint-processor-vue-blocks@2.0.0", "", { "peerDependencies": { "@vue/compiler-sfc": "^3.3.0", "eslint": ">=9.0.0" } }, "sha512-u4W0CJwGoWY3bjXAuFpc/b6eK3NQEI8MoeW7ritKj3G3z/WtHrKjkqf+wk8mPEy5rlMGS+k6AZYOw2XBoN/02Q=="],
1570
1571 "eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="],
1572
1573 "eslint-typegen": ["eslint-typegen@2.3.1", "", { "dependencies": { "json-schema-to-typescript-lite": "^15.0.0", "ohash": "^2.0.11" }, "peerDependencies": { "eslint": "^9.0.0 || ^10.0.0" } }, "sha512-zVdh8rThBvv2o5T/K524Fr5iy1Jo0q09rHL7y7FbOhgMB177T2gw+shxfC4ChCEqdq6/y6LJA4j8Fbr/Xls9aw=="],
1574
1575 "eslint-visitor-keys": ["eslint-visitor-keys@5.0.1", "", {}, "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA=="],
1576
1577 "espree": ["espree@11.2.0", "", { "dependencies": { "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^5.0.1" } }, "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw=="],
1578
1579 "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],
1580
1581 "esquery": ["esquery@1.7.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g=="],
1582
1583 "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="],
1584
1585 "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],
1586
1587 "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="],
1588
1589 "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
1590
1591 "eta": ["eta@4.5.1", "", {}, "sha512-EaNCGm+8XEIU7YNcc+THptWAO5NfKBHHARxt+wxZljj9bTr/+arRoOm9/MpGt4n6xn9fLnPFRSoLD0WFYGFUxQ=="],
1592
1593 "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="],
1594
1595 "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="],
1596
1597 "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="],
1598
1599 "events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="],
1600
1601 "eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="],
1602
1603 "eventsource-parser": ["eventsource-parser@3.1.0", "", {}, "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg=="],
1604
1605 "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="],
1606
1607 "expand-template": ["expand-template@2.0.3", "", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="],
1608
1609 "express": ["express@5.2.1", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw=="],
1610
1611 "express-rate-limit": ["express-rate-limit@8.6.2", "", { "dependencies": { "debug": "^4.4.3", "ip-address": "^10.2.0" }, "peerDependencies": { "express": ">= 4.11" } }, "sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A=="],
1612
1613 "exsolve": ["exsolve@1.1.1", "", {}, "sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g=="],
1614
1615 "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="],
1616
1617 "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
1618
1619 "fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="],
1620
1621 "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="],
1622
1623 "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="],
1624
1625 "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="],
1626
1627 "fast-npm-meta": ["fast-npm-meta@2.2.0", "", { "dependencies": { "cac": "^7.0.0" }, "bin": { "fast-npm-meta": "./dist/cli.mjs" } }, "sha512-99jPl8JkCSCa4VlboNU1XuL98ijm74Pm9CGo6H4BoMVoVh1uhguQcvwLgXDT8Vkl2qj/UEQ0J9gD8beHjTFk1w=="],
1628
1629 "fast-string-truncated-width": ["fast-string-truncated-width@3.0.3", "", {}, "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g=="],
1630
1631 "fast-string-width": ["fast-string-width@3.0.2", "", { "dependencies": { "fast-string-truncated-width": "^3.0.2" } }, "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg=="],
1632
1633 "fast-uri": ["fast-uri@3.1.5", "", {}, "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw=="],
1634
1635 "fast-wrap-ansi": ["fast-wrap-ansi@0.2.2", "", { "dependencies": { "fast-string-width": "^3.0.2" } }, "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q=="],
1636
1637 "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="],
1638
1639 "fd-package-json": ["fd-package-json@2.0.0", "", { "dependencies": { "walk-up-path": "^4.0.0" } }, "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ=="],
1640
1641 "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
1642
1643 "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="],
1644
1645 "file-uri-to-path": ["file-uri-to-path@1.0.0", "", {}, "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="],
1646
1647 "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
1648
1649 "finalhandler": ["finalhandler@2.1.1", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA=="],
1650
1651 "find-up": ["find-up@8.0.0", "", { "dependencies": { "locate-path": "^8.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-JGG8pvDi2C+JxidYdIwQDyS/CgcrIdh18cvgxcBge3wSHRQOrooMD3GlFBcmMJAN9M42SAZjDp5zv1dglJjwww=="],
1652
1653 "find-up-simple": ["find-up-simple@1.0.1", "", {}, "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ=="],
1654
1655 "fix-dts-default-cjs-exports": ["fix-dts-default-cjs-exports@1.0.1", "", { "dependencies": { "magic-string": "^0.30.17", "mlly": "^1.7.4", "rollup": "^4.34.8" } }, "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg=="],
1656
1657 "flat": ["flat@6.0.1", "", { "bin": { "flat": "cli.js" } }, "sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw=="],
1658
1659 "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="],
1660
1661 "flatted": ["flatted@3.4.4", "", {}, "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q=="],
1662
1663 "fnv1a-64": ["fnv1a-64@0.1.2", "", {}, "sha512-mJbcILTPybAR1jdOwt/lVv8N2cffeJFFP+gVbSAwLEx1ujXH27RpPd8Rokec/KX9c76UYIB6Co+H4lQzxPnJfA=="],
1664
1665 "fontaine": ["fontaine@0.8.0", "", { "dependencies": { "@capsizecss/unpack": "^4.0.0", "css-tree": "^3.1.0", "magic-regexp": "^0.10.0", "magic-string": "^0.30.21", "pathe": "^2.0.3", "ufo": "^1.6.1", "unplugin": "^2.3.10" } }, "sha512-eek1GbzOdWIj9FyQH/emqW1aEdfC3lYRCHepzwlFCm5T77fBSRSyNRKE6/antF1/B1M+SfJXVRQTY9GAr7lnDg=="],
1666
1667 "fontkitten": ["fontkitten@1.0.3", "", { "dependencies": { "tiny-inflate": "^1.0.3" } }, "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw=="],
1668
1669 "fontless": ["fontless@0.2.1", "", { "dependencies": { "consola": "^3.4.2", "css-tree": "^3.1.0", "defu": "^6.1.4", "esbuild": "^0.27.0", "fontaine": "0.8.0", "jiti": "^2.6.1", "lightningcss": "^1.30.2", "magic-string": "^0.30.21", "ohash": "^2.0.11", "pathe": "^2.0.3", "ufo": "^1.6.1", "unifont": "^0.7.4", "unstorage": "^1.17.1" }, "peerDependencies": { "vite": "*" }, "optionalPeers": ["vite"] }, "sha512-mUWZ8w91/mw2KEcZ6gHNoNNmsAq9Wiw2IypIux5lM03nhXm+WSloXGUNuRETNTLqZexMgpt7Aj/v63qqrsWraQ=="],
1670
1671 "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="],
1672
1673 "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
1674
1675 "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="],
1676
1677 "fraction.js": ["fraction.js@5.3.4", "", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="],
1678
1679 "framer-motion": ["framer-motion@12.43.0", "", { "dependencies": { "motion-dom": "^12.43.0", "motion-utils": "^12.39.0", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-1eaL3RvR/kAlbG7UYcpMptEyzPoENO0c6w7ZnB3/hh2vSAz/6uGAFn6fdoqTBguNstf3MsFhJHsD/0DHiclG+g=="],
1680
1681 "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="],
1682
1683 "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="],
1684
1685 "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
1686
1687 "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
1688
1689 "function-timeout": ["function-timeout@1.0.2", "", {}, "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA=="],
1690
1691 "fuse.js": ["fuse.js@7.5.0", "", {}, "sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow=="],
1692
1693 "fzf": ["fzf@0.5.2", "", {}, "sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q=="],
1694
1695 "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
1696
1697 "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
1698
1699 "get-east-asian-width": ["get-east-asian-width@1.6.0", "", {}, "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA=="],
1700
1701 "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
1702
1703 "get-port-please": ["get-port-please@3.2.0", "", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="],
1704
1705 "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
1706
1707 "get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="],
1708
1709 "get-tsconfig": ["get-tsconfig@4.14.1", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-Dz/6HxkrxgNehhxLVeyv8sad9UzF2xBVeaKBQNDfJ5XiSXmp2gTR0eO0RWiT2NCKS5aGP9jjkOMggTN90qU50A=="],
1710
1711 "get-uri": ["get-uri@7.0.0", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "7.0.0", "debug": "^4.3.4" } }, "sha512-ZsC7KQxm1Hra8yO0RvMZ4lGJT7vnBtSNpEHKq39MPN7vjuvCiu1aQ8rkXUaIXG1y/TSDez97Gmv04ibnYqCp/A=="],
1712
1713 "giget": ["giget@3.3.1", "", { "bin": { "giget": "dist/cli.mjs" } }, "sha512-r+mvuDjrjMpsdw46Kmeydb8bdHm7wOKw8wNBtTndkjbPjgAp5oUJUxRE76wZFknxIPokfWvep2qSXK37aXE6zg=="],
1714
1715 "git-up": ["git-up@8.1.1", "", { "dependencies": { "is-ssh": "^1.4.0", "parse-url": "^9.2.0" } }, "sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g=="],
1716
1717 "git-url-parse": ["git-url-parse@16.1.0", "", { "dependencies": { "git-up": "^8.1.0" } }, "sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw=="],
1718
1719 "github-from-package": ["github-from-package@0.0.0", "", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="],
1720
1721 "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="],
1722
1723 "glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="],
1724
1725 "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="],
1726
1727 "global-directory": ["global-directory@4.0.1", "", { "dependencies": { "ini": "4.1.1" } }, "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q=="],
1728
1729 "globals": ["globals@17.9.0", "", {}, "sha512-m/MvAW61QVU5VDNF1Vj8axt016h8w7L5TU1e9zlab7XIttAT2YAlCwl75K1fOqvMM9apmD7lbCIRhpfkhmxhCg=="],
1730
1731 "globby": ["globby@16.2.2", "", { "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "fast-glob": "^3.3.3", "ignore": "^7.0.5", "is-path-inside": "^4.0.0", "slash": "^5.1.0", "unicorn-magic": "^0.4.0" } }, "sha512-NLvV9ubZ6NDsJaOpKPy3cQeJpKi9DcWiyCiFUpJPA0YihRqiE6RWaLUmgNNPr8MgPpLZjnBjSmou7uZBRJv9wA=="],
1732
1733 "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
1734
1735 "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
1736
1737 "gzip-size": ["gzip-size@7.0.0", "", { "dependencies": { "duplexer": "^0.1.2" } }, "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA=="],
1738
1739 "h3": ["h3@1.15.11", "", { "dependencies": { "cookie-es": "^1.2.3", "crossws": "^0.3.5", "defu": "^6.1.6", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.4", "radix3": "^1.1.2", "ufo": "^1.6.3", "uncrypto": "^0.1.3" } }, "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg=="],
1740
1741 "handlebars": ["handlebars@4.7.9", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ=="],
1742
1743 "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="],
1744
1745 "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
1746
1747 "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
1748
1749 "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="],
1750
1751 "hast-util-embedded": ["hast-util-embedded@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA=="],
1752
1753 "hast-util-format": ["hast-util-format@1.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-minify-whitespace": "^1.0.0", "hast-util-phrasing": "^3.0.0", "hast-util-whitespace": "^3.0.0", "html-whitespace-sensitive-tag-names": "^3.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA=="],
1754
1755 "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="],
1756
1757 "hast-util-has-property": ["hast-util-has-property@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA=="],
1758
1759 "hast-util-heading-rank": ["hast-util-heading-rank@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA=="],
1760
1761 "hast-util-is-body-ok-link": ["hast-util-is-body-ok-link@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ=="],
1762
1763 "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="],
1764
1765 "hast-util-minify-whitespace": ["hast-util-minify-whitespace@1.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-is-element": "^3.0.0", "hast-util-whitespace": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw=="],
1766
1767 "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="],
1768
1769 "hast-util-phrasing": ["hast-util-phrasing@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-embedded": "^3.0.0", "hast-util-has-property": "^3.0.0", "hast-util-is-body-ok-link": "^3.0.0", "hast-util-is-element": "^3.0.0" } }, "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ=="],
1770
1771 "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="],
1772
1773 "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="],
1774
1775 "hast-util-to-mdast": ["hast-util-to-mdast@10.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-phrasing": "^3.0.0", "hast-util-to-html": "^9.0.0", "hast-util-to-text": "^4.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "mdast-util-to-string": "^4.0.0", "rehype-minify-whitespace": "^6.0.0", "trim-trailing-lines": "^2.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ=="],
1776
1777 "hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="],
1778
1779 "hast-util-to-string": ["hast-util-to-string@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A=="],
1780
1781 "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="],
1782
1783 "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="],
1784
1785 "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="],
1786
1787 "hey-listen": ["hey-listen@1.0.8", "", {}, "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="],
1788
1789 "hono": ["hono@4.13.0", "", {}, "sha512-jhunvfHWxd7J5EFfSgH4xsYJzSe/lfqbUCxiyyeaQasUsXeEHXtzVid+7EOGByc5JnFa23SSFL3Y2RV/z1T+eQ=="],
1790
1791 "hookable": ["hookable@6.1.1", "", {}, "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ=="],
1792
1793 "hosted-git-info": ["hosted-git-info@8.1.0", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw=="],
1794
1795 "html-entities": ["html-entities@2.6.0", "", {}, "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ=="],
1796
1797 "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="],
1798
1799 "html-whitespace-sensitive-tag-names": ["html-whitespace-sensitive-tag-names@3.0.1", "", {}, "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA=="],
1800
1801 "htmlparser2": ["htmlparser2@10.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="],
1802
1803 "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="],
1804
1805 "http-proxy-agent": ["http-proxy-agent@8.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4" } }, "sha512-7pose0uGgrCJeH2Qh4JcNhWZp3u/oNrWjNYDK4ydOLxOpTw8V8ogHFAmkz0VWq96JBFj4umVJpvmQi287rSYLg=="],
1806
1807 "http-shutdown": ["http-shutdown@1.2.2", "", {}, "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw=="],
1808
1809 "https-proxy-agent": ["https-proxy-agent@8.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4" } }, "sha512-YYeW+iCnAS3xhvj2dvVoWgsbca3RfQy/IlaNHHOtDmU0jMqPI9euIq3Y9BJETdxk16h9NHHCKqp/KB9nIMStCQ=="],
1810
1811 "httpxy": ["httpxy@0.5.5", "", {}, "sha512-uDjmnPyp1q4Sgzf3w+J/Fc6UqcCEj0x4Wjp7OqK5dGhNeDgpyrAmnS6ey8QWrX3SWDon2DMKf9sBa5X9+CVyMA=="],
1812
1813 "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="],
1814
1815 "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
1816
1817 "identifier-regex": ["identifier-regex@1.1.0", "", { "dependencies": { "reserved-identifiers": "^1.0.0" } }, "sha512-SLX4H/vtcYlYnL7XqnuJKHU7Z8517TgsW9nmQiGOgMCjQ8V/deLYu6bEmbGoXe7WMMhc9+EUGyFFneHja8KabA=="],
1818
1819 "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
1820
1821 "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
1822
1823 "image-meta": ["image-meta@0.2.2", "", {}, "sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA=="],
1824
1825 "import-meta-resolve": ["import-meta-resolve@4.2.0", "", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="],
1826
1827 "impound": ["impound@1.1.6", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.31", "es-module-lexer": "^2.0.0", "pathe": "^2.0.3", "unplugin": "^3.0.0", "unplugin-utils": "^0.3.1" } }, "sha512-ugavDQkE74SGrBjagNIwNVHNBxX14mmfQnTm4jFGzOoWwYsgihqV698BNr5xwRY9quKK4rEg8bc6ECltllMr+w=="],
1828
1829 "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
1830
1831 "indent-string": ["indent-string@5.0.0", "", {}, "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg=="],
1832
1833 "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
1834
1835 "ini": ["ini@6.0.0", "", {}, "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ=="],
1836
1837 "ioredis": ["ioredis@5.11.1", "", { "dependencies": { "@ioredis/commands": "1.10.0", "cluster-key-slot": "1.1.1", "debug": "4.4.3", "denque": "2.1.0", "redis-errors": "1.2.0", "redis-parser": "3.0.0", "standard-as-callback": "2.1.0" } }, "sha512-ehuGcf94bQXhfagULNXrJdfnWO38v070jxSx/qE87Kjzmu2fU7ro5EFAb+OPituLqgfyuQaym5DlrNydW2sJ9A=="],
1838
1839 "ip-address": ["ip-address@10.4.0", "", {}, "sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ=="],
1840
1841 "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="],
1842
1843 "ipx": ["ipx@4.0.0-beta.1", "", { "dependencies": { "sharp": "^0.35.3", "srvx": "^0.12.4" }, "peerDependencies": { "unstorage": "*" }, "optionalPeers": ["unstorage"], "bin": { "ipx": "dist/cli.mjs" } }, "sha512-y6bt8CakzpsSO/TiiD8j+1oM+BFJs4rCiJyg8SyBiEaOUIhOu6DFX7lwCpZB/RnUzxVNQFqU4c4IL4MzyRcEQQ=="],
1844
1845 "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="],
1846
1847 "is-absolute-url": ["is-absolute-url@4.0.1", "", {}, "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A=="],
1848
1849 "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="],
1850
1851 "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="],
1852
1853 "is-builtin-module": ["is-builtin-module@5.0.0", "", { "dependencies": { "builtin-modules": "^5.0.0" } }, "sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA=="],
1854
1855 "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="],
1856
1857 "is-core-module": ["is-core-module@2.16.2", "", { "dependencies": { "hasown": "^2.0.3" } }, "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA=="],
1858
1859 "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="],
1860
1861 "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="],
1862
1863 "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
1864
1865 "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
1866
1867 "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
1868
1869 "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="],
1870
1871 "is-identifier": ["is-identifier@1.1.0", "", { "dependencies": { "identifier-regex": "^1.1.0", "super-regex": "^1.1.0" } }, "sha512-NhOds0mDx9lJu+1lBRO0xbwFo5nobA7GCk/0e5xjr6+6XugX985+0OyGX35BNrTkPAsdLcIKg02HUQJOK8D8kw=="],
1872
1873 "is-in-ssh": ["is-in-ssh@1.0.0", "", {}, "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw=="],
1874
1875 "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="],
1876
1877 "is-installed-globally": ["is-installed-globally@1.0.0", "", { "dependencies": { "global-directory": "^4.0.1", "is-path-inside": "^4.0.0" } }, "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ=="],
1878
1879 "is-interactive": ["is-interactive@2.0.0", "", {}, "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ=="],
1880
1881 "is-module": ["is-module@1.0.0", "", {}, "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g=="],
1882
1883 "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
1884
1885 "is-obj": ["is-obj@2.0.0", "", {}, "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="],
1886
1887 "is-path-inside": ["is-path-inside@4.0.0", "", {}, "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA=="],
1888
1889 "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="],
1890
1891 "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="],
1892
1893 "is-reference": ["is-reference@1.2.1", "", { "dependencies": { "@types/estree": "*" } }, "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ=="],
1894
1895 "is-ssh": ["is-ssh@1.4.1", "", { "dependencies": { "protocols": "^2.0.1" } }, "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg=="],
1896
1897 "is-stream": ["is-stream@3.0.0", "", {}, "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="],
1898
1899 "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="],
1900
1901 "is-unicode-supported": ["is-unicode-supported@2.1.0", "", {}, "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="],
1902
1903 "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="],
1904
1905 "isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="],
1906
1907 "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
1908
1909 "isomorphic-git": ["isomorphic-git@1.40.0", "", { "dependencies": { "async-lock": "^1.4.1", "clean-git-ref": "^2.0.1", "crc-32": "^1.2.0", "diff3": "0.0.3", "ignore": "^5.1.4", "minimisted": "^2.0.0", "pako": "^1.0.10", "pify": "^4.0.1", "readable-stream": "^4.0.0", "sha.js": "^2.4.12", "simple-get": "^4.0.1" }, "bin": { "isogit": "cli.cjs" } }, "sha512-/CbnxwZqIm17y3c/z0INbkgEKSvFerXtO/NGgaRxZ8nvL3eoMtbjuAS7f4Pj7lZzj8HaultvDD1ClJTBVDl89g=="],
1910
1911 "isomorphic.js": ["isomorphic.js@0.2.5", "", {}, "sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw=="],
1912
1913 "issue-parser": ["issue-parser@7.0.1", "", { "dependencies": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.uniqby": "^4.7.0" } }, "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg=="],
1914
1915 "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
1916
1917 "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="],
1918
1919 "jose": ["jose@6.2.8", "", {}, "sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ=="],
1920
1921 "joycon": ["joycon@3.1.1", "", {}, "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="],
1922
1923 "js-tokens": ["js-tokens@10.0.0", "", {}, "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q=="],
1924
1925 "js-yaml": ["js-yaml@4.3.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ=="],
1926
1927 "jsdoc-type-pratt-parser": ["jsdoc-type-pratt-parser@7.3.0", "", {}, "sha512-DoyJXo7x/n48M3NsGOs9QnEws0ft0tV3YsSgvWMNxz2hZtz+Q6fpqUD96lVYX4a+jcEkzHeFNDJOn68TzXfbdA=="],
1928
1929 "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="],
1930
1931 "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="],
1932
1933 "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="],
1934
1935 "json-schema-to-typescript-lite": ["json-schema-to-typescript-lite@15.0.0", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "^14.1.1", "@types/json-schema": "^7.0.15" } }, "sha512-5mMORSQm9oTLyjM4mWnyNBi2T042Fhg1/0gCIB6X8U/LVpM2A+Nmj2yEyArqVouDmFThDxpEXcnTgSrjkGJRFA=="],
1936
1937 "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
1938
1939 "json-schema-typed": ["json-schema-typed@8.0.2", "", {}, "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA=="],
1940
1941 "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
1942
1943 "json-with-bigint": ["json-with-bigint@3.5.10", "", {}, "sha512-Vcx+JVNEBts/xfcoCS69sKrOhOk/3TVlvlT+XzUOefVKnnrbYSCKpDCm10pohsJFtsJVYnwa/cXRZ4eElzaM6w=="],
1944
1945 "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
1946
1947 "jsonc-eslint-parser": ["jsonc-eslint-parser@2.4.2", "", { "dependencies": { "acorn": "^8.5.0", "eslint-visitor-keys": "^3.0.0", "espree": "^9.0.0", "semver": "^7.3.5" } }, "sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA=="],
1948
1949 "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],
1950
1951 "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
1952
1953 "klona": ["klona@2.0.6", "", {}, "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="],
1954
1955 "knitwork": ["knitwork@1.3.0", "", {}, "sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw=="],
1956
1957 "launch-editor": ["launch-editor@2.14.1", "", { "dependencies": { "picocolors": "^1.1.1", "shell-quote": "^1.8.4" } }, "sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA=="],
1958
1959 "lazystream": ["lazystream@1.0.1", "", { "dependencies": { "readable-stream": "^2.0.5" } }, "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw=="],
1960
1961 "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
1962
1963 "lib0": ["lib0@0.2.117", "", { "dependencies": { "isomorphic.js": "^0.2.4" }, "bin": { "0serve": "bin/0serve.js", "0gentesthtml": "bin/gentesthtml.js", "0ecdsa-generate-keypair": "bin/0ecdsa-generate-keypair.js" } }, "sha512-DeXj9X5xDCjgKLU/7RR+/HQEVzuuEUiwldwOGsHK/sfAfELGWEyTcf0x+uOvCvK3O2zPmZePXWL85vtia6GyZw=="],
1964
1965 "lighthouse-logger": ["lighthouse-logger@2.0.2", "", { "dependencies": { "debug": "^4.4.1", "marky": "^1.2.2" } }, "sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg=="],
1966
1967 "lightningcss": ["lightningcss@1.33.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.33.0", "lightningcss-darwin-arm64": "1.33.0", "lightningcss-darwin-x64": "1.33.0", "lightningcss-freebsd-x64": "1.33.0", "lightningcss-linux-arm-gnueabihf": "1.33.0", "lightningcss-linux-arm64-gnu": "1.33.0", "lightningcss-linux-arm64-musl": "1.33.0", "lightningcss-linux-x64-gnu": "1.33.0", "lightningcss-linux-x64-musl": "1.33.0", "lightningcss-win32-arm64-msvc": "1.33.0", "lightningcss-win32-x64-msvc": "1.33.0" } }, "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA=="],
1968
1969 "lightningcss-android-arm64": ["lightningcss-android-arm64@1.33.0", "", { "os": "android", "cpu": "arm64" }, "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg=="],
1970
1971 "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.33.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg=="],
1972
1973 "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.33.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ=="],
1974
1975 "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.33.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg=="],
1976
1977 "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.33.0", "", { "os": "linux", "cpu": "arm" }, "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ=="],
1978
1979 "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.33.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg=="],
1980
1981 "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.33.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ=="],
1982
1983 "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.33.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg=="],
1984
1985 "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.33.0", "", { "os": "linux", "cpu": "x64" }, "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw=="],
1986
1987 "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.33.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA=="],
1988
1989 "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.33.0", "", { "os": "win32", "cpu": "x64" }, "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA=="],
1990
1991 "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="],
1992
1993 "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="],
1994
1995 "linkify-it": ["linkify-it@5.0.2", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q=="],
1996
1997 "linkifyjs": ["linkifyjs@4.3.3", "", {}, "sha512-P8aEP5U/D1/IlTY2OeYsErdwh9bGuLE30NcXtKEjgdHcahveQoQwM2yZNsioQHsWFz0P7KKudisbrzCgR0sDHg=="],
1998
1999 "listhen": ["listhen@1.10.1", "", { "dependencies": { "@parcel/watcher-wasm": "^2.5.6", "citty": "^0.2.2", "consola": "^3.4.2", "crossws": "^0.4.10", "defu": "^6.1.7", "get-port-please": "^3.2.0", "h3": "^1.15.11", "http-shutdown": "^1.2.2", "jiti": "^2.7.0", "node-forge": "^1.4.0", "pathe": "^2.0.3", "std-env": "^4.2.0", "tinyclip": "^0.1.15", "ufo": "^1.6.4", "untun": "^0.2.2", "uqr": "^0.1.3" }, "peerDependencies": { "@parcel/watcher": "^2.5.6" }, "optionalPeers": ["@parcel/watcher"], "bin": { "listen": "./bin/listhen.mjs", "listhen": "./bin/listhen.mjs" } }, "sha512-6nt/86SkqUQSLW1ofz8MxC6RhRMqOl3ONISe6qqvJ3xj09aJWQx6DhgSZpugs3PX4PXdOas/WD6A9jx6J2N19A=="],
2000
2001 "load-tsconfig": ["load-tsconfig@0.2.5", "", {}, "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg=="],
2002
2003 "local-pkg": ["local-pkg@1.2.1", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.3.0", "quansync": "^0.2.11" } }, "sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q=="],
2004
2005 "locate-path": ["locate-path@8.0.0", "", { "dependencies": { "p-locate": "^6.0.0" } }, "sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg=="],
2006
2007 "lodash": ["lodash@4.18.1", "", {}, "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q=="],
2008
2009 "lodash-es": ["lodash-es@4.18.1", "", {}, "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A=="],
2010
2011 "lodash.capitalize": ["lodash.capitalize@4.2.1", "", {}, "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw=="],
2012
2013 "lodash.escaperegexp": ["lodash.escaperegexp@4.1.2", "", {}, "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw=="],
2014
2015 "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="],
2016
2017 "lodash.isstring": ["lodash.isstring@4.0.1", "", {}, "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="],
2018
2019 "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="],
2020
2021 "lodash.uniqby": ["lodash.uniqby@4.7.0", "", {}, "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww=="],
2022
2023 "log-symbols": ["log-symbols@7.0.1", "", { "dependencies": { "is-unicode-supported": "^2.0.0", "yoctocolors": "^2.1.1" } }, "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg=="],
2024
2025 "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="],
2026
2027 "lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],
2028
2029 "macos-release": ["macos-release@3.5.1", "", {}, "sha512-Lci/1in+elqZ589PXnfP/iwZXpwQifTM94WJRQwG2tZSdfY7NfB/aUaTARHrohWCgHlXoabeaeXRDOnF5X9JQw=="],
2030
2031 "magic-regexp": ["magic-regexp@0.10.0", "", { "dependencies": { "estree-walker": "^3.0.3", "magic-string": "^0.30.12", "mlly": "^1.7.2", "regexp-tree": "^0.1.27", "type-level-regexp": "~0.1.17", "ufo": "^1.5.4", "unplugin": "^2.0.0" } }, "sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg=="],
2032
2033 "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="],
2034
2035 "magic-string-ast": ["magic-string-ast@1.0.3", "", { "dependencies": { "magic-string": "^0.30.19" } }, "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA=="],
2036
2037 "magicast": ["magicast@0.5.4", "", { "dependencies": { "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7", "source-map-js": "^1.2.1" } }, "sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w=="],
2038
2039 "make-asynchronous": ["make-asynchronous@1.1.0", "", { "dependencies": { "p-event": "^6.0.0", "type-fest": "^4.6.0", "web-worker": "^1.5.0" } }, "sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg=="],
2040
2041 "markdown-exit": ["markdown-exit@1.1.0-beta.2", "", { "dependencies": { "@types/linkify-it": "^5.0.0", "@types/mdurl": "^2.0.0", "entities": "^7.0.0", "linkify-it": "^5.0.1", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" } }, "sha512-8CzMGVlFZ4DEfnc8KU+4ycUW2SIOuiXqCHD7z51ecVEi/weyc0f2ylQbCm4KoKuVlTZSuMUMnWT0hTyquZ7anQ=="],
2042
2043 "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="],
2044
2045 "marked": ["marked@17.0.6", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA=="],
2046
2047 "marky": ["marky@1.3.0", "", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="],
2048
2049 "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
2050
2051 "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="],
2052
2053 "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.3", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q=="],
2054
2055 "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="],
2056
2057 "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="],
2058
2059 "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="],
2060
2061 "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="],
2062
2063 "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="],
2064
2065 "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="],
2066
2067 "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="],
2068
2069 "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="],
2070
2071 "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="],
2072
2073 "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="],
2074
2075 "mdn-data": ["mdn-data@2.29.0", "", {}, "sha512-pVxQFCcaYUEAH853+v7yoI/qzhxXSq1bTb9obMYGYAN1c3Hen+XDCEvr296XhstrwlSTNgOR7mCSD4JPjbJe5A=="],
2076
2077 "mdurl": ["mdurl@2.1.0", "", {}, "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg=="],
2078
2079 "media-typer": ["media-typer@1.1.1", "", {}, "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ=="],
2080
2081 "meow": ["meow@13.2.0", "", {}, "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA=="],
2082
2083 "merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="],
2084
2085 "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="],
2086
2087 "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="],
2088
2089 "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="],
2090
2091 "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="],
2092
2093 "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="],
2094
2095 "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="],
2096
2097 "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="],
2098
2099 "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="],
2100
2101 "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="],
2102
2103 "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="],
2104
2105 "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="],
2106
2107 "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="],
2108
2109 "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="],
2110
2111 "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="],
2112
2113 "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="],
2114
2115 "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="],
2116
2117 "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="],
2118
2119 "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="],
2120
2121 "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="],
2122
2123 "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="],
2124
2125 "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="],
2126
2127 "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="],
2128
2129 "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="],
2130
2131 "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="],
2132
2133 "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="],
2134
2135 "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="],
2136
2137 "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="],
2138
2139 "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="],
2140
2141 "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="],
2142
2143 "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="],
2144
2145 "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
2146
2147 "mime": ["mime@4.1.0", "", { "bin": { "mime": "bin/cli.js" } }, "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw=="],
2148
2149 "mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
2150
2151 "mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="],
2152
2153 "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="],
2154
2155 "mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="],
2156
2157 "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="],
2158
2159 "minimark": ["minimark@0.2.0", "", {}, "sha512-AmtWU9pO0C2/3AM2pikaVhJ//8E5rOpJ7+ioFQfjIq+wCsBeuZoxPd97hBFZ9qrI7DMHZudwGH3r8A7BMnsIew=="],
2160
2161 "minimatch": ["minimatch@10.2.6", "", { "dependencies": { "brace-expansion": "^5.0.8" } }, "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A=="],
2162
2163 "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="],
2164
2165 "minimisted": ["minimisted@2.0.1", "", { "dependencies": { "minimist": "^1.2.5" } }, "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA=="],
2166
2167 "minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="],
2168
2169 "minizlib": ["minizlib@3.1.0", "", { "dependencies": { "minipass": "^7.1.2" } }, "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw=="],
2170
2171 "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="],
2172
2173 "mlly": ["mlly@1.8.2", "", { "dependencies": { "acorn": "^8.16.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "ufo": "^1.6.3" } }, "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA=="],
2174
2175 "mocked-exports": ["mocked-exports@0.1.1", "", {}, "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA=="],
2176
2177 "motion-dom": ["motion-dom@12.43.0", "", { "dependencies": { "motion-utils": "^12.39.0" } }, "sha512-azKON4d9S65PEoFUiQTMTgPheEmzf2QngdRc50AKfJp9Q9mmcBVw22c8eMq9k8kxOFHdL7+WZY7N/5F/lwiDag=="],
2178
2179 "motion-utils": ["motion-utils@12.39.0", "", {}, "sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ=="],
2180
2181 "motion-v": ["motion-v@2.3.0", "", { "dependencies": { "framer-motion": "^12.40.0", "hey-listen": "^1.0.8", "motion-dom": "^12.40.0", "motion-utils": "^12.39.0" }, "peerDependencies": { "@vueuse/core": ">=10.0.0", "vue": ">=3.0.0" } }, "sha512-J0CCfXtICCni9RjotDUBOs57xNpYI9yyBSohEOxaRHrmjwOtlw291fhRu/mdgEdSasys96R028YDDOAtWBbRaA=="],
2182
2183 "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="],
2184
2185 "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
2186
2187 "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="],
2188
2189 "mute-stream": ["mute-stream@3.0.0", "", {}, "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw=="],
2190
2191 "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="],
2192
2193 "nanoid": ["nanoid@3.3.17", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g=="],
2194
2195 "nanotar": ["nanotar@0.3.0", "", {}, "sha512-Kv2JYYiCzt16Kt5QwAc9BFG89xfPNBx+oQL4GQXD9nLqPkZBiNaqaCWtwnbk/q7UVsTYevvM1b0UF8zmEI4pCg=="],
2196
2197 "napi-build-utils": ["napi-build-utils@2.0.0", "", {}, "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA=="],
2198
2199 "napi-postinstall": ["napi-postinstall@0.3.4", "", { "bin": { "napi-postinstall": "lib/cli.js" } }, "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ=="],
2200
2201 "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="],
2202
2203 "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="],
2204
2205 "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="],
2206
2207 "netmask": ["netmask@2.1.1", "", {}, "sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA=="],
2208
2209 "new-github-release-url": ["new-github-release-url@2.0.0", "", { "dependencies": { "type-fest": "^2.5.1" } }, "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ=="],
2210
2211 "nitropack": ["nitropack@2.13.4", "", { "dependencies": { "@cloudflare/kv-asset-handler": "^0.4.2", "@rollup/plugin-alias": "^6.0.0", "@rollup/plugin-commonjs": "^29.0.2", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-replace": "^6.0.3", "@rollup/plugin-terser": "^1.0.0", "@vercel/nft": "^1.5.0", "archiver": "^7.0.1", "c12": "^3.3.4", "chokidar": "^5.0.0", "citty": "^0.2.2", "compatx": "^0.2.0", "confbox": "^0.2.4", "consola": "^3.4.2", "cookie-es": "^2.0.1", "croner": "^10.0.1", "crossws": "^0.3.5", "db0": "^0.3.4", "defu": "^6.1.7", "destr": "^2.0.5", "dot-prop": "^10.1.0", "esbuild": "^0.28.0", "escape-string-regexp": "^5.0.0", "etag": "^1.8.1", "exsolve": "^1.0.8", "globby": "^16.2.0", "gzip-size": "^7.0.0", "h3": "^1.15.11", "hookable": "^5.5.3", "httpxy": "^0.5.1", "ioredis": "^5.10.1", "jiti": "^2.6.1", "klona": "^2.0.6", "knitwork": "^1.3.0", "listhen": "^1.9.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mime": "^4.1.0", "mlly": "^1.8.2", "node-fetch-native": "^1.6.7", "node-mock-http": "^1.0.4", "ofetch": "^1.5.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "pkg-types": "^2.3.1", "pretty-bytes": "^7.1.0", "radix3": "^1.1.2", "rollup": "^4.60.2", "rollup-plugin-visualizer": "^7.0.1", "scule": "^1.3.0", "semver": "^7.7.4", "serve-placeholder": "^2.0.2", "serve-static": "^2.2.1", "source-map": "^0.7.6", "std-env": "^4.1.0", "ufo": "^1.6.4", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", "unctx": "^2.5.0", "unenv": "2.0.0-rc.24", "unimport": "^6.2.0", "unplugin-utils": "^0.3.1", "unstorage": "^1.17.5", "untyped": "^2.0.0", "unwasm": "^0.5.3", "youch": "^4.1.1", "youch-core": "^0.3.3" }, "peerDependencies": { "xml2js": "^0.6.2" }, "optionalPeers": ["xml2js"], "bin": { "nitro": "dist/cli/index.mjs", "nitropack": "dist/cli/index.mjs" } }, "sha512-tX7bT6zxNeMwkc6hxHiZeUoTOjVrcjoh1Z3cmxOlodIqjl4HISgqfGOmkWSayky3Nv9Z5+KQH52F8nmXJY5AAA=="],
2212
2213 "node-abi": ["node-abi@3.94.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g=="],
2214
2215 "node-emoji": ["node-emoji@2.2.0", "", { "dependencies": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", "emojilib": "^2.4.0", "skin-tone": "^2.0.0" } }, "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw=="],
2216
2217 "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="],
2218
2219 "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="],
2220
2221 "node-forge": ["node-forge@1.4.0", "", {}, "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ=="],
2222
2223 "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="],
2224
2225 "node-mock-http": ["node-mock-http@1.0.5", "", {}, "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw=="],
2226
2227 "node-releases": ["node-releases@2.0.53", "", {}, "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ=="],
2228
2229 "nopt": ["nopt@8.1.0", "", { "dependencies": { "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A=="],
2230
2231 "normalize-package-data": ["normalize-package-data@7.0.1", "", { "dependencies": { "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "sha512-linxNAT6M0ebEYZOx2tO6vBEFsVgnPpv+AVjk0wJHfaUIbq31Jm3T6vvZaarnOeWDh8ShnwXuaAyM7WT3RzErA=="],
2232
2233 "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
2234
2235 "nostics": ["nostics@1.2.0", "", {}, "sha512-FGqEfhQjrvo1lL8KFifdTQiNwwQHJxC1jtYE1Rc54qF/jxONUNL+kC9gS1krX8Q65PgrQ5fCqH/I4NhWBvdSqg=="],
2236
2237 "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="],
2238
2239 "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="],
2240
2241 "nuxt": ["nuxt@4.4.8", "", { "dependencies": { "@dxup/nuxt": "^0.4.1", "@nuxt/cli": "^3.35.2", "@nuxt/devtools": "^3.2.4", "@nuxt/kit": "4.4.8", "@nuxt/nitro-server": "4.4.8", "@nuxt/schema": "4.4.8", "@nuxt/telemetry": "^2.8.0", "@nuxt/vite-builder": "4.4.8", "@unhead/vue": "^2.1.15", "@vue/shared": "^3.5.35", "chokidar": "^5.0.0", "compatx": "^0.2.0", "consola": "^3.4.2", "cookie-es": "^3.1.1", "defu": "^6.1.7", "devalue": "^5.8.1", "errx": "^0.1.0", "escape-string-regexp": "^5.0.0", "exsolve": "^1.0.8", "hookable": "^6.1.1", "ignore": "^7.0.5", "impound": "^1.1.5", "jiti": "^2.7.0", "klona": "^2.0.6", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "nanotar": "^0.3.0", "nypm": "^0.6.6", "ofetch": "^1.5.1", "ohash": "^2.0.11", "on-change": "^6.0.2", "oxc-minify": "^0.133.0", "oxc-parser": "^0.133.0", "oxc-transform": "^0.133.0", "oxc-walker": "^1.0.0", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", "picomatch": "^4.0.4", "pkg-types": "^2.3.1", "rou3": "^0.8.1", "scule": "^1.3.0", "semver": "^7.8.1", "std-env": "^4.1.0", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", "unctx": "^2.5.0", "unhead": "^2.1.15", "unimport": "^6.3.0", "unplugin": "^3.0.0", "unrouting": "^0.1.7", "untyped": "^2.0.0", "vue": "^3.5.35", "vue-router": "^5.1.0" }, "peerDependencies": { "@parcel/watcher": "^2.1.0", "@types/node": ">=18.12.0" }, "optionalPeers": ["@parcel/watcher", "@types/node"], "bin": { "nuxi": "bin/nuxt.mjs", "nuxt": "bin/nuxt.mjs" } }, "sha512-r/DGE4cNkEDclOw9tbJ18zqu+ix3me+7QCfumPdl5lBXGWgCajskzuq/HzDkHKfIZsn7ACVEjMLRNA2teh++bQ=="],
2242
2243 "nuxt-component-meta": ["nuxt-component-meta@0.18.0", "", { "dependencies": { "@nuxt/kit": "^4.4.8", "citty": "^0.2.2", "defu": "^6.1.7", "jiti": "^2.7.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "ohash": "^2.0.11", "oxc-parser": "^0.139.0", "oxc-walker": "^1.0.0", "pathe": "^2.0.3", "scule": "^1.3.0", "typescript": "^5.9.3", "ufo": "^1.6.4", "unplugin": "^2.3.11", "vue-component-meta": "^3.3.7" }, "bin": { "nuxt-component-meta": "bin/nuxt-component-meta.mjs" } }, "sha512-Lo++ctinehNtQvU1SdYdIfYvhUqFtP5nOQsMvbrpFYh53TqwoS97BrS/tjWQe68cfXQaerzhKPFY1Xb1EH4mJg=="],
2244
2245 "nuxt-define": ["nuxt-define@1.0.0", "", {}, "sha512-CYZ2WjU+KCyCDVzjYUM4eEpMF0rkPmkpiFrybTqqQCRpUbPt2h3snswWIpFPXTi+osRCY6Og0W/XLAQgDL4FfQ=="],
2246
2247 "nuxt-llms": ["nuxt-llms@0.2.0", "", { "dependencies": { "@nuxt/kit": "^4.2.2" } }, "sha512-GoEW00x8zaZ1wS0R0aOYptt3b54JEaRwlyVtuAiQoH51BwYdjN5/3+00/+4wi39M5cT4j5XcnGwOxJ7v4WVb9A=="],
2248
2249 "nuxt-og-image": ["nuxt-og-image@6.7.6", "", { "dependencies": { "@clack/prompts": "^1.7.0", "@nuxt/kit": "^4.5.1", "@vue/compiler-sfc": "^3.5.40", "chrome-launcher": "^1.2.1", "consola": "^3.4.2", "defu": "^6.1.7", "devalue": "^5.9.0", "exsolve": "^1.1.1", "fnv1a-64": "^0.1.2", "lightningcss": "^1.33.0", "magic-string": "^1.1.0", "magicast": "^0.5.4", "mocked-exports": "^0.1.1", "nuxt-site-config": "^4.1.4", "nuxtseo-shared": "^5.3.8", "nypm": "^0.6.9", "object-identity": "^0.2.3", "ofetch": "^1.5.1", "ohash": "^2.0.11", "oxc-parser": "^0.142.0", "oxc-walker": "^1.1.1", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "radix3": "^1.1.2", "std-env": "^4.2.0", "strip-literal": "^4.0.0", "tinyexec": "^1.3.0", "ufo": "^1.6.4", "ultrahtml": "^1.7.0", "unplugin": "^3.3.0" }, "peerDependencies": { "@resvg/resvg-js": "^2.6.0", "@resvg/resvg-wasm": "^2.6.0", "@takumi-rs/core": "^1.0.0-beta.3 || ^2.0.0", "@takumi-rs/wasm": "^1.0.0-beta.3 || ^2.0.0", "@unhead/vue": "^2.0.5 || ^3.0.0", "@unocss/config": "^66.7.5", "@unocss/core": "^66.7.5", "fontless": "^0.2.0", "nitropack": "^2.13.4", "playwright-core": "^1.50.0", "satori": ">=0.19.2", "sharp": "^0.34.0", "tailwindcss": "^4.0.0", "unifont": "^0.7.0", "unstorage": "^1.15.0", "zod": ">=3" }, "optionalPeers": ["@resvg/resvg-js", "@resvg/resvg-wasm", "@takumi-rs/core", "@takumi-rs/wasm", "@unocss/config", "@unocss/core", "fontless", "nitropack", "playwright-core", "satori", "sharp", "tailwindcss", "unifont", "zod"], "bin": { "nuxt-og-image": "./bin/cli.mjs" } }, "sha512-XjqbFnfgQzZQB0rKWxOHhaFJk9RUJrLRK70WuHXVRv556Y9D44LVFb9oFMrgIHy88gB7icySaoAA3rKlYbEJCQ=="],
2250
2251 "nuxt-site-config": ["nuxt-site-config@4.2.0", "", { "dependencies": { "@nuxt/devalue": "^2.0.2", "@nuxt/kit": "^4.5.1", "consola": "^3.4.2", "defu": "^6.1.7", "h3": "^1.15.11", "nuxt-site-config-kit": "4.2.0", "nuxtseo-shared": "^5.3.10", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "site-config-stack": "4.2.0", "ufo": "^1.6.4" }, "peerDependencies": { "vue": "^3.5.30" } }, "sha512-Vyb8/ylP1KYuH/IlMTaY0PQgQfqEQZYAi8AQXq0ymTTboexMlLIrF1s17BFIx8jbtI5rrKWCa5xPbHGNtJ34FQ=="],
2252
2253 "nuxt-site-config-kit": ["nuxt-site-config-kit@4.2.0", "", { "dependencies": { "@nuxt/kit": "^4.5.1", "site-config-stack": "4.2.0", "std-env": "^4.2.0", "ufo": "^1.6.4" } }, "sha512-5vcDTXMwvFquFf8jesB2CuZOEZtOx7ZrP9RqqF9ZvZgMyCWVYLDSDdbE+/onTXb42AjfaYTb+gwHF3sZ2ZLuGw=="],
2254
2255 "nuxt-studio": ["nuxt-studio@1.7.0", "", { "dependencies": { "@ai-sdk/gateway": "^3.0.104", "@ai-sdk/vue": "^3.0.168", "@iconify-json/lucide": "^1.2.102", "@nuxtjs/mdc": "^0.21.1", "@vueuse/core": "^14.2.1", "ai": "^6.0.168", "defu": "^6.1.7", "destr": "^2.0.5", "js-yaml": "^4.1.1", "minimatch": "^10.2.5", "nuxt-component-meta": "^0.17.2", "remark-mdc": "^3.10.0", "shiki": "^4.0.2", "unstorage": "1.17.5", "zod": "^4.3.6", "zod-to-json-schema": "^3.25.2" }, "optionalDependencies": { "ipx": "^3.1.1" } }, "sha512-gIRCLPHaj5EcLOX/D1e1ymdJL7dwkxVI5Jrylrv5vIhPWYjC+vggcp71xO4bsC1i9Y1jfbNRbtidVr5wdT0ckg=="],
2256
2257 "nuxtseo-shared": ["nuxtseo-shared@5.3.10", "", { "dependencies": { "@clack/prompts": "^1.7.0", "@nuxt/devtools-kit": "4.0.0-alpha.7", "@nuxt/kit": "^4.5.1", "birpc": "^4.0.0", "consola": "^3.4.2", "defu": "^6.1.7", "nypm": "^0.6.9", "ofetch": "^1.5.1", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "radix3": "^1.1.2", "sirv": "^3.0.2", "std-env": "^4.2.0", "ufo": "^1.6.4" }, "peerDependencies": { "@nuxt/schema": "^3.16.0 || ^4.0.0 || ^5.0.0", "nuxt": "^3.16.0 || ^4.0.0 || ^5.0.0", "nuxt-site-config": "^3.2.0 || ^4.0.0", "vue": "^3.5.0", "zod": "^3.23.0 || ^4.0.0" }, "optionalPeers": ["nuxt-site-config", "zod"] }, "sha512-6TduAGz7Kx2ytOpHU6DMXr5voAolq4104D7KZ9EK6I5ABCV+PDrIxB1xeu8OLLYpD/Yf+REFvM+HIIVCqSRCoQ=="],
2258
2259 "nypm": ["nypm@0.6.9", "", { "dependencies": { "citty": "^0.2.2", "pathe": "^2.0.3", "tinyexec": "^1.2.4" }, "bin": { "nypm": "./dist/cli.mjs" } }, "sha512-zxlE2yvSWZWmHcNdT3+5zV2lrCogeE9YOklHrR3dFjqutq5wO7GFDYLFDRXLsYnJzwvy/im9fYoxePvS0VTW0w=="],
2260
2261 "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
2262
2263 "object-deep-merge": ["object-deep-merge@2.0.1", "", {}, "sha512-aKttDKcU3pyZqKcCkDhsMn70WmZFG2JGDQLP9EcLyTSIFQRCPWLAmBZRLJnrVUrhPG1jETEEbfdgbNtJf1LyMg=="],
2264
2265 "object-identity": ["object-identity@0.2.3", "", {}, "sha512-2J8Joz2Tf7aaylhqFvIUJHNgpuGR38Hh75Voq9GzTbStBxJUaOtN0K1aOd3cV5qp+ij1pMqRbPrGCGMOyX303w=="],
2266
2267 "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="],
2268
2269 "obug": ["obug@2.1.4", "", {}, "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA=="],
2270
2271 "ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="],
2272
2273 "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="],
2274
2275 "on-change": ["on-change@6.0.2", "", {}, "sha512-08+12qcOVEA0fS9g/VxKS27HaT94nRutUT77J2dr8zv/unzXopvhBuF8tNLWsoLQ5IgrQ6eptGeGqUYat82U1w=="],
2276
2277 "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="],
2278
2279 "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
2280
2281 "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="],
2282
2283 "oniguruma-parser": ["oniguruma-parser@0.12.2", "", {}, "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw=="],
2284
2285 "oniguruma-to-es": ["oniguruma-to-es@4.3.6", "", { "dependencies": { "oniguruma-parser": "^0.12.2", "regex": "^6.1.0", "regex-recursion": "^6.0.2" } }, "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA=="],
2286
2287 "open": ["open@11.0.0", "", { "dependencies": { "default-browser": "^5.4.0", "define-lazy-prop": "^3.0.0", "is-in-ssh": "^1.0.0", "is-inside-container": "^1.0.0", "powershell-utils": "^0.1.0", "wsl-utils": "^0.3.0" } }, "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw=="],
2288
2289 "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="],
2290
2291 "ora": ["ora@9.3.0", "", { "dependencies": { "chalk": "^5.6.2", "cli-cursor": "^5.0.0", "cli-spinners": "^3.2.0", "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", "stdin-discarder": "^0.3.1", "string-width": "^8.1.0" } }, "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw=="],
2292
2293 "orderedmap": ["orderedmap@2.1.1", "", {}, "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g=="],
2294
2295 "os-name": ["os-name@7.0.0", "", { "dependencies": { "macos-release": "^3.4.0", "windows-release": "^7.1.0" } }, "sha512-/HfRU/lPPr4T2VigM+cvM3cU77es+XF4OEAa4aE5zpdvrxHGD2NmH0AFIWpMNAb+CsZL45rlcIO49Re0ZcRseg=="],
2296
2297 "oxc-minify": ["oxc-minify@0.133.0", "", { "optionalDependencies": { "@oxc-minify/binding-android-arm-eabi": "0.133.0", "@oxc-minify/binding-android-arm64": "0.133.0", "@oxc-minify/binding-darwin-arm64": "0.133.0", "@oxc-minify/binding-darwin-x64": "0.133.0", "@oxc-minify/binding-freebsd-x64": "0.133.0", "@oxc-minify/binding-linux-arm-gnueabihf": "0.133.0", "@oxc-minify/binding-linux-arm-musleabihf": "0.133.0", "@oxc-minify/binding-linux-arm64-gnu": "0.133.0", "@oxc-minify/binding-linux-arm64-musl": "0.133.0", "@oxc-minify/binding-linux-ppc64-gnu": "0.133.0", "@oxc-minify/binding-linux-riscv64-gnu": "0.133.0", "@oxc-minify/binding-linux-riscv64-musl": "0.133.0", "@oxc-minify/binding-linux-s390x-gnu": "0.133.0", "@oxc-minify/binding-linux-x64-gnu": "0.133.0", "@oxc-minify/binding-linux-x64-musl": "0.133.0", "@oxc-minify/binding-openharmony-arm64": "0.133.0", "@oxc-minify/binding-wasm32-wasi": "0.133.0", "@oxc-minify/binding-win32-arm64-msvc": "0.133.0", "@oxc-minify/binding-win32-ia32-msvc": "0.133.0", "@oxc-minify/binding-win32-x64-msvc": "0.133.0" } }, "sha512-6bNsYU+5WNIaNHB16zHnL24cUaJuKiPzUvjENoMale3+U8ZBMbGYgdgt//frx0ge7UcgEGIpqtukGGNPT0kxfQ=="],
2298
2299 "oxc-parser": ["oxc-parser@0.133.0", "", { "dependencies": { "@oxc-project/types": "^0.133.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.133.0", "@oxc-parser/binding-android-arm64": "0.133.0", "@oxc-parser/binding-darwin-arm64": "0.133.0", "@oxc-parser/binding-darwin-x64": "0.133.0", "@oxc-parser/binding-freebsd-x64": "0.133.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.133.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.133.0", "@oxc-parser/binding-linux-arm64-gnu": "0.133.0", "@oxc-parser/binding-linux-arm64-musl": "0.133.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.133.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.133.0", "@oxc-parser/binding-linux-riscv64-musl": "0.133.0", "@oxc-parser/binding-linux-s390x-gnu": "0.133.0", "@oxc-parser/binding-linux-x64-gnu": "0.133.0", "@oxc-parser/binding-linux-x64-musl": "0.133.0", "@oxc-parser/binding-openharmony-arm64": "0.133.0", "@oxc-parser/binding-wasm32-wasi": "0.133.0", "@oxc-parser/binding-win32-arm64-msvc": "0.133.0", "@oxc-parser/binding-win32-ia32-msvc": "0.133.0", "@oxc-parser/binding-win32-x64-msvc": "0.133.0" } }, "sha512-661RSx+ZcjBmjBYid+Fpp/2F5EbtildpeoZh5HdgnGs+jZ03nqQEQW8yGkt4BGyOC3OMPDQQRl8M5kqD2/g6jw=="],
2300
2301 "oxc-transform": ["oxc-transform@0.133.0", "", { "optionalDependencies": { "@oxc-transform/binding-android-arm-eabi": "0.133.0", "@oxc-transform/binding-android-arm64": "0.133.0", "@oxc-transform/binding-darwin-arm64": "0.133.0", "@oxc-transform/binding-darwin-x64": "0.133.0", "@oxc-transform/binding-freebsd-x64": "0.133.0", "@oxc-transform/binding-linux-arm-gnueabihf": "0.133.0", "@oxc-transform/binding-linux-arm-musleabihf": "0.133.0", "@oxc-transform/binding-linux-arm64-gnu": "0.133.0", "@oxc-transform/binding-linux-arm64-musl": "0.133.0", "@oxc-transform/binding-linux-ppc64-gnu": "0.133.0", "@oxc-transform/binding-linux-riscv64-gnu": "0.133.0", "@oxc-transform/binding-linux-riscv64-musl": "0.133.0", "@oxc-transform/binding-linux-s390x-gnu": "0.133.0", "@oxc-transform/binding-linux-x64-gnu": "0.133.0", "@oxc-transform/binding-linux-x64-musl": "0.133.0", "@oxc-transform/binding-openharmony-arm64": "0.133.0", "@oxc-transform/binding-wasm32-wasi": "0.133.0", "@oxc-transform/binding-win32-arm64-msvc": "0.133.0", "@oxc-transform/binding-win32-ia32-msvc": "0.133.0", "@oxc-transform/binding-win32-x64-msvc": "0.133.0" } }, "sha512-9lt2b+hkG6yqe0fUDMHhMk7rgI9uTjNxU9wauQiYnHzc4kZI8JP/OhBqXTIJQTrqRJ8CkSH3O5AhQ13ke28yNg=="],
2302
2303 "oxc-walker": ["oxc-walker@1.1.1", "", { "peerDependencies": { "@oxc-project/types": ">=0.98.0", "oxc-parser": ">=0.98.0", "rolldown": ">=1.0.0" }, "optionalPeers": ["@oxc-project/types", "oxc-parser", "rolldown"] }, "sha512-Hwd7dq28zu/Er99+bpWp16CGwFrhyalJh0W3JOB7XpPvgWo3MqMi2ksWGKuzzA9zt50mJ2pIUwR5lpAdZ9ACNQ=="],
2304
2305 "p-event": ["p-event@6.0.1", "", { "dependencies": { "p-timeout": "^6.1.2" } }, "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w=="],
2306
2307 "p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="],
2308
2309 "p-locate": ["p-locate@6.0.0", "", { "dependencies": { "p-limit": "^4.0.0" } }, "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw=="],
2310
2311 "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="],
2312
2313 "pac-proxy-agent": ["pac-proxy-agent@8.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4", "get-uri": "7.0.0", "http-proxy-agent": "8.0.0", "https-proxy-agent": "8.0.0", "pac-resolver": "8.0.0", "quickjs-wasi": "^0.0.1", "socks-proxy-agent": "9.0.0" } }, "sha512-HyCoVbyQ/nbVlQ/R6wBu0YXhbG2oAnEK5BQ3xMyj1OffQmU5NoOnpLzgPlKHaobUzz5NK0+AZHby4TdydAEBUA=="],
2314
2315 "pac-resolver": ["pac-resolver@8.0.0", "", { "dependencies": { "degenerator": "6.0.0", "netmask": "^2.0.2" }, "peerDependencies": { "quickjs-wasi": "^0.0.1" } }, "sha512-SVNzOxVq2zuTew3WAt7U8UghwzJzuWYuJryd3y8FxyLTZdjVoCzY8kLP39PpEqQCDvlMWdQXwViu0sYT3eiU2w=="],
2316
2317 "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
2318
2319 "package-manager-detector": ["package-manager-detector@1.8.0", "", {}, "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A=="],
2320
2321 "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="],
2322
2323 "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="],
2324
2325 "parse-imports-exports": ["parse-imports-exports@0.2.4", "", { "dependencies": { "parse-statements": "1.0.11" } }, "sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ=="],
2326
2327 "parse-path": ["parse-path@7.1.0", "", { "dependencies": { "protocols": "^2.0.0" } }, "sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw=="],
2328
2329 "parse-statements": ["parse-statements@1.0.11", "", {}, "sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA=="],
2330
2331 "parse-url": ["parse-url@9.2.0", "", { "dependencies": { "@types/parse-path": "^7.0.0", "parse-path": "^7.0.0" } }, "sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ=="],
2332
2333 "parse5": ["parse5@8.0.1", "", { "dependencies": { "entities": "^8.0.0" } }, "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw=="],
2334
2335 "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@7.1.0", "", { "dependencies": { "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g=="],
2336
2337 "parse5-parser-stream": ["parse5-parser-stream@7.1.2", "", { "dependencies": { "parse5": "^7.0.0" } }, "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow=="],
2338
2339 "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="],
2340
2341 "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="],
2342
2343 "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="],
2344
2345 "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
2346
2347 "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
2348
2349 "path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="],
2350
2351 "path-to-regexp": ["path-to-regexp@8.4.2", "", {}, "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA=="],
2352
2353 "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
2354
2355 "perfect-debounce": ["perfect-debounce@2.1.0", "", {}, "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g=="],
2356
2357 "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
2358
2359 "picomatch": ["picomatch@4.0.5", "", {}, "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A=="],
2360
2361 "pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="],
2362
2363 "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="],
2364
2365 "pkce-challenge": ["pkce-challenge@5.0.1", "", {}, "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ=="],
2366
2367 "pkg-types": ["pkg-types@2.3.1", "", { "dependencies": { "confbox": "^0.2.4", "exsolve": "^1.0.8", "pathe": "^2.0.3" } }, "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg=="],
2368
2369 "playground": ["playground@workspace:playground"],
2370
2371 "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="],
2372
2373 "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="],
2374
2375 "postcss": ["postcss@8.5.26", "", { "dependencies": { "nanoid": "^3.3.17", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ=="],
2376
2377 "postcss-calc": ["postcss-calc@10.1.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.38" } }, "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw=="],
2378
2379 "postcss-colormin": ["postcss-colormin@8.0.2", "", { "dependencies": { "@colordx/core": "^5.5.0", "browserslist": "^4.28.7", "caniuse-api": "^4.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-3puH3etbn8GPaJuF8OybCdUW6PJO0KU9ZnsaA/1VG9HU0Wdrf94dOTQkbQnA8/qkYdPjwHzcWvzUGXIeawBa0w=="],
2380
2381 "postcss-convert-values": ["postcss-convert-values@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-KA6VVp93xASmDI0HWgRQ7938XR20hZEVL525YCbcTVsuxn4BNxs+ge4wLNow+ay+uqPuy3uEh51zhjfI92uN4w=="],
2382
2383 "postcss-discard-comments": ["postcss-discard-comments@8.0.2", "", { "dependencies": { "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-tQk36szZkG9ngZM9bKrUp3hM2SxdclYJVnMtAMKyi0RqY7IQpx67TJ3+0thRMV47niKBw9Y/1auGkBeCfPC97A=="],
2384
2385 "postcss-discard-duplicates": ["postcss-discard-duplicates@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-Y2IDdRqvnpzsOH5ZLcJnvh/Eiye8O3r6uO7oFTe3YuFfrat3xQRDPjTVohRmi8RWuOIq2rGjva1n4Adus4pljw=="],
2386
2387 "postcss-discard-empty": ["postcss-discard-empty@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-fGHTnqg2S4fBudyd+tCE+qT57R4YRUaYLannCrKYsE8u/rCMGCBMPwIM4jcNWJLP5vMEBitGrXa5mGB7VKA+Eg=="],
2388
2389 "postcss-discard-overridden": ["postcss-discard-overridden@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-a9Dvv5ccOI7P94oCaeytj4FCSsHiXyH8KwXQorU/GJWDRvwFMY9yUs4uPKSG2HBSGtR49xo3ieml6F1EQCJtZA=="],
2390
2391 "postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="],
2392
2393 "postcss-merge-longhand": ["postcss-merge-longhand@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^8.0.2" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-iN1JQ21vKd3ZdbHmj69lqOwaWiFvxlXVQ5EeH/sw5M3TqI1sFR28G4yleAcNkMwB55E6qGRRVR3lem+ZJazmoQ=="],
2394
2395 "postcss-merge-rules": ["postcss-merge-rules@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "caniuse-api": "^4.0.0", "cssnano-utils": "^6.0.2", "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ipELN1m3k/GLGD+wmYHtiEVE2TMW5OKm4CgSRqYDeDz1ZX89AbeUCoeos0dUdTcpMilSa+zIRwvD78U3Uv/1BA=="],
2396
2397 "postcss-minify-font-values": ["postcss-minify-font-values@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-T6oURfdYH/BtXLLN/biomuY1hSYSGbfRyLyxQ+7+VCRw7Zj1ROpRwHpaX2PP/rpmT/0yHaGIVUNShmanvm3PXw=="],
2398
2399 "postcss-minify-gradients": ["postcss-minify-gradients@8.0.2", "", { "dependencies": { "@colordx/core": "^5.5.0", "cssnano-utils": "^6.0.2", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-s49jAcFm5eF7GLLU0+28e4mQc/vISBMtu+1gQbq/Uf7+w155G8nbItaQp5NYY7QsYerpj2qvtNkYN25gZWWYdw=="],
2400
2401 "postcss-minify-params": ["postcss-minify-params@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "cssnano-utils": "^6.0.2", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ifaU795JsBddkffWbTOXl8ubUyBqpNiLS8xjqKmE/Sw9AOpjWG2uFPfpEv3AZPXWNkWJf8kGvW9wLHImEUJUkA=="],
2402
2403 "postcss-minify-selectors": ["postcss-minify-selectors@8.0.3", "", { "dependencies": { "browserslist": "^4.28.7", "caniuse-api": "^4.0.0", "cssesc": "^3.0.0", "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-3WchKL9xoA80/jNkRcimRGIc9mP6sHPQUY/1WzV+GbF69I/upieyaKzZcIdQzf9cBmCJ6vjxi+NrKqCojoOb7Q=="],
2404
2405 "postcss-normalize-charset": ["postcss-normalize-charset@8.0.2", "", { "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-iy3/b+gX+dHfbNZq/4rfThbMAqxhneBJEhS71y5toliav5rLowkZ6g0ZJGymXRZytDOt/u+fRSFkNJLkRPYaug=="],
2406
2407 "postcss-normalize-display-values": ["postcss-normalize-display-values@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-T6Az9mgc7FUWvI6mK0uOsItT6csep7fdLtDSRC2XBMTCvrQmtYiz86T5hEM6sfAkZVVhfrALPhdPxJWVoNAktw=="],
2408
2409 "postcss-normalize-positions": ["postcss-normalize-positions@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-BBg188AxYLC86LDEnkbQTcdnZugP2vDwYQQDV+Htju2gpTqM2a3o/oQ91/h9+j0277InjNgrI7l1LDDRrlWQ5w=="],
2410
2411 "postcss-normalize-repeat-style": ["postcss-normalize-repeat-style@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-6mbVJzuogwcAHMd6MMpmAMcc3BkleOcY2xazCp+HCMiod78tx7rdOrufTrPYGjBLaTjkgNUr8KCkLHj8mfH6WQ=="],
2412
2413 "postcss-normalize-string": ["postcss-normalize-string@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-8UK2KJSChlv7V12QgWTWtbRzzZcki/f21e8egMlFHTE9rEBCCyLo60rcY3mh77cDZhrBSIfKM9ciOsU6249nbA=="],
2414
2415 "postcss-normalize-timing-functions": ["postcss-normalize-timing-functions@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-C2OyYiEMKjCxA0m+QJ5SeMf12OenIIGqrXEuWizEunZZP+s5TRq1aT8naxqr/8rytSRqD4SwH4mywc9G44u4cw=="],
2416
2417 "postcss-normalize-unicode": ["postcss-normalize-unicode@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ttWq9oM88gSPpfspoZB49r/lv1fvjOadi79E/4BxGVt0rughnNDdTnDLmWj+epOjS6iKhmse3kbNcISR6Jl+3A=="],
2418
2419 "postcss-normalize-url": ["postcss-normalize-url@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-PvSiaJOQpP0AW5GSHrWZXupfhUgLUtS1MubJX+wPwh6RZZP6CHnZQy/S8uX2vvHMd57qIZ44Sb/37rFMiAWPfA=="],
2420
2421 "postcss-normalize-whitespace": ["postcss-normalize-whitespace@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-Fipz8bjy96XPmtMPsqbGw3fypbS+aOHJfpTzfQY9z0lDYFqqGIqYWwrfsi2ZOv7B86pY81vQGJ6mSHWvTXDV7g=="],
2422
2423 "postcss-ordered-values": ["postcss-ordered-values@8.0.2", "", { "dependencies": { "cssnano-utils": "^6.0.2", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-LBqMGd6Bam4TVp9dKui01o0prWtsGfPP+WtENunNs3L9oi+t75uPyEmzzaimxinmGgeiFLix9xLI0FfD+qedjw=="],
2424
2425 "postcss-reduce-initial": ["postcss-reduce-initial@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "caniuse-api": "^4.0.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-+612lhSpyp1g4ZU0zQKwmdHnAi8LevMpzvQuP2RVhq+EUWqAwwUMk03OQEfzy+es9OSdRTuy5ugnFeEeOiIe2A=="],
2426
2427 "postcss-reduce-transforms": ["postcss-reduce-transforms@8.0.2", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-7D2vDXJ2HBNQpbiw5dY9UyLfBRCGRBjV0ChMqHdHghFsjAH3hIIUgb/rE+e77LFiT8VjXUK2fZh3omG4R96n8A=="],
2428
2429 "postcss-selector-parser": ["postcss-selector-parser@7.1.4", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg=="],
2430
2431 "postcss-svgo": ["postcss-svgo@8.0.3", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^4.0.2" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-ADG8YNtwE5bcqvxw1gU0X7FkgdvinZZxWKHSCMwayX7gPl4XRmBMyiC84Ukal5bPS9Nk/2tI7siJwqxIN4/grg=="],
2432
2433 "postcss-unique-selectors": ["postcss-unique-selectors@8.0.2", "", { "dependencies": { "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-cIftRB4rW3UCqnQjFAS6WlUzragjsU2AtMzWDdDQKTMjgPh1rO8qYgnoYqkUgRXKnxd3902laOWbkkYO/GYEHw=="],
2434
2435 "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="],
2436
2437 "powershell-utils": ["powershell-utils@0.1.0", "", {}, "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A=="],
2438
2439 "prebuild-install": ["prebuild-install@7.1.3", "", { "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" } }, "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug=="],
2440
2441 "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="],
2442
2443 "pretty-bytes": ["pretty-bytes@7.1.1", "", {}, "sha512-X+vn9z8nOFZQlxOLmfJ0iKDdMD7jYTsTW12OAlCpdoE3Igik6L37pugIZi+N3usuyp5McfgKPWi12q3zvHLeGQ=="],
2444
2445 "process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="],
2446
2447 "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="],
2448
2449 "proper-lockfile": ["proper-lockfile@4.1.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", "signal-exit": "^3.0.2" } }, "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA=="],
2450
2451 "property-information": ["property-information@7.2.0", "", {}, "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg=="],
2452
2453 "prosemirror-changeset": ["prosemirror-changeset@2.4.1", "", { "dependencies": { "prosemirror-transform": "^1.0.0" } }, "sha512-96WBLhOaYhJ+kPhLg3uW359Tz6I/MfcrQfL4EGv4SrcqKEMC1gmoGrXHecPE8eOwTVCJ4IwgfzM8fFad25wNfw=="],
2454
2455 "prosemirror-commands": ["prosemirror-commands@1.7.2", "", { "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.10.2" } }, "sha512-q6Q6szxqdu9Xd6EcdKsqXghu5nQdZTpB4Q9yd04WRc7/jt763e/rT60Owh0L1GYY+T46o5rD+9lEN36dZS43tw=="],
2456
2457 "prosemirror-dropcursor": ["prosemirror-dropcursor@1.8.3", "", { "dependencies": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.1.0", "prosemirror-view": "^1.1.0" } }, "sha512-FoYbsJR8gK+DGlqhNoE29Loa38eIZPzQRIb1VMaDNBoo4OLP6vVof/jR8qFY/6XvUd6Dhug8MDCHl2a/h8RTfQ=="],
2458
2459 "prosemirror-gapcursor": ["prosemirror-gapcursor@1.4.1", "", { "dependencies": { "prosemirror-keymap": "^1.0.0", "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", "prosemirror-view": "^1.0.0" } }, "sha512-pMdYaEnjNMSwl11yjEGtgTmLkR08m/Vl+Jj443167p9eB3HVQKhYCc4gmHVDsLPODfZfjr/MmirsdyZziXbQKw=="],
2460
2461 "prosemirror-history": ["prosemirror-history@1.5.0", "", { "dependencies": { "prosemirror-state": "^1.2.2", "prosemirror-transform": "^1.0.0", "prosemirror-view": "^1.31.0", "rope-sequence": "^1.3.0" } }, "sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg=="],
2462
2463 "prosemirror-inputrules": ["prosemirror-inputrules@1.5.1", "", { "dependencies": { "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.0.0" } }, "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw=="],
2464
2465 "prosemirror-keymap": ["prosemirror-keymap@1.2.3", "", { "dependencies": { "prosemirror-state": "^1.0.0", "w3c-keyname": "^2.2.0" } }, "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw=="],
2466
2467 "prosemirror-model": ["prosemirror-model@1.25.11", "", { "dependencies": { "orderedmap": "^2.0.0" } }, "sha512-QWg9RhnpLlogAmp3p96uEFrE5txQpFynd4vhBAELkwgOCWQs/X0yCzB3/hrHqiPwf91RG5KyWq6553zs9JqIOQ=="],
2468
2469 "prosemirror-schema-list": ["prosemirror-schema-list@1.5.1", "", { "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.7.3" } }, "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q=="],
2470
2471 "prosemirror-state": ["prosemirror-state@1.4.4", "", { "dependencies": { "prosemirror-model": "^1.0.0", "prosemirror-transform": "^1.0.0", "prosemirror-view": "^1.27.0" } }, "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw=="],
2472
2473 "prosemirror-tables": ["prosemirror-tables@1.8.5", "", { "dependencies": { "prosemirror-keymap": "^1.2.3", "prosemirror-model": "^1.25.4", "prosemirror-state": "^1.4.4", "prosemirror-transform": "^1.10.5", "prosemirror-view": "^1.41.4" } }, "sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw=="],
2474
2475 "prosemirror-transform": ["prosemirror-transform@1.12.0", "", { "dependencies": { "prosemirror-model": "^1.21.0" } }, "sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w=="],
2476
2477 "prosemirror-view": ["prosemirror-view@1.42.2", "", { "dependencies": { "prosemirror-model": "^1.25.8", "prosemirror-state": "^1.0.0", "prosemirror-transform": "^1.1.0" } }, "sha512-Pdg0l5kXm8aLDquFAnQFTCITg0q44sLqBlHlpsVLD9segdOao8TOfQdAhCrCXyVgPSRr6UDDROOIWA3bIrN9YQ=="],
2478
2479 "protocols": ["protocols@2.0.2", "", {}, "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ=="],
2480
2481 "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="],
2482
2483 "proxy-agent": ["proxy-agent@7.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4", "http-proxy-agent": "8.0.0", "https-proxy-agent": "8.0.0", "lru-cache": "^7.14.1", "pac-proxy-agent": "8.0.0", "proxy-from-env": "^1.1.0", "socks-proxy-agent": "9.0.0" } }, "sha512-okTgt79rHTvMHkr/Ney5rZpgCHh3g1g3tI5uhkgN5b7OeI3n0Q/ui1uv9OdrnZNJM9WIZJqZPh/UJs+YtO/TMQ=="],
2484
2485 "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],
2486
2487 "pump": ["pump@3.0.4", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="],
2488
2489 "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
2490
2491 "punycode.js": ["punycode.js@2.3.1", "", {}, "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA=="],
2492
2493 "qs": ["qs@6.15.3", "", { "dependencies": { "es-define-property": "^1.0.1", "side-channel": "^1.1.1" } }, "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A=="],
2494
2495 "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="],
2496
2497 "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="],
2498
2499 "quickjs-wasi": ["quickjs-wasi@0.0.1", "", {}, "sha512-fBWNLTBkxkLAhe1AzF1hyXEvuA+N+vV1WMP2D6iiMUblvmOt8Pp5t8zUcgvz7aYA1ldUdxDlgUse15dmcKjkNg=="],
2500
2501 "quote-js-string": ["quote-js-string@0.1.0", "", {}, "sha512-Y3NoRtprEEZQD8RfxMCfS0ZTqc4e+i18OrXEXAvpM6TfC/3y+0L5rNbZiSnbBBEkDfFzbpd8o+cE8q3/anjMGA=="],
2502
2503 "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="],
2504
2505 "range-parser": ["range-parser@1.3.0", "", {}, "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw=="],
2506
2507 "raw-body": ["raw-body@3.0.2", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" } }, "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA=="],
2508
2509 "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="],
2510
2511 "rc9": ["rc9@3.0.1", "", { "dependencies": { "defu": "^6.1.6", "destr": "^2.0.5" } }, "sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ=="],
2512
2513 "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
2514
2515 "readdir-glob": ["readdir-glob@1.1.3", "", { "dependencies": { "minimatch": "^5.1.0" } }, "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA=="],
2516
2517 "readdirp": ["readdirp@5.1.1", "", {}, "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA=="],
2518
2519 "redis-errors": ["redis-errors@1.2.0", "", {}, "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w=="],
2520
2521 "redis-parser": ["redis-parser@3.0.0", "", { "dependencies": { "redis-errors": "^1.0.0" } }, "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A=="],
2522
2523 "refa": ["refa@0.12.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.8.0" } }, "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g=="],
2524
2525 "regex": ["regex@6.1.0", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg=="],
2526
2527 "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="],
2528
2529 "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="],
2530
2531 "regexp-ast-analysis": ["regexp-ast-analysis@0.7.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.8.0", "refa": "^0.12.1" } }, "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A=="],
2532
2533 "regexp-tree": ["regexp-tree@0.1.27", "", { "bin": { "regexp-tree": "bin/regexp-tree" } }, "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA=="],
2534
2535 "regjsparser": ["regjsparser@0.13.2", "", { "dependencies": { "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, "sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ=="],
2536
2537 "rehype-external-links": ["rehype-external-links@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-is-element": "^3.0.0", "is-absolute-url": "^4.0.0", "space-separated-tokens": "^2.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw=="],
2538
2539 "rehype-minify-whitespace": ["rehype-minify-whitespace@6.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-minify-whitespace": "^1.0.0" } }, "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw=="],
2540
2541 "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="],
2542
2543 "rehype-remark": ["rehype-remark@10.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "hast-util-to-mdast": "^10.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ=="],
2544
2545 "rehype-slug": ["rehype-slug@6.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "github-slugger": "^2.0.0", "hast-util-heading-rank": "^3.0.0", "hast-util-to-string": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A=="],
2546
2547 "rehype-sort-attribute-values": ["rehype-sort-attribute-values@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-lU3ABJO5frbUgV132YS6SL7EISf//irIm9KFMaeu5ixHfgWf6jhe+09Uf/Ef8pOYUJWKOaQJDRJGCXs6cNsdsQ=="],
2548
2549 "rehype-sort-attributes": ["rehype-sort-attributes@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Bxo+AKUIELcnnAZwJDt5zUDDRpt4uzhfz9d0PVGhcxYWsbFj5Cv35xuWxu5r1LeYNFNhgGqsr9Q2QiIOM/Qctg=="],
2550
2551 "reka-ui": ["reka-ui@2.10.1", "", { "dependencies": { "@floating-ui/dom": "^1.6.13", "@floating-ui/vue": "^1.1.6", "@internationalized/date": "^3.5.0", "@internationalized/number": "^3.5.0", "@tanstack/vue-virtual": "^3.12.0", "@vueuse/core": "^14.1.0", "@vueuse/shared": "^14.1.0", "aria-hidden": "^1.2.4", "defu": "^6.1.5", "ohash": "^2.0.11" }, "peerDependencies": { "vue": ">= 3.4.0" } }, "sha512-drcOQ4rQtDYAcGCsyQBqQg8QQ+H3B+zDaMJU0h8KPEPMa7g9BHu3zcOi4OB39XJSWizceFoNO0Z9tctSGLOXqg=="],
2552
2553 "release-it": ["release-it@20.2.1", "", { "dependencies": { "@inquirer/prompts": "8.4.2", "@octokit/rest": "22.0.1", "@phun-ky/typeof": "2.0.3", "async-retry": "1.3.3", "c12": "3.3.3", "ci-info": "^4.4.0", "defu": "^6.1.7", "eta": "4.5.1", "git-url-parse": "16.1.0", "issue-parser": "7.0.1", "lodash.merge": "4.6.2", "mime-types": "3.0.2", "new-github-release-url": "2.0.0", "open": "11.0.0", "ora": "9.3.0", "os-name": "7.0.0", "proxy-agent": "7.0.0", "semver": "7.7.4", "tinyglobby": "0.2.15", "undici": "7.28.0", "url-join": "5.0.0", "wildcard-match": "5.1.4", "yargs-parser": "22.0.0" }, "bin": { "release-it": "bin/release-it.js" } }, "sha512-xd0mqTGduwQlEzVBKOJcoVZxDrRLzjmFv3W8tWwkPIPDYtwYBWYjULiSk6VhfuGKocfz7GmptAqViKMQV4Zzbw=="],
2554
2555 "remark-emoji": ["remark-emoji@5.0.2", "", { "dependencies": { "@types/mdast": "^4.0.4", "emoticon": "^4.0.1", "mdast-util-find-and-replace": "^3.0.1", "node-emoji": "^2.1.3", "unified": "^11.0.4" } }, "sha512-IyIqGELcyK5AVdLFafoiNww+Eaw/F+rGrNSXoKucjo95uL267zrddgxGM83GN1wFIb68pyDuAsY3m5t2Cav1pQ=="],
2556
2557 "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="],
2558
2559 "remark-mdc": ["remark-mdc@3.11.1", "", { "dependencies": { "@types/mdast": "^4.0.4", "@types/unist": "^3.0.3", "flat": "^6.0.1", "mdast-util-from-markdown": "^2.0.3", "mdast-util-to-markdown": "^2.1.2", "micromark": "^4.0.2", "micromark-core-commonmark": "^2.0.3", "micromark-factory-space": "^2.0.1", "micromark-factory-whitespace": "^2.0.1", "micromark-util-character": "^2.1.1", "micromark-util-types": "^2.0.2", "parse-entities": "^4.0.2", "scule": "^1.3.0", "stringify-entities": "^4.0.4", "unified": "^11.0.5", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "yaml": "^2.9.0" } }, "sha512-bjH7Q1OO1BSXVPmUxYIrGH2dUAZkizNY3i9WJUEcIFLowZAEjLTT7fUAH2vH0Tpkeh+/MrzwFFmeWcZ66QLh7A=="],
2560
2561 "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="],
2562
2563 "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="],
2564
2565 "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="],
2566
2567 "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="],
2568
2569 "reserved-identifiers": ["reserved-identifiers@1.2.0", "", {}, "sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw=="],
2570
2571 "resolve": ["resolve@1.22.12", "", { "dependencies": { "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA=="],
2572
2573 "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="],
2574
2575 "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
2576
2577 "restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="],
2578
2579 "retry": ["retry@0.13.1", "", {}, "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="],
2580
2581 "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="],
2582
2583 "rollup": ["rollup@4.62.4", "", { "dependencies": { "@types/estree": "1.0.9" }, "optionalDependencies": { "@napi-rs/lzma-linux-x64-gnu": "1.5.1", "@rollup/rollup-android-arm-eabi": "4.62.4", "@rollup/rollup-android-arm64": "4.62.4", "@rollup/rollup-darwin-arm64": "4.62.4", "@rollup/rollup-darwin-x64": "4.62.4", "@rollup/rollup-freebsd-arm64": "4.62.4", "@rollup/rollup-freebsd-x64": "4.62.4", "@rollup/rollup-linux-arm-gnueabihf": "4.62.4", "@rollup/rollup-linux-arm-musleabihf": "4.62.4", "@rollup/rollup-linux-arm64-gnu": "4.62.4", "@rollup/rollup-linux-arm64-musl": "4.62.4", "@rollup/rollup-linux-loong64-gnu": "4.62.4", "@rollup/rollup-linux-loong64-musl": "4.62.4", "@rollup/rollup-linux-ppc64-gnu": "4.62.4", "@rollup/rollup-linux-ppc64-musl": "4.62.4", "@rollup/rollup-linux-riscv64-gnu": "4.62.4", "@rollup/rollup-linux-riscv64-musl": "4.62.4", "@rollup/rollup-linux-s390x-gnu": "4.62.4", "@rollup/rollup-linux-x64-gnu": "4.62.4", "@rollup/rollup-linux-x64-musl": "4.62.4", "@rollup/rollup-openbsd-x64": "4.62.4", "@rollup/rollup-openharmony-arm64": "4.62.4", "@rollup/rollup-win32-arm64-msvc": "4.62.4", "@rollup/rollup-win32-ia32-msvc": "4.62.4", "@rollup/rollup-win32-x64-gnu": "4.62.4", "@rollup/rollup-win32-x64-msvc": "4.62.4", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg=="],
2584
2585 "rollup-plugin-visualizer": ["rollup-plugin-visualizer@7.0.1", "", { "dependencies": { "open": "^11.0.0", "picomatch": "^4.0.2", "source-map": "^0.7.4", "yargs": "^18.0.0" }, "peerDependencies": { "rolldown": "1.x || ^1.0.0-beta || ^1.0.0-rc", "rollup": "2.x || 3.x || 4.x" }, "optionalPeers": ["rolldown", "rollup"], "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" } }, "sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg=="],
2586
2587 "rope-sequence": ["rope-sequence@1.3.4", "", {}, "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ=="],
2588
2589 "rou3": ["rou3@0.8.1", "", {}, "sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA=="],
2590
2591 "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="],
2592
2593 "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="],
2594
2595 "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
2596
2597 "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
2598
2599 "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
2600
2601 "sax": ["sax@1.6.1", "", {}, "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q=="],
2602
2603 "scslre": ["scslre@0.3.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.8.0", "refa": "^0.12.0", "regexp-ast-analysis": "^0.7.0" } }, "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ=="],
2604
2605 "scule": ["scule@1.3.0", "", {}, "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="],
2606
2607 "semver": ["semver@7.8.5", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA=="],
2608
2609 "send": ["send@1.2.1", "", { "dependencies": { "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.1", "mime-types": "^3.0.2", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.2" } }, "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ=="],
2610
2611 "serialize-javascript": ["serialize-javascript@7.0.7", "", {}, "sha512-YAy8Od6KV+uuwUuU50np8fGB/Aues6Y0nAhA9y/hId74PlKUcme4pXcBD46NWKr1Q4osN/iseZ17YqO1XfmI8g=="],
2612
2613 "seroval": ["seroval@1.6.2", "", {}, "sha512-mPT+SD2TrlB6wvte1KkYOYUkubaTbd6pZ/6Kk3C9nxzrHmCZyhxOO7XGAeL7f+yLKZglzGtM9odUVvg/EhO+vQ=="],
2614
2615 "serve-placeholder": ["serve-placeholder@2.0.2", "", { "dependencies": { "defu": "^6.1.4" } }, "sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ=="],
2616
2617 "serve-static": ["serve-static@2.2.1", "", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw=="],
2618
2619 "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="],
2620
2621 "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="],
2622
2623 "sha.js": ["sha.js@2.4.12", "", { "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1", "to-buffer": "^1.2.0" }, "bin": { "sha.js": "bin.js" } }, "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w=="],
2624
2625 "sharp": ["sharp@0.35.3", "", { "dependencies": { "@img/colour": "^1.1.0", "detect-libc": "^2.1.2", "semver": "^7.8.5" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.35.3", "@img/sharp-darwin-x64": "0.35.3", "@img/sharp-freebsd-wasm32": "0.35.3", "@img/sharp-libvips-darwin-arm64": "1.3.2", "@img/sharp-libvips-darwin-x64": "1.3.2", "@img/sharp-libvips-linux-arm": "1.3.2", "@img/sharp-libvips-linux-arm64": "1.3.2", "@img/sharp-libvips-linux-ppc64": "1.3.2", "@img/sharp-libvips-linux-riscv64": "1.3.2", "@img/sharp-libvips-linux-s390x": "1.3.2", "@img/sharp-libvips-linux-x64": "1.3.2", "@img/sharp-libvips-linuxmusl-arm64": "1.3.2", "@img/sharp-libvips-linuxmusl-x64": "1.3.2", "@img/sharp-linux-arm": "0.35.3", "@img/sharp-linux-arm64": "0.35.3", "@img/sharp-linux-ppc64": "0.35.3", "@img/sharp-linux-riscv64": "0.35.3", "@img/sharp-linux-s390x": "0.35.3", "@img/sharp-linux-x64": "0.35.3", "@img/sharp-linuxmusl-arm64": "0.35.3", "@img/sharp-linuxmusl-x64": "0.35.3", "@img/sharp-webcontainers-wasm32": "0.35.3", "@img/sharp-win32-arm64": "0.35.3", "@img/sharp-win32-ia32": "0.35.3", "@img/sharp-win32-x64": "0.35.3" } }, "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q=="],
2626
2627 "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
2628
2629 "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
2630
2631 "shell-quote": ["shell-quote@1.10.0", "", {}, "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA=="],
2632
2633 "shiki": ["shiki@4.4.2", "", { "dependencies": { "@shikijs/core": "4.4.2", "@shikijs/engine-javascript": "4.4.2", "@shikijs/engine-oniguruma": "4.4.2", "@shikijs/langs": "4.4.2", "@shikijs/themes": "4.4.2", "@shikijs/types": "4.4.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.5" } }, "sha512-P8F/dFhRevaw2uSdeIYlq/5SXZNY85DPtmXQ947gD1Zj2JqO5AkNvVVBar0Me9JkFx3uzVud/qOtP5ek9NEQGA=="],
2634
2635 "side-channel": ["side-channel@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ=="],
2636
2637 "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="],
2638
2639 "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="],
2640
2641 "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="],
2642
2643 "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
2644
2645 "simple-concat": ["simple-concat@1.0.1", "", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="],
2646
2647 "simple-get": ["simple-get@4.0.1", "", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="],
2648
2649 "simple-git": ["simple-git@3.36.0", "", { "dependencies": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", "@simple-git/args-pathspec": "^1.0.3", "@simple-git/argv-parser": "^1.1.0", "debug": "^4.4.0" } }, "sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q=="],
2650
2651 "sirv": ["sirv@3.0.2", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g=="],
2652
2653 "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
2654
2655 "site-config-stack": ["site-config-stack@4.2.0", "", { "dependencies": { "ufo": "^1.6.4" }, "peerDependencies": { "vue": "^3.5.30" } }, "sha512-clV6zAwnsl/xQJCYE+Z/QHciPZ5DP5B3L0s7plOJ92ro8kIe6D/UZlX8JGZC1E18CUeyeJTKBcFWNIRZxSdUJw=="],
2656
2657 "skin-tone": ["skin-tone@2.0.0", "", { "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" } }, "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA=="],
2658
2659 "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="],
2660
2661 "slugify": ["slugify@1.6.9", "", {}, "sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg=="],
2662
2663 "smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="],
2664
2665 "smob": ["smob@1.6.2", "", {}, "sha512-RQsvleCbF8cVHEv+xuDGaA4pOizFqJ0GgjtMSRo6oP8pnN7WsigHgVGey6aILRBKv4W2YOMHLqbKdnB6hpB9fw=="],
2666
2667 "socket.io-client": ["socket.io-client@4.8.3", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1", "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" } }, "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g=="],
2668
2669 "socket.io-parser": ["socket.io-parser@4.2.7", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.4.1" } }, "sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg=="],
2670
2671 "socks": ["socks@2.8.9", "", { "dependencies": { "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" } }, "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw=="],
2672
2673 "socks-proxy-agent": ["socks-proxy-agent@9.0.0", "", { "dependencies": { "agent-base": "8.0.0", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-fFlbMlfsXhK02ZB8aZY7Hwxh/IHBV9b1Oq9bvBk6tkFWXvdAxUgA0wbw/NYR5liU3Y5+KI6U4FH3kYJt9QYv0w=="],
2674
2675 "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="],
2676
2677 "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
2678
2679 "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="],
2680
2681 "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="],
2682
2683 "spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="],
2684
2685 "spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="],
2686
2687 "spdx-expression-parse": ["spdx-expression-parse@5.0.0", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-vngmw3Rgn+o2arXNbnZaj5UtOEBuWBfvaI+Wc8GFfykIhA5/vdK9/Sp/XkLv63dykz2rxKDvKEHupF5P0FORcQ=="],
2688
2689 "spdx-license-ids": ["spdx-license-ids@3.0.23", "", {}, "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw=="],
2690
2691 "srvx": ["srvx@0.11.22", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-LqZxxBDMKuMAZzFzJnDCkFOrs9MZQZr0LvHiO/SuSZVdQaXD7xQ5UWTUxheJrQPve1qk9MG2B/yttUvJxw8egQ=="],
2692
2693 "stable-hash-x": ["stable-hash-x@0.2.0", "", {}, "sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ=="],
2694
2695 "standard-as-callback": ["standard-as-callback@2.1.0", "", {}, "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="],
2696
2697 "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="],
2698
2699 "std-env": ["std-env@4.2.0", "", {}, "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw=="],
2700
2701 "stdin-discarder": ["stdin-discarder@0.3.2", "", {}, "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A=="],
2702
2703 "streamx": ["streamx@2.28.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw=="],
2704
2705 "string-width": ["string-width@8.2.2", "", { "dependencies": { "get-east-asian-width": "^1.5.0", "strip-ansi": "^7.1.2" } }, "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg=="],
2706
2707 "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
2708
2709 "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
2710
2711 "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="],
2712
2713 "strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="],
2714
2715 "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
2716
2717 "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="],
2718
2719 "strip-indent": ["strip-indent@4.1.1", "", {}, "sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA=="],
2720
2721 "strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="],
2722
2723 "strip-literal": ["strip-literal@4.0.0", "", { "dependencies": { "js-tokens": "^10.0.0" } }, "sha512-PaqAvfUZKBwc/SLmNZtHmzK+v19Z4O4eS3cKPeGvbIv/U3pnyEq4Tuw3/4v/FwfM8VQaEawsyCcOQ0P+kpwWWw=="],
2724
2725 "structured-clone-es": ["structured-clone-es@2.0.1", "", {}, "sha512-10ZL5r77LhknxlP1FBiCW+VdnuWOEFLdSS2SKtjyEV+L4qP1hUEIMIZW94LC3jKxRmT/Dj7KkD1mqh/IY6lhKQ=="],
2726
2727 "stylehacks": ["stylehacks@8.0.2", "", { "dependencies": { "browserslist": "^4.28.7", "postcss-selector-parser": "^7.1.4" }, "peerDependencies": { "postcss": "^8.5.25" } }, "sha512-3d5vjQODiMc4VwED1w24fAYSfeAjdIRLy88cJQ9NAYkZr/6ozCVbusda5N+0kXsfGWW3pizUgYK2TOZxiU0cSQ=="],
2728
2729 "sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="],
2730
2731 "super-regex": ["super-regex@1.1.0", "", { "dependencies": { "function-timeout": "^1.0.1", "make-asynchronous": "^1.0.1", "time-span": "^5.1.0" } }, "sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ=="],
2732
2733 "supports-color": ["supports-color@10.2.2", "", {}, "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g=="],
2734
2735 "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
2736
2737 "svgo": ["svgo@4.0.2", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng=="],
2738
2739 "swrv": ["swrv@1.2.0", "", { "peerDependencies": { "vue": ">=3.2.26 < 4" } }, "sha512-lH/g4UcNyj+7lzK4eRGT4C68Q4EhQ6JtM9otPRIASfhhzfLWtbZPHcMuhuba7S9YVYuxkMUGImwMyGpfbkH07A=="],
2740
2741 "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="],
2742
2743 "tailwind-merge": ["tailwind-merge@3.6.0", "", {}, "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w=="],
2744
2745 "tailwind-variants": ["tailwind-variants@3.3.1", "", { "peerDependencies": { "tailwind-merge": ">=3.0.0", "tailwindcss": "*" }, "optionalPeers": ["tailwind-merge", "tailwindcss"] }, "sha512-4pAvwUtM4HKBiRZftncAbpn6V9Hhwoa5Fl7O2u5zbp7Z5Cvu+/o/6+176WY3WCEES209543quG8zFIcXCsc5Jw=="],
2746
2747 "tailwindcss": ["tailwindcss@4.3.3", "", {}, "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ=="],
2748
2749 "tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="],
2750
2751 "tar": ["tar@7.5.22", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.1.0", "yallist": "^5.0.0" } }, "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA=="],
2752
2753 "tar-fs": ["tar-fs@2.1.5", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw=="],
2754
2755 "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="],
2756
2757 "teex": ["teex@1.0.1", "", { "dependencies": { "streamx": "^2.12.5" } }, "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg=="],
2758
2759 "terser": ["terser@5.49.2", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-rGbJiKeQ4WDe3EXlDAIaQcwftVfv2Q8o1awFNfvXolJYKkb1AuZY1RTOmqx4LJXZENbWZA7eIsYGHuEzHsi1nQ=="],
2760
2761 "text-decoder": ["text-decoder@1.2.7", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ=="],
2762
2763 "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="],
2764
2765 "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="],
2766
2767 "time-span": ["time-span@5.1.0", "", { "dependencies": { "convert-hrtime": "^5.0.0" } }, "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA=="],
2768
2769 "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="],
2770
2771 "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="],
2772
2773 "tinyclip": ["tinyclip@0.1.15", "", {}, "sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A=="],
2774
2775 "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="],
2776
2777 "tinyglobby": ["tinyglobby@0.2.17", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g=="],
2778
2779 "to-buffer": ["to-buffer@1.2.2", "", { "dependencies": { "isarray": "^2.0.5", "safe-buffer": "^5.2.1", "typed-array-buffer": "^1.0.3" } }, "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw=="],
2780
2781 "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
2782
2783 "to-valid-identifier": ["to-valid-identifier@1.0.0", "", { "dependencies": { "@sindresorhus/base62": "^1.0.0", "reserved-identifiers": "^1.0.0" } }, "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw=="],
2784
2785 "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="],
2786
2787 "tosource": ["tosource@2.0.0-alpha.3", "", {}, "sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug=="],
2788
2789 "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="],
2790
2791 "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="],
2792
2793 "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="],
2794
2795 "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="],
2796
2797 "trim-trailing-lines": ["trim-trailing-lines@2.1.0", "", {}, "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg=="],
2798
2799 "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="],
2800
2801 "ts-api-utils": ["ts-api-utils@2.5.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA=="],
2802
2803 "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="],
2804
2805 "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
2806
2807 "tsup": ["tsup@8.5.1", "", { "dependencies": { "bundle-require": "^5.1.0", "cac": "^6.7.14", "chokidar": "^4.0.3", "consola": "^3.4.0", "debug": "^4.4.0", "esbuild": "^0.27.0", "fix-dts-default-cjs-exports": "^1.0.0", "joycon": "^3.1.1", "picocolors": "^1.1.1", "postcss-load-config": "^6.0.1", "resolve-from": "^5.0.0", "rollup": "^4.34.8", "source-map": "^0.7.6", "sucrase": "^3.35.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.11", "tree-kill": "^1.2.2" }, "peerDependencies": { "@microsoft/api-extractor": "^7.36.0", "@swc/core": "^1", "postcss": "^8.4.12", "typescript": ">=4.5.0" }, "optionalPeers": ["@microsoft/api-extractor", "@swc/core", "postcss", "typescript"], "bin": { "tsup": "dist/cli-default.js", "tsup-node": "dist/cli-node.js" } }, "sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing=="],
2808
2809 "tsx": ["tsx@4.23.10", "", { "dependencies": { "esbuild": "~0.28.0" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-0Vb9eKU47njkxv/6B8CRZRDsxNDT/Pz+BIU+M5jw7xL3TdzAjSxlZUxu0xFL/kLpaG3sHZ0LH2wbK1T1yo7CUQ=="],
2810
2811 "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="],
2812
2813 "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="],
2814
2815 "type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="],
2816
2817 "type-is": ["type-is@2.1.0", "", { "dependencies": { "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA=="],
2818
2819 "type-level-regexp": ["type-level-regexp@0.1.17", "", {}, "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg=="],
2820
2821 "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="],
2822
2823 "typedarray": ["typedarray@0.0.6", "", {}, "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="],
2824
2825 "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
2826
2827 "uc.micro": ["uc.micro@2.1.0", "", {}, "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="],
2828
2829 "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="],
2830
2831 "uglify-js": ["uglify-js@3.19.3", "", { "bin": { "uglifyjs": "bin/uglifyjs" } }, "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ=="],
2832
2833 "ultrahtml": ["ultrahtml@1.7.0", "", {}, "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g=="],
2834
2835 "unconfig": ["unconfig@7.5.0", "", { "dependencies": { "@quansync/fs": "^1.0.0", "defu": "^6.1.4", "jiti": "^2.6.1", "quansync": "^1.0.0", "unconfig-core": "7.5.0" } }, "sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA=="],
2836
2837 "unconfig-core": ["unconfig-core@7.5.0", "", { "dependencies": { "@quansync/fs": "^1.0.0", "quansync": "^1.0.0" } }, "sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w=="],
2838
2839 "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="],
2840
2841 "unctx": ["unctx@2.5.0", "", { "dependencies": { "acorn": "^8.15.0", "estree-walker": "^3.0.3", "magic-string": "^0.30.21", "unplugin": "^2.3.11" } }, "sha512-p+Rz9x0R7X+CYDkT+Xg8/GhpcShTlU8n+cf9OtOEf7zEQsNcCZO1dPKNRDqvUTaq+P32PMMkxWHwfrxkqfqAYg=="],
2842
2843 "undici": ["undici@7.28.0", "", {}, "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA=="],
2844
2845 "undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="],
2846
2847 "unenv": ["unenv@2.0.0-rc.24", "", { "dependencies": { "pathe": "^2.0.3" } }, "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw=="],
2848
2849 "unhead": ["unhead@2.1.17", "", { "dependencies": { "hookable": "^6.0.1" } }, "sha512-HLMKXOszRhAPBrr6VlqCeVeJq2kbC4kXwzGLEZvvojPLWNYTJw22xG7Bfwhsvs31+IBet3Wl8ADg9dwYdyphfQ=="],
2850
2851 "unicode-emoji-modifier-base": ["unicode-emoji-modifier-base@1.0.0", "", {}, "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g=="],
2852
2853 "unicorn-magic": ["unicorn-magic@0.3.0", "", {}, "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA=="],
2854
2855 "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="],
2856
2857 "unifont": ["unifont@0.7.4", "", { "dependencies": { "css-tree": "^3.1.0", "ofetch": "^1.5.1", "ohash": "^2.0.11" } }, "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg=="],
2858
2859 "unimport": ["unimport@6.4.0", "", { "dependencies": { "acorn": "^8.18.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "local-pkg": "^1.2.1", "magic-string": "^1.1.0", "mlly": "^1.8.2", "pathe": "^2.0.3", "picomatch": "^4.0.5", "pkg-types": "^2.3.1", "scule": "^1.3.0", "strip-literal": "^4.0.0", "tinyglobby": "^0.2.17", "unplugin": "^3.3.0", "unplugin-utils": "^0.3.2" }, "peerDependencies": { "oxc-parser": "*", "rolldown": "^1.0.0" }, "optionalPeers": ["oxc-parser", "rolldown"] }, "sha512-JJOOuNMFq8b4ZPBKwQUxEcba4MplskDzYI1Lvrf8rJfWphZTWvPNXWa493qsPngHUmub89w6C7j+SeLWTE/UIQ=="],
2860
2861 "unist-builder": ["unist-builder@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg=="],
2862
2863 "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="],
2864
2865 "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="],
2866
2867 "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="],
2868
2869 "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="],
2870
2871 "unist-util-visit": ["unist-util-visit@5.1.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg=="],
2872
2873 "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="],
2874
2875 "universal-user-agent": ["universal-user-agent@7.0.3", "", {}, "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A=="],
2876
2877 "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="],
2878
2879 "unplugin": ["unplugin@3.3.0", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "picomatch": "^4.0.4", "webpack-virtual-modules": "^0.6.2" }, "peerDependencies": { "@farmfe/core": "*", "@rspack/core": "*", "bun-types-no-globals": "*", "esbuild": "*", "rolldown": "*", "rollup": "*", "unloader": "*", "vite": "*", "webpack": "*" }, "optionalPeers": ["@farmfe/core", "@rspack/core", "bun-types-no-globals", "esbuild", "rolldown", "rollup", "unloader", "vite", "webpack"] }, "sha512-qa66K+crbfyE6JK10GjvbJeRrOsuC/JpbnHctfyp/i4oBTxWOzJfRZyDiOk1PtErMFRu8JhsU/wPvOdBNWe5Rg=="],
2880
2881 "unplugin-auto-import": ["unplugin-auto-import@21.1.0", "", { "dependencies": { "local-pkg": "^1.2.1", "magic-string": "^1.1.0", "picomatch": "^4.0.5", "unimport": "^6.4.0", "unplugin": "^3.3.0", "unplugin-utils": "^0.3.2" }, "peerDependencies": { "@nuxt/kit": "^4.0.0", "@vueuse/core": "*" }, "optionalPeers": ["@nuxt/kit", "@vueuse/core"] }, "sha512-EzrSqWIBulEqCuP7idADXH+tVKYrbwKlR5+r/lOWik0o+Ksny1kitmtryHGNSv7puzzORlcIwT/x2JStiszlHA=="],
2882
2883 "unplugin-utils": ["unplugin-utils@0.3.2", "", { "dependencies": { "pathe": "^2.0.3", "picomatch": "^4.0.4" } }, "sha512-xVToRh2CTmLk2HnEG7ac4rl1MJTT3RFkpS8B++/SnB0kXvuaavD+n3m/vrzyWQOdJNSZQACnbz01pnppbwV5BA=="],
2884
2885 "unplugin-vue-components": ["unplugin-vue-components@32.1.0", "", { "dependencies": { "chokidar": "^5.0.0", "local-pkg": "^1.2.0", "magic-string": "^0.30.21", "mlly": "^1.8.2", "obug": "^2.1.1", "picomatch": "^4.0.4", "tinyglobby": "^0.2.16", "unplugin": "^3.0.0", "unplugin-utils": "^0.3.1" }, "peerDependencies": { "@nuxt/kit": "^3.2.2 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@nuxt/kit"] }, "sha512-YiUkSxuRjab18XFOrX5VsIxXzccrfmHVGsGeJgSgklb829DQmCy9E4vvDUE4tuvZZdxyFJZX0Oc4TPnnxiiMyg=="],
2886
2887 "unrouting": ["unrouting@0.1.7", "", { "dependencies": { "escape-string-regexp": "^5.0.0", "ufo": "^1.6.3" } }, "sha512-+0hfD+CVWtD636rc5Fn9VEjjTEDhdqgMpbwAuVoUmydSHDaMNiFW93SJG4LV++RoGSEAyvQN5uABAscYpDphpQ=="],
2888
2889 "unrs-resolver": ["unrs-resolver@1.12.2", "", { "dependencies": { "napi-postinstall": "^0.3.4" }, "optionalDependencies": { "@unrs/resolver-binding-android-arm-eabi": "1.12.2", "@unrs/resolver-binding-android-arm64": "1.12.2", "@unrs/resolver-binding-darwin-arm64": "1.12.2", "@unrs/resolver-binding-darwin-x64": "1.12.2", "@unrs/resolver-binding-freebsd-x64": "1.12.2", "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", "@unrs/resolver-binding-linux-x64-musl": "1.12.2", "@unrs/resolver-binding-openharmony-arm64": "1.12.2", "@unrs/resolver-binding-wasm32-wasi": "1.12.2", "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" } }, "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ=="],
2890
2891 "unstorage": ["unstorage@1.17.5", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^5.0.0", "destr": "^2.0.5", "h3": "^1.15.10", "lru-cache": "^11.2.7", "node-fetch-native": "^1.6.7", "ofetch": "^1.5.1", "ufo": "^1.6.3" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6 || ^7 || ^8", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/functions": "^2.2.12 || ^3.0.0", "@vercel/kv": "^1 || ^2 || ^3", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/functions", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg=="],
2892
2893 "untun": ["untun@0.2.2", "", { "bin": { "untun": "dist/cli.mjs" } }, "sha512-+NnOJcSiEtYsVgJmXUzQbJeRAFXJC4yPJYuh6kF9B0Rm6zunXcs/3GZOTllyocSbUDIxD6Bj7e/4ATw7sph1Sw=="],
2894
2895 "untyped": ["untyped@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "defu": "^6.1.4", "jiti": "^2.4.2", "knitwork": "^1.2.0", "scule": "^1.3.0" }, "bin": { "untyped": "dist/cli.mjs" } }, "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g=="],
2896
2897 "unwasm": ["unwasm@0.5.3", "", { "dependencies": { "exsolve": "^1.0.8", "knitwork": "^1.3.0", "magic-string": "^0.30.21", "mlly": "^1.8.0", "pathe": "^2.0.3", "pkg-types": "^2.3.0" } }, "sha512-keBgTSfp3r6+s9ZcSma+0chwxQdmLbB5+dAD9vjtB21UTMYuKAxHXCU1K2CbCtnP09EaWeRvACnXk0EJtUx+hw=="],
2898
2899 "update-browserslist-db": ["update-browserslist-db@1.3.0", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-x/M6q3w4Ybp91CNaS4S69UnliqR3BzRpOT6LWbksjth0S/+jhfaPJsWjt/TewpT8j9eLIojUf5jr29WextHroA=="],
2900
2901 "uqr": ["uqr@0.1.3", "", {}, "sha512-0rjE8iEJe4YmT9TOhwsZtqCMRLc5DXZUI2UEYUUg63ikBkqqE5EYWaI0etFe/5KUcmcYwLih2RND1kq+hrUJXA=="],
2902
2903 "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
2904
2905 "url-join": ["url-join@5.0.0", "", {}, "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA=="],
2906
2907 "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
2908
2909 "validate-npm-package-license": ["validate-npm-package-license@3.0.4", "", { "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="],
2910
2911 "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="],
2912
2913 "vaul-vue": ["vaul-vue@0.4.1", "", { "dependencies": { "@vueuse/core": "^10.8.0", "reka-ui": "^2.0.0", "vue": "^3.4.5" } }, "sha512-A6jOWOZX5yvyo1qMn7IveoWN91mJI5L3BUKsIwkg6qrTGgHs1Sb1JF/vyLJgnbN1rH4OOOxFbtqL9A46bOyGUQ=="],
2914
2915 "verkit": ["verkit@0.3.2", "", {}, "sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg=="],
2916
2917 "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="],
2918
2919 "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="],
2920
2921 "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="],
2922
2923 "vite": ["vite@7.3.6", "", { "dependencies": { "esbuild": "^0.27.0 || ^0.28.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg=="],
2924
2925 "vite-dev-rpc": ["vite-dev-rpc@2.0.0", "", { "dependencies": { "birpc": "^4.0.0", "vite-hot-client": "^2.2.0" }, "peerDependencies": { "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0 || ^8.0.0" } }, "sha512-yKwbTwdHKSD2k/aGqyWpPHepo45OQc8lH3/6IfT4ZqeKE26ooKvi4WIEKzqWav8v+9Is8u1k8q54hvOmqASazA=="],
2926
2927 "vite-hot-client": ["vite-hot-client@2.2.0", "", { "peerDependencies": { "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0" } }, "sha512-76Zs9zrHbH7M7wqeyooGQKdX+yg0pQ0xuQ1PbFp4z5a0Lzn2e5IPFoCswnmqZ4GiwqB4Jo3WcDAMO9jARTJl8w=="],
2928
2929 "vite-node": ["vite-node@5.3.0", "", { "dependencies": { "cac": "^6.7.14", "es-module-lexer": "^2.0.0", "obug": "^2.1.1", "pathe": "^2.0.3", "vite": "^7.3.1" }, "bin": { "vite-node": "dist/cli.mjs" } }, "sha512-8f20COPYJujc3OKPX6OuyBy3ZIv2det4eRRU4GY1y2MjbeGSUmPjedxg1b72KnTagCofwvZ65ThzjxDW2AtQFQ=="],
2930
2931 "vite-plugin-checker": ["vite-plugin-checker@0.14.5", "", { "dependencies": { "@babel/code-frame": "^7.29.0", "chokidar": "^5.0.0", "npm-run-path": "^6.0.0", "picocolors": "^1.1.1", "picomatch": "^4.0.4", "proper-lockfile": "^4.1.2", "tiny-invariant": "^1.3.3" }, "peerDependencies": { "@biomejs/biome": ">=2.4.12", "eslint": ">=9.39.4", "meow": "^13.2.0 || ^14.0.0", "optionator": "^0.9.4", "oxlint": ">=1", "stylelint": ">=16.26.1", "typescript": "*", "vite": ">=5.4.21", "vue-tsc": "~2.2.10 || ^3.0.0" }, "optionalPeers": ["@biomejs/biome", "eslint", "meow", "optionator", "oxlint", "stylelint", "typescript", "vue-tsc"] }, "sha512-c9lQ92eisUO+F7Fd93aelojmiOS+NQpPgQ1XR2LTQHox1/laZf4yAoQj+L3RA9Vgh10e2nFd9b8r2LLyYZsbpA=="],
2932
2933 "vite-plugin-inspect": ["vite-plugin-inspect@11.4.1", "", { "dependencies": { "ansis": "^4.3.0", "error-stack-parser-es": "^1.0.5", "obug": "^2.1.1", "ohash": "^2.0.11", "open": "^11.0.0", "perfect-debounce": "^2.1.0", "sirv": "^3.0.2", "unplugin-utils": "^0.3.1", "vite-dev-rpc": "^2.0.0" }, "peerDependencies": { "vite": "^6.0.0 || ^7.0.0-0 || ^8.0.0-0" } }, "sha512-ShOFe2PURXGvRS5OrgmOLZOCwDTD7dEBVt0tMpFPKb9AsvqXKCRGM8QgKrUbRbJYFXScHvDPpGRd28rYidC0tA=="],
2934
2935 "vite-plugin-singlefile": ["vite-plugin-singlefile@2.3.3", "", { "dependencies": { "micromatch": "^4.0.8" }, "peerDependencies": { "rollup": "^4.59.0", "vite": "^5.4.21 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["rollup"] }, "sha512-XVnGH0QzbOa8fxRSsHdCarVN1BSBXNi7uLMQYlrGRN5apdHkk62XQWRJhVever0lnfuyBkwn+kvVChdm/OoOUg=="],
2936
2937 "vite-plugin-vue-tracer": ["vite-plugin-vue-tracer@1.4.0", "", { "dependencies": { "estree-walker": "^3.0.3", "exsolve": "^1.0.8", "magic-string": "^0.30.21", "pathe": "^2.0.3", "source-map-js": "^1.2.1" }, "peerDependencies": { "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0", "vue": "^3.5.0" } }, "sha512-0tQCjCqZWVSK6UeRW9S4ABbf47lKQ68zvrT2FNvZmiL+alDydCVyH/T3Jlfbdc3T3C2Iuyyl5aVsMbF8IQIoxA=="],
2938
2939 "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="],
2940
2941 "vue": ["vue@3.5.41", "", { "dependencies": { "@vue/compiler-dom": "3.5.41", "@vue/compiler-sfc": "3.5.41", "@vue/runtime-dom": "3.5.41", "@vue/server-renderer": "3.5.41", "@vue/shared": "3.5.41" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-2laE0p+aK+/AOPG/XL/WepOs/GlK755LJ1XECi9kDUrz1FKNw8rb2Xzlw9JS1rqEV55nb0ttsKxVlTCcd+R5cg=="],
2942
2943 "vue-bundle-renderer": ["vue-bundle-renderer@2.3.1", "", { "dependencies": { "ufo": "^1.6.4" } }, "sha512-7F4LNMopUw5RgYWo4zCmVUHCc6aQRC6dCKHUYkM/n+fux4AUGdL1x6m5A515WWyFysRRN7cx3hBzVqoisfRfzw=="],
2944
2945 "vue-component-meta": ["vue-component-meta@3.3.9", "", { "dependencies": { "@volar/typescript": "2.4.28", "@vue/language-core": "3.3.9", "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-4u1VmMVjqs9BbKaISBZD7b+dNdqFteh5BYN8xVaXkjjJ66no1sRtDnS6aSs5/P5AzQQGPw10snHTf/z3HpBn2w=="],
2946
2947 "vue-component-type-helpers": ["vue-component-type-helpers@3.3.9", "", {}, "sha512-3c/UfMe0SqyEfcGTyH7mfshHagJ9QTCbppCb0/uGpHZpFug7+If3GeGZN7I0YheKEExemx3xldQPoO7PQSOLQg=="],
2948
2949 "vue-demi": ["vue-demi@0.14.10", "", { "peerDependencies": { "@vue/composition-api": "^1.0.0-rc.1", "vue": "^3.0.0-0 || ^2.6.0" }, "optionalPeers": ["@vue/composition-api"], "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" } }, "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg=="],
2950
2951 "vue-devtools-stub": ["vue-devtools-stub@0.1.0", "", {}, "sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ=="],
2952
2953 "vue-eslint-parser": ["vue-eslint-parser@10.4.1", "", { "dependencies": { "debug": "^4.4.0", "eslint-scope": "^8.2.0 || ^9.0.0", "eslint-visitor-keys": "^4.2.0 || ^5.0.0", "espree": "^10.3.0 || ^11.0.0", "esquery": "^1.6.0", "semver": "^7.6.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0" } }, "sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA=="],
2954
2955 "vue-i18n": ["vue-i18n@11.4.8", "", { "dependencies": { "@intlify/core-base": "11.4.8", "@intlify/devtools-types": "11.4.8", "@intlify/shared": "11.4.8", "@vue/devtools-api": "^6.5.0" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-0ULeHP6Z9CGvAm67S77ZEp41cfGXIREGL8qfhos2BMgcQQewtQcDKuojt6jjasAD/S8GwfTp2ySPmDSpwvrCMQ=="],
2956
2957 "vue-router": ["vue-router@5.2.0", "", { "dependencies": { "@babel/generator": "^8.0.0", "@vue-macros/common": "^3.1.3", "@vue/devtools-api": "^8.1.5", "ast-walker-scope": "^0.9.0", "chokidar": "^5.0.0", "json5": "^2.2.3", "local-pkg": "^1.2.1", "magic-string": "^0.30.21", "mlly": "^1.8.2", "muggle-string": "^0.4.1", "nostics": "^1.1.4", "pathe": "^2.0.3", "picomatch": "^4.0.5", "scule": "^1.3.0", "tinyglobby": "^0.2.17", "unplugin": "^3.3.0", "unplugin-utils": "^0.3.2", "yaml": "^2.9.0" }, "peerDependencies": { "@pinia/colada": ">=0.21.2", "@vue/compiler-sfc": "^3.5.34 || ^4.0.0", "pinia": "^3.0.4 || ^4.0.2", "vite": "^7.3.0 || ^8.0.0", "vue": "^3.5.34 || ^4.0.0" }, "optionalPeers": ["@pinia/colada", "@vue/compiler-sfc", "pinia", "vite"] }, "sha512-QAC5i0LEb1GLG0LXDQmHu8L7FX12j0KwU/JTKmLQUJMrn04gQdKP6Du+p0QwpHb3iy71vBlqnHQ8WAfOSAWhqw=="],
2958
2959 "vue-tsc": ["vue-tsc@3.3.9", "", { "dependencies": { "@volar/typescript": "2.4.28", "@vue/language-core": "3.3.9" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "bin/vue-tsc.js" } }, "sha512-TS3Y1ux/IRoE8OCP2PpACAeOseuIs0UvWrcr7u+w3PmfY+SlCfEf8zjrBgnQksHUgLpthi5vHlffcQTQTdPBZA=="],
2960
2961 "w3c-keyname": ["w3c-keyname@2.2.8", "", {}, "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="],
2962
2963 "walk-up-path": ["walk-up-path@4.0.0", "", {}, "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A=="],
2964
2965 "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="],
2966
2967 "web-worker": ["web-worker@1.5.0", "", {}, "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw=="],
2968
2969 "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="],
2970
2971 "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="],
2972
2973 "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="],
2974
2975 "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="],
2976
2977 "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="],
2978
2979 "wheel-gestures": ["wheel-gestures@2.2.48", "", {}, "sha512-f+Gy33Oa5Z14XY9679Zze+7VFhbsQfBFXodnU2x589l4kxGM9L5Y8zETTmcMR5pWOPQyRv4Z0lNax6xCO0NSlA=="],
2980
2981 "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
2982
2983 "which-typed-array": ["which-typed-array@1.1.22", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw=="],
2984
2985 "wildcard-match": ["wildcard-match@5.1.4", "", {}, "sha512-wldeCaczs8XXq7hj+5d/F38JE2r7EXgb6WQDM84RVwxy81T/sxB5e9+uZLK9Q9oNz1mlvjut+QtvgaOQFPVq/g=="],
2986
2987 "windows-release": ["windows-release@7.1.1", "", { "dependencies": { "powershell-utils": "^0.2.0" } }, "sha512-0GBwC9WmR8Bm3WYiz3FC391054BsFHZ2gzBVdYj9uj5eIVYzbn/YPYCYW9SWdh9vwnLuzpn1UGwJKiMG4F236w=="],
2988
2989 "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
2990
2991 "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="],
2992
2993 "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="],
2994
2995 "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
2996
2997 "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
2998
2999 "ws": ["ws@8.21.2", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-54dMVAo4WIe6SKy3vBgN+9bJZqqQ8IMRevAkOLQALhi49qkkQDQfWdAZ8KQlXiEabw88ARXXdUrlvtbKQX+aKw=="],
3000
3001 "wsl-utils": ["wsl-utils@0.3.1", "", { "dependencies": { "is-wsl": "^3.1.0", "powershell-utils": "^0.1.0" } }, "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg=="],
3002
3003 "xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="],
3004
3005 "xmlhttprequest-ssl": ["xmlhttprequest-ssl@2.1.2", "", {}, "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ=="],
3006
3007 "xss": ["xss@1.0.15", "", { "dependencies": { "commander": "^2.20.3", "cssfilter": "0.0.10" }, "bin": { "xss": "bin/xss" } }, "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg=="],
3008
3009 "y-protocols": ["y-protocols@1.0.7", "", { "dependencies": { "lib0": "^0.2.85" }, "peerDependencies": { "yjs": "^13.0.0" } }, "sha512-YSVsLoXxO67J6eE/nV4AtFtT3QEotZf5sK5BHxFBXso7VDUT3Tx07IfA6hsu5Q5OmBdMkQVmFZ9QOA7fikWvnw=="],
3010
3011 "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
3012
3013 "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="],
3014
3015 "yaml": ["yaml@2.9.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA=="],
3016
3017 "yaml-eslint-parser": ["yaml-eslint-parser@1.3.2", "", { "dependencies": { "eslint-visitor-keys": "^3.0.0", "yaml": "^2.0.0" } }, "sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg=="],
3018
3019 "yargs": ["yargs@18.1.0", "", { "dependencies": { "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "string-width": "^8.2.1", "y18n": "^5.0.5", "yargs-parser": "^22.0.0" } }, "sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg=="],
3020
3021 "yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="],
3022
3023 "yjs": ["yjs@13.6.32", "", { "dependencies": { "lib0": "^0.2.99" } }, "sha512-lfiJIIC4Xayt5ItynE407ehlE03pCjeOc4hkR4yxxvvNJ4kuiN25B0g+Qp8XagYz361LLL7DCzR5bvFJ81QKtQ=="],
3024
3025 "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="],
3026
3027 "yoctocolors": ["yoctocolors@2.2.0", "", {}, "sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg=="],
3028
3029 "youch": ["youch@4.1.1", "", { "dependencies": { "@poppinss/colors": "^4.1.6", "@poppinss/dumper": "^0.7.0", "@speed-highlight/core": "^1.2.14", "cookie-es": "^3.0.1", "youch-core": "^0.3.3" } }, "sha512-mxW3qiSnl+GRxXsaUMzv2Mbada1Y8CDltET9UxejDQe6DBYlSekghl5U5K0ReAikcHDi0G1vKZEmmo/NWAGKLA=="],
3030
3031 "youch-core": ["youch-core@0.3.3", "", { "dependencies": { "@poppinss/exception": "^1.2.2", "error-stack-parser-es": "^1.0.5" } }, "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA=="],
3032
3033 "zip-stream": ["zip-stream@6.0.1", "", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="],
3034
3035 "zod": ["zod@4.4.3", "", {}, "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ=="],
3036
3037 "zod-to-json-schema": ["zod-to-json-schema@3.25.2", "", { "peerDependencies": { "zod": "^3.25.28 || ^4" } }, "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA=="],
3038
3039 "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="],
3040
3041 "@antfu/install-pkg/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3042
3043 "@babel/code-frame/js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
3044
3045 "@babel/core/@babel/generator": ["@babel/generator@7.29.8", "", { "dependencies": { "@babel/parser": "^7.29.8", "@babel/types": "^7.29.8", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg=="],
3046
3047 "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
3048
3049 "@babel/generator/@babel/parser": ["@babel/parser@8.0.4", "", { "dependencies": { "@babel/types": "^8.0.4" }, "bin": "./bin/babel-parser.js" }, "sha512-srpptsAkEbbNIC/q8nT7o+m6CQe8CJUTV/t7MYc9NnWlgYVtHOb7JH6SorxMhN0kuRJjVqXbKClG6xSbPtzz+g=="],
3050
3051 "@babel/generator/@babel/types": ["@babel/types@8.0.4", "", { "dependencies": { "@babel/helper-string-parser": "^8.0.0", "@babel/helper-validator-identifier": "^8.0.4" } }, "sha512-eY+Yn3dCqTGmyiq2QRU66lA5FL8lqqqvecHt0fF3uHONIa7ToYsaCiWV8lOKqAs0Rb2SjixiKFROngnulPtt2g=="],
3052
3053 "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
3054
3055 "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
3056
3057 "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
3058
3059 "@babel/traverse/@babel/generator": ["@babel/generator@7.29.8", "", { "dependencies": { "@babel/parser": "^7.29.8", "@babel/types": "^7.29.8", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg=="],
3060
3061 "@es-joy/jsdoccomment/jsdoc-type-pratt-parser": ["jsdoc-type-pratt-parser@8.0.0", "", {}, "sha512-uQu/fXVqVaMg6gM8/E5G5+eygVcZ1NV0Z51CvqhNa2bDWxvHMl484ETr6vph4oPyC+KUcbP/w2W2pewfCiR9aQ=="],
3062
3063 "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
3064
3065 "@eslint/config-inspector/cac": ["cac@7.0.0", "", {}, "sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ=="],
3066
3067 "@iconify/utils/@antfu/install-pkg": ["@antfu/install-pkg@1.1.0", "", { "dependencies": { "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" } }, "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ=="],
3068
3069 "@img/sharp-freebsd-wasm32/@img/sharp-wasm32": ["@img/sharp-wasm32@0.35.3", "", { "dependencies": { "@emnapi/runtime": "^1.11.1" } }, "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w=="],
3070
3071 "@img/sharp-wasm32/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3072
3073 "@img/sharp-webcontainers-wasm32/@img/sharp-wasm32": ["@img/sharp-wasm32@0.35.3", "", { "dependencies": { "@emnapi/runtime": "^1.11.1" } }, "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w=="],
3074
3075 "@inquirer/external-editor/iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="],
3076
3077 "@intlify/bundle-utils/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
3078
3079 "@intlify/bundle-utils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3080
3081 "@intlify/h3/@intlify/utils": ["@intlify/utils@0.13.0", "", {}, "sha512-8i3uRdAxCGzuHwfmHcVjeLQBtysQB2aXl/ojoagDut5/gY5lvWCQ2+cnl2TiqE/fXj/D8EhWG/SLKA7qz4a3QA=="],
3082
3083 "@intlify/unplugin-vue-i18n/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3084
3085 "@intlify/vue-i18n-extensions/@intlify/shared": ["@intlify/shared@10.0.8", "", {}, "sha512-BcmHpb5bQyeVNrptC3UhzpBZB/YHHDoEREOUERrmF2BRxsyOEuRrq+Z96C/D4+2KJb8kuHiouzAei7BXlG0YYw=="],
3086
3087 "@intlify/vue-i18n-extensions/vue-i18n": ["vue-i18n@10.0.8", "", { "dependencies": { "@intlify/core-base": "10.0.8", "@intlify/shared": "10.0.8", "@vue/devtools-api": "^6.5.0" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-mIjy4utxMz9lMMo6G9vYePv7gUFt4ztOMhY9/4czDJxZ26xPeJ49MAGa9wBAE3XuXbYCrtVPmPxNjej7JJJkZQ=="],
3088
3089 "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
3090
3091 "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
3092
3093 "@mapbox/node-pre-gyp/https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
3094
3095 "@modelcontextprotocol/sdk/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="],
3096
3097 "@nuxt/cli/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3098
3099 "@nuxt/content/hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
3100
3101 "@nuxt/content/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
3102
3103 "@nuxt/devtools/which": ["which@6.0.1", "", { "dependencies": { "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" } }, "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg=="],
3104
3105 "@nuxt/kit/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3106
3107 "@nuxt/kit/unctx": ["unctx@3.0.0", "", { "peerDependencies": { "magic-string": ">=0.30.21", "oxc-parser": ">=0.140.0", "rolldown": "^1.1.5", "unplugin": "^3.3.0" }, "optionalPeers": ["magic-string", "oxc-parser", "rolldown", "unplugin"] }, "sha512-DoXdZVeyi2jyEsn86i8MO5RTItm1kffUkH9/+DQORn3Q688AMOy2551CIl6AdGL2UpwD675wtbNOl75wIQN/uA=="],
3108
3109 "@nuxt/nitro-server/@nuxt/kit": ["@nuxt/kit@4.4.8", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.8", "ignore": "^7.0.5", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "semver": "^7.8.1", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "untyped": "^2.0.0" } }, "sha512-ZUlZ5iYfyfJFDPluhn6ZxFWcsuxWbLnZBc8w3MAROcQ4lYfZ+qFpALBLSNlpc0zhOa++33EE+5PEbOAdVIY+dw=="],
3110
3111 "@nuxt/nitro-server/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3112
3113 "@nuxt/telemetry/ofetch": ["ofetch@2.0.0-alpha.3", "", {}, "sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA=="],
3114
3115 "@nuxt/ui/@nuxt/schema": ["@nuxt/schema@4.5.2", "", { "dependencies": { "@vue/shared": "^3.5.40", "defu": "^6.1.7", "nostics": "^1.2.0", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "std-env": "^4.2.0" } }, "sha512-h9g1kt9O2iU9nX6HDFu9gvwtpn+8oSJX0RSTWRBnEx/Pkz+WlOHtjuS0SbkTAXw5aT1+H1GysWVwNTjJfBY/0w=="],
3116
3117 "@nuxt/vite-builder/@nuxt/kit": ["@nuxt/kit@4.4.8", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.8", "ignore": "^7.0.5", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "semver": "^7.8.1", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "untyped": "^2.0.0" } }, "sha512-ZUlZ5iYfyfJFDPluhn6ZxFWcsuxWbLnZBc8w3MAROcQ4lYfZ+qFpALBLSNlpc0zhOa++33EE+5PEbOAdVIY+dw=="],
3118
3119 "@nuxt/vite-builder/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3120
3121 "@nuxtjs/i18n/oxc-parser": ["oxc-parser@0.141.0", "", { "dependencies": { "@oxc-project/types": "^0.141.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.141.0", "@oxc-parser/binding-android-arm64": "0.141.0", "@oxc-parser/binding-darwin-arm64": "0.141.0", "@oxc-parser/binding-darwin-x64": "0.141.0", "@oxc-parser/binding-freebsd-x64": "0.141.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.141.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.141.0", "@oxc-parser/binding-linux-arm64-gnu": "0.141.0", "@oxc-parser/binding-linux-arm64-musl": "0.141.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.141.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.141.0", "@oxc-parser/binding-linux-riscv64-musl": "0.141.0", "@oxc-parser/binding-linux-s390x-gnu": "0.141.0", "@oxc-parser/binding-linux-x64-gnu": "0.141.0", "@oxc-parser/binding-linux-x64-musl": "0.141.0", "@oxc-parser/binding-openharmony-arm64": "0.141.0", "@oxc-parser/binding-wasm32-wasi": "0.141.0", "@oxc-parser/binding-win32-arm64-msvc": "0.141.0", "@oxc-parser/binding-win32-ia32-msvc": "0.141.0", "@oxc-parser/binding-win32-x64-msvc": "0.141.0" } }, "sha512-uFkGGr1KMWd6aWv9UAqooYrN78trw8MWWmoPvgWokfBEUq1+eiIQ+qfj3wokhy0fxtZWZk+0dHoS7/yRTJtd6w=="],
3122
3123 "@nuxtjs/i18n/oxc-transform": ["oxc-transform@0.141.0", "", { "optionalDependencies": { "@oxc-transform/binding-android-arm-eabi": "0.141.0", "@oxc-transform/binding-android-arm64": "0.141.0", "@oxc-transform/binding-darwin-arm64": "0.141.0", "@oxc-transform/binding-darwin-x64": "0.141.0", "@oxc-transform/binding-freebsd-x64": "0.141.0", "@oxc-transform/binding-linux-arm-gnueabihf": "0.141.0", "@oxc-transform/binding-linux-arm-musleabihf": "0.141.0", "@oxc-transform/binding-linux-arm64-gnu": "0.141.0", "@oxc-transform/binding-linux-arm64-musl": "0.141.0", "@oxc-transform/binding-linux-ppc64-gnu": "0.141.0", "@oxc-transform/binding-linux-riscv64-gnu": "0.141.0", "@oxc-transform/binding-linux-riscv64-musl": "0.141.0", "@oxc-transform/binding-linux-s390x-gnu": "0.141.0", "@oxc-transform/binding-linux-x64-gnu": "0.141.0", "@oxc-transform/binding-linux-x64-musl": "0.141.0", "@oxc-transform/binding-openharmony-arm64": "0.141.0", "@oxc-transform/binding-wasm32-wasi": "0.141.0", "@oxc-transform/binding-win32-arm64-msvc": "0.141.0", "@oxc-transform/binding-win32-ia32-msvc": "0.141.0", "@oxc-transform/binding-win32-x64-msvc": "0.141.0" } }, "sha512-CrMPblXfPl57WIvGjynrUThcyEGcS3E3YUHkPYAwXYYla23gLlaIYifVFTMQsFr5uxA/2k/XMG5n6c/XsuAvaQ=="],
3124
3125 "@nuxtjs/i18n/oxc-walker": ["oxc-walker@0.7.0", "", { "dependencies": { "magic-regexp": "^0.10.0" }, "peerDependencies": { "oxc-parser": ">=0.98.0" } }, "sha512-54B4KUhrzbzc4sKvKwVYm7E2PgeROpGba0/2nlNZMqfDyca+yOor5IMb4WLGBatGDT0nkzYdYuzylg7n3YfB7A=="],
3126
3127 "@nuxtjs/i18n/unhead": ["unhead@3.3.1", "", { "dependencies": { "hookable": "^6.1.1", "unplugin": "^3.3.0" }, "peerDependencies": { "vite": ">=6.4.2" }, "optionalPeers": ["vite"] }, "sha512-eqHlbLyuvIXw898WopQmosTml4PdYW5ZhXDom/sf7ysAqQB9uvYrw2/dNvbrmkJTufSkmNmgGCjoQcvoT2mS/A=="],
3128
3129 "@nuxtjs/i18n/unrouting": ["unrouting@0.2.2", "", { "dependencies": { "escape-string-regexp": "^5.0.0", "ufo": "^1.6.3" } }, "sha512-EoCab68s1o9AWFq9fjKsMEsmjKrPO11SAsvopikks2eEm/KLXgZMCof4cgpVgdy0Vz71OFBJw6DoDqu1oOSFGw=="],
3130
3131 "@octokit/plugin-paginate-rest/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="],
3132
3133 "@octokit/plugin-rest-endpoint-methods/@octokit/types": ["@octokit/types@16.0.0", "", { "dependencies": { "@octokit/openapi-types": "^27.0.0" } }, "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg=="],
3134
3135 "@octokit/request/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="],
3136
3137 "@parcel/watcher-wasm/napi-wasm": ["napi-wasm@1.1.3", "", { "bundled": true }, "sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg=="],
3138
3139 "@quansync/fs/quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="],
3140
3141 "@rollup/plugin-commonjs/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3142
3143 "@rollup/plugin-inject/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3144
3145 "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3146
3147 "@stylistic/eslint-plugin/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="],
3148
3149 "@stylistic/eslint-plugin/espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="],
3150
3151 "@tailwindcss/node/lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="],
3152
3153 "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" }, "bundled": true }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3154
3155 "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3156
3157 "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
3158
3159 "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.2.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" }, "bundled": true }, "sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw=="],
3160
3161 "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="],
3162
3163 "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
3164
3165 "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3166
3167 "@vercel/nft/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3168
3169 "@vue/compiler-core/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
3170
3171 "@vue/compiler-core/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3172
3173 "@vue/compiler-sfc/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
3174
3175 "@vue/devtools-kit/birpc": ["birpc@2.9.0", "", {}, "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw=="],
3176
3177 "@vue/devtools-kit/hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
3178
3179 "ajv-formats/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="],
3180
3181 "anymatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="],
3182
3183 "archiver/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3184
3185 "archiver/tar-stream": ["tar-stream@3.2.0", "", { "dependencies": { "b4a": "^1.6.4", "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg=="],
3186
3187 "archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
3188
3189 "archiver-utils/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
3190
3191 "archiver-utils/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3192
3193 "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="],
3194
3195 "body-parser/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="],
3196
3197 "body-parser/iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="],
3198
3199 "cheerio/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3200
3201 "cliui/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
3202
3203 "comark/entities": ["entities@8.0.0", "", {}, "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA=="],
3204
3205 "comark/htmlparser2": ["htmlparser2@12.0.0", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "domutils": "^4.0.2", "entities": "^8.0.0" } }, "sha512-Tz7u1i95/g2x2jz81+x0FBVhBhY5aRTvD3tXXdFaljuNdzDLJ8UGNRrTcj2cgQvAg3iW/h77Fz15nLW0L0CrZw=="],
3206
3207 "comark/js-yaml": ["js-yaml@5.2.3", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.mjs" } }, "sha512-n+mUVyUX5bVv7G/G2zyIHOhdxfuU1dY2NOFzTQUWiMUbFss8b57NFlgCCaggU78wSw5KVS9cllzeLyzyR+n5nw=="],
3208
3209 "compress-commons/is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
3210
3211 "compress-commons/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3212
3213 "crc32-stream/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3214
3215 "css-tree/mdn-data": ["mdn-data@2.27.1", "", {}, "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ=="],
3216
3217 "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="],
3218
3219 "escodegen/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
3220
3221 "eslint/find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
3222
3223 "eslint-flat-config-utils/@eslint/config-helpers": ["@eslint/config-helpers@0.5.5", "", { "dependencies": { "@eslint/core": "^1.2.1" } }, "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w=="],
3224
3225 "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
3226
3227 "fast-npm-meta/cac": ["cac@7.0.0", "", {}, "sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ=="],
3228
3229 "fontaine/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3230
3231 "global-directory/ini": ["ini@4.1.1", "", {}, "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g=="],
3232
3233 "globby/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3234
3235 "globby/unicorn-magic": ["unicorn-magic@0.4.0", "", {}, "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw=="],
3236
3237 "h3/cookie-es": ["cookie-es@1.2.3", "", {}, "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw=="],
3238
3239 "h3/crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="],
3240
3241 "handlebars/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
3242
3243 "hast-util-raw/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3244
3245 "hosted-git-info/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
3246
3247 "htmlparser2/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
3248
3249 "ipx/srvx": ["srvx@0.12.5", "", { "bin": { "srvx": "bin/srvx.mjs" } }, "sha512-IuvtDNQg5EIwv3c6dleyau7u8hCyGQ7D6+V/QM799Aud07z0wCUcurKLTRfyG33C8oUY+UWcVBFkfHMcbtmRLA=="],
3250
3251 "is-wsl/is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="],
3252
3253 "isomorphic-git/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3254
3255 "jsonc-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
3256
3257 "jsonc-eslint-parser/espree": ["espree@9.6.1", "", { "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } }, "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ=="],
3258
3259 "lazystream/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="],
3260
3261 "magic-regexp/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3262
3263 "make-asynchronous/type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],
3264
3265 "markdown-exit/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
3266
3267 "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3268
3269 "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="],
3270
3271 "mlly/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="],
3272
3273 "nitropack/cookie-es": ["cookie-es@2.0.1", "", {}, "sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA=="],
3274
3275 "nitropack/crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="],
3276
3277 "nitropack/dot-prop": ["dot-prop@10.2.0", "", { "dependencies": { "type-fest": "^5.0.0" } }, "sha512-BTJ9aZYL3vCfZlZOBLy9v8TUqWGQ0pzFnygKwFZt5udj6viBoFIBviKPUoZLDCPn1FoXffv6McQFDenrm5Krfw=="],
3278
3279 "nitropack/esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="],
3280
3281 "nitropack/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3282
3283 "nitropack/hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
3284
3285 "node-emoji/@sindresorhus/is": ["@sindresorhus/is@4.6.0", "", {}, "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="],
3286
3287 "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="],
3288
3289 "nuxt/@nuxt/kit": ["@nuxt/kit@4.4.8", "", { "dependencies": { "c12": "^3.3.4", "consola": "^3.4.2", "defu": "^6.1.7", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.8", "ignore": "^7.0.5", "jiti": "^2.7.0", "klona": "^2.0.6", "mlly": "^1.8.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "rc9": "^3.0.1", "scule": "^1.3.0", "semver": "^7.8.1", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "unctx": "^2.5.0", "untyped": "^2.0.0" } }, "sha512-ZUlZ5iYfyfJFDPluhn6ZxFWcsuxWbLnZBc8w3MAROcQ4lYfZ+qFpALBLSNlpc0zhOa++33EE+5PEbOAdVIY+dw=="],
3290
3291 "nuxt/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3292
3293 "nuxt/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3294
3295 "nuxt-component-meta/oxc-parser": ["oxc-parser@0.139.0", "", { "dependencies": { "@oxc-project/types": "^0.139.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.139.0", "@oxc-parser/binding-android-arm64": "0.139.0", "@oxc-parser/binding-darwin-arm64": "0.139.0", "@oxc-parser/binding-darwin-x64": "0.139.0", "@oxc-parser/binding-freebsd-x64": "0.139.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.139.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.139.0", "@oxc-parser/binding-linux-arm64-gnu": "0.139.0", "@oxc-parser/binding-linux-arm64-musl": "0.139.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.139.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.139.0", "@oxc-parser/binding-linux-riscv64-musl": "0.139.0", "@oxc-parser/binding-linux-s390x-gnu": "0.139.0", "@oxc-parser/binding-linux-x64-gnu": "0.139.0", "@oxc-parser/binding-linux-x64-musl": "0.139.0", "@oxc-parser/binding-openharmony-arm64": "0.139.0", "@oxc-parser/binding-wasm32-wasi": "0.139.0", "@oxc-parser/binding-win32-arm64-msvc": "0.139.0", "@oxc-parser/binding-win32-ia32-msvc": "0.139.0", "@oxc-parser/binding-win32-x64-msvc": "0.139.0" } }, "sha512-cf1TKZN+zc0lwqigeyXKzKVk5+vNRe99Or2+wVJsXLdlhJgC+gsIniYDfj/ZEBzCJ8Xm21ZG6YtMbR262CcS2w=="],
3296
3297 "nuxt-component-meta/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
3298
3299 "nuxt-component-meta/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3300
3301 "nuxt-og-image/magic-string": ["magic-string@1.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g=="],
3302
3303 "nuxt-og-image/oxc-parser": ["oxc-parser@0.142.0", "", { "dependencies": { "@oxc-project/types": "^0.142.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.142.0", "@oxc-parser/binding-android-arm64": "0.142.0", "@oxc-parser/binding-darwin-arm64": "0.142.0", "@oxc-parser/binding-darwin-x64": "0.142.0", "@oxc-parser/binding-freebsd-x64": "0.142.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.142.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.142.0", "@oxc-parser/binding-linux-arm64-gnu": "0.142.0", "@oxc-parser/binding-linux-arm64-musl": "0.142.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.142.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.142.0", "@oxc-parser/binding-linux-riscv64-musl": "0.142.0", "@oxc-parser/binding-linux-s390x-gnu": "0.142.0", "@oxc-parser/binding-linux-x64-gnu": "0.142.0", "@oxc-parser/binding-linux-x64-musl": "0.142.0", "@oxc-parser/binding-openharmony-arm64": "0.142.0", "@oxc-parser/binding-wasm32-wasi": "0.142.0", "@oxc-parser/binding-win32-arm64-msvc": "0.142.0", "@oxc-parser/binding-win32-ia32-msvc": "0.142.0", "@oxc-parser/binding-win32-x64-msvc": "0.142.0" } }, "sha512-kKR+jPiRJYJDexVoziIg/FVGvr1fT1FZSSJOk6tVoMKKSlsf1Cso+cgGCJkOEDWOP174vRntCPFKg+AS7InWvw=="],
3304
3305 "nuxt-og-image/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3306
3307 "nuxt-studio/@nuxtjs/mdc": ["@nuxtjs/mdc@0.21.1", "", { "dependencies": { "@nuxt/kit": "^4.4.2", "@shikijs/core": "^4.0.2", "@shikijs/engine-javascript": "^4.0.2", "@shikijs/langs": "^4.0.2", "@shikijs/themes": "^4.0.2", "@shikijs/transformers": "^4.0.2", "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", "@vue/compiler-core": "^3.5.31", "consola": "^3.4.2", "debug": "^4.4.3", "defu": "^6.1.4", "destr": "^2.0.5", "detab": "^3.0.2", "github-slugger": "^2.0.0", "hast-util-format": "^1.1.0", "hast-util-to-mdast": "^10.1.2", "hast-util-to-string": "^3.0.1", "mdast-util-to-hast": "^13.2.1", "micromark-util-sanitize-uri": "^2.0.1", "parse5": "^8.0.0", "pathe": "^2.0.3", "property-information": "^7.1.0", "rehype-external-links": "^3.0.0", "rehype-minify-whitespace": "^6.0.2", "rehype-raw": "^7.0.0", "rehype-remark": "^10.0.1", "rehype-slug": "^6.0.0", "rehype-sort-attribute-values": "^5.0.1", "rehype-sort-attributes": "^5.0.1", "remark-emoji": "^5.0.2", "remark-gfm": "^4.0.1", "remark-mdc": "^3.10.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-stringify": "^11.0.0", "scule": "^1.3.0", "shiki": "^4.0.2", "ufo": "^1.6.3", "unified": "^11.0.5", "unist-builder": "^4.0.0", "unist-util-visit": "^5.1.0", "unwasm": "^0.5.3", "vfile": "^6.0.3" } }, "sha512-DIeUD7IahWVUSoZExysxH9dX51Io6hcQYgGJODq0cMTGqaoDD32lRfHBJxYUmy+sUCV1+1hfa2ixspgJgEd2GA=="],
3308
3309 "nuxt-studio/ipx": ["ipx@3.1.1", "", { "dependencies": { "@fastify/accept-negotiator": "^2.0.1", "citty": "^0.1.6", "consola": "^3.4.2", "defu": "^6.1.4", "destr": "^2.0.5", "etag": "^1.8.1", "h3": "^1.15.3", "image-meta": "^0.2.1", "listhen": "^1.9.0", "ofetch": "^1.4.1", "pathe": "^2.0.3", "sharp": "^0.34.3", "svgo": "^4.0.0", "ufo": "^1.6.1", "unstorage": "^1.16.1", "xss": "^1.0.15" }, "bin": { "ipx": "bin/ipx.mjs" } }, "sha512-7Xnt54Dco7uYkfdAw0r2vCly3z0rSaVhEXMzPvl3FndsTVm5p26j+PO+gyinkYmcsEUvX2Rh7OGK7KzYWRu6BA=="],
3310
3311 "nuxt-studio/nuxt-component-meta": ["nuxt-component-meta@0.17.2", "", { "dependencies": { "@nuxt/kit": "^4.2.2", "citty": "^0.1.6", "mlly": "^1.8.0", "ohash": "^2.0.11", "scule": "^1.3.0", "typescript": "^5.9.3", "ufo": "^1.6.2", "vue-component-meta": "^3.2.2" }, "bin": { "nuxt-component-meta": "bin/nuxt-component-meta.mjs" } }, "sha512-2/mSSqutOX8t+r8cAX1yUYwAPBqicPO5Rfum3XaHVszxKCF4tXEXBiPGfJY9Zn69x/CIeOdw+aM9wmHzQ5Q+lA=="],
3312
3313 "nuxtseo-shared/@nuxt/devtools-kit": ["@nuxt/devtools-kit@4.0.0-alpha.7", "", { "dependencies": { "@nuxt/kit": "^4.4.6", "tinyexec": "^1.2.2" }, "peerDependencies": { "vite": ">=6.0" } }, "sha512-Tgh+tSejh1GnZjdjgWyc4qCxskeX08XuSQBYMn/4SIV5AubeqYeAOMBD2qSmHOXjMCUpgyzpEhODcP3sgdgGRA=="],
3314
3315 "nypm/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3316
3317 "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="],
3318
3319 "parse5/entities": ["entities@8.0.0", "", {}, "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA=="],
3320
3321 "parse5-htmlparser2-tree-adapter/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3322
3323 "parse5-parser-stream/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
3324
3325 "path-scurry/lru-cache": ["lru-cache@11.5.2", "", {}, "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g=="],
3326
3327 "playground/docus": ["docus@5.12.3", "", { "dependencies": { "@ai-sdk/gateway": "^3.0.133", "@ai-sdk/mcp": "^1.0.52", "@ai-sdk/vue": "^3.0.208", "@comark/vue": "^0.4.0", "@iconify-json/lucide": "^1.2.114", "@iconify-json/simple-icons": "^1.2.87", "@iconify-json/vscode-icons": "^1.2.59", "@nuxt/content": "^3.14.0", "@nuxt/image": "^2.0.0", "@nuxt/kit": "^4.4.8", "@nuxt/ui": "^4.9.0", "@nuxtjs/i18n": "^10.4.0", "@nuxtjs/mcp-toolkit": "^0.17.2", "@nuxtjs/mdc": "^0.22.0", "@nuxtjs/robots": "^6.1.1", "@shikijs/core": "^4.2.0", "@shikijs/engine-javascript": "^4.2.0", "@shikijs/langs": "^4.2.0", "@shikijs/stream": "^4.2.0", "@shikijs/themes": "^4.2.0", "@takumi-rs/core": "^1.8.7", "@vueuse/core": "^14.3.0", "ai": "^6.0.208", "defu": "^6.1.7", "exsolve": "^1.1.0", "git-url-parse": "^16.1.0", "motion-v": "^2.3.0", "nuxt-llms": "^0.2.0", "nuxt-og-image": "~6.6.0", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "scule": "^1.3.0", "tailwindcss": "^4.3.1", "ufo": "^1.6.4", "yaml": "^2.9.0", "zod": "^4.4.3", "zod-to-json-schema": "^3.25.2" }, "peerDependencies": { "better-sqlite3": "12.x", "nuxt": "4.x" } }, "sha512-v5CF/Ta3+aAzuUKwPsFwSSCACXh9QRWbBZENwUyheajATnPrSnql+oHbDzANM+GBwDvmPpCBhzHsjKrdZZR0cw=="],
3328
3329 "proper-lockfile/retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="],
3330
3331 "proper-lockfile/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="],
3332
3333 "raw-body/iconv-lite": ["iconv-lite@0.7.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ=="],
3334
3335 "rc/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="],
3336
3337 "readdir-glob/minimatch": ["minimatch@5.1.9", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw=="],
3338
3339 "release-it/c12": ["c12@3.3.3", "", { "dependencies": { "chokidar": "^5.0.0", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^17.2.3", "exsolve": "^1.0.8", "giget": "^2.0.0", "jiti": "^2.6.1", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^2.0.0", "pkg-types": "^2.3.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "*" }, "optionalPeers": ["magicast"] }, "sha512-750hTRvgBy5kcMNPdh95Qo+XUBeGo8C7nsKSmedDmaQI+E0r82DwHeM6vBewDe4rGFbnxoa4V9pw+sPh5+Iz8Q=="],
3340
3341 "release-it/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="],
3342
3343 "release-it/tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
3344
3345 "restore-cursor/onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="],
3346
3347 "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
3348
3349 "spdx-correct/spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="],
3350
3351 "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
3352
3353 "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
3354
3355 "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
3356
3357 "svgo/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="],
3358
3359 "tar/chownr": ["chownr@3.0.0", "", {}, "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g=="],
3360
3361 "terser/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="],
3362
3363 "tsup/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
3364
3365 "tsx/esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="],
3366
3367 "type-is/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="],
3368
3369 "unconfig/quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="],
3370
3371 "unconfig-core/quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="],
3372
3373 "unctx/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="],
3374
3375 "unimport/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3376
3377 "unimport/magic-string": ["magic-string@1.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g=="],
3378
3379 "unplugin-auto-import/magic-string": ["magic-string@1.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-kS3VHe0nEPST2saQV4Rbkchcd3UBRkVTQHo1D3h/ZTwFDhai/mfKkmtPAtD129EOI7K3HlHIsFOt0WrI2/oU9g=="],
3380
3381 "unrouting/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3382
3383 "unstorage/lru-cache": ["lru-cache@11.5.2", "", {}, "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g=="],
3384
3385 "untyped/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
3386
3387 "validate-npm-package-license/spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="],
3388
3389 "vaul-vue/@vueuse/core": ["@vueuse/core@10.11.1", "", { "dependencies": { "@types/web-bluetooth": "^0.0.20", "@vueuse/metadata": "10.11.1", "@vueuse/shared": "10.11.1", "vue-demi": ">=0.14.8" } }, "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww=="],
3390
3391 "vite/esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="],
3392
3393 "vite-plugin-checker/npm-run-path": ["npm-run-path@6.0.0", "", { "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" } }, "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA=="],
3394
3395 "vite-plugin-inspect/error-stack-parser-es": ["error-stack-parser-es@1.0.5", "", {}, "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA=="],
3396
3397 "vue-i18n/@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="],
3398
3399 "windows-release/powershell-utils": ["powershell-utils@0.2.0", "", {}, "sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw=="],
3400
3401 "wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
3402
3403 "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
3404
3405 "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
3406
3407 "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
3408
3409 "wsl-utils/is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="],
3410
3411 "xss/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="],
3412
3413 "yaml-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
3414
3415 "youch-core/error-stack-parser-es": ["error-stack-parser-es@1.0.5", "", {}, "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA=="],
3416
3417 "zip-stream/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
3418
3419 "@babel/generator/@babel/types/@babel/helper-string-parser": ["@babel/helper-string-parser@8.0.0", "", {}, "sha512-6mJgmFFFIIO82vvoLt9XtRC7/TkzXfts1t/SpRX4IHSzMgqoPYCWesVu1udUPUWioAE/2fcG6WuI8zrkE1gwrg=="],
3420
3421 "@babel/generator/@babel/types/@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@8.0.4", "", {}, "sha512-4wFaiLd0bVo4cIoTXI3zKI038NIWE/cr3jvBjejOVYVxV/m8Ltav1USiGzG1fmS5J2RhgEOgXNNK46cRPnRsrg=="],
3422
3423 "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
3424
3425 "@iconify/utils/@antfu/install-pkg/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3426
3427 "@img/sharp-freebsd-wasm32/@img/sharp-wasm32/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3428
3429 "@img/sharp-webcontainers-wasm32/@img/sharp-wasm32/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3430
3431 "@intlify/bundle-utils/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
3432
3433 "@intlify/bundle-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="],
3434
3435 "@intlify/bundle-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="],
3436
3437 "@intlify/bundle-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="],
3438
3439 "@intlify/bundle-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="],
3440
3441 "@intlify/bundle-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="],
3442
3443 "@intlify/bundle-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="],
3444
3445 "@intlify/bundle-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="],
3446
3447 "@intlify/bundle-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="],
3448
3449 "@intlify/bundle-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="],
3450
3451 "@intlify/bundle-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="],
3452
3453 "@intlify/bundle-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="],
3454
3455 "@intlify/bundle-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="],
3456
3457 "@intlify/bundle-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="],
3458
3459 "@intlify/bundle-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="],
3460
3461 "@intlify/bundle-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="],
3462
3463 "@intlify/bundle-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="],
3464
3465 "@intlify/bundle-utils/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="],
3466
3467 "@intlify/bundle-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="],
3468
3469 "@intlify/bundle-utils/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="],
3470
3471 "@intlify/bundle-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="],
3472
3473 "@intlify/bundle-utils/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="],
3474
3475 "@intlify/bundle-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="],
3476
3477 "@intlify/bundle-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="],
3478
3479 "@intlify/bundle-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="],
3480
3481 "@intlify/bundle-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="],
3482
3483 "@intlify/vue-i18n-extensions/vue-i18n/@intlify/core-base": ["@intlify/core-base@10.0.8", "", { "dependencies": { "@intlify/message-compiler": "10.0.8", "@intlify/shared": "10.0.8" } }, "sha512-FoHslNWSoHjdUBLy35bpm9PV/0LVI/DSv9L6Km6J2ad8r/mm0VaGg06C40FqlE8u2ADcGUM60lyoU7Myo4WNZQ=="],
3484
3485 "@intlify/vue-i18n-extensions/vue-i18n/@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="],
3486
3487 "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
3488
3489 "@mapbox/node-pre-gyp/https-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
3490
3491 "@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
3492
3493 "@nuxt/devtools/which/isexe": ["isexe@4.0.0", "", {}, "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw=="],
3494
3495 "@nuxt/nitro-server/@nuxt/kit/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3496
3497 "@nuxt/vite-builder/@nuxt/kit/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="],
3498
3499 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.141.0", "", { "os": "android", "cpu": "arm" }, "sha512-jk7086MFvR/T4DG9IY7MKBVt1PMxvSZoz/TvnifodvS0pjghVwJHRttnAExhlwdMOgHv1TmLdENnbNpYk2zjvA=="],
3500
3501 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.141.0", "", { "os": "android", "cpu": "arm64" }, "sha512-a4XDQ27ZT7e7zwAlxJDTiCA7IBGWDuy2+MhFq85Of7XlBSmpkfcBFml11q0Zx6f7RMuI0B4xCtt2ytBS4yOptg=="],
3502
3503 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.141.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-m/kVk6rzYmBeHYnz+1Y5fod00AVTTxMbC71azFfm/zjx1j9XxwKtA0+VfkKuVMC8rbghb9TtfevnuWZa9OuPEg=="],
3504
3505 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.141.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-o0X+6KZlfucWU/v5oKRQPwdFXsXAjW8jmpo/Gpw/qyKsbKtlfkHoeH9Bjp/m13TwjewvJnCkwF0DWzgpC4HjTQ=="],
3506
3507 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.141.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-W5KbTnNkTMMMylqj6dYqnsXvkmESVPodPKYLJ5zdzIPdl9fUJtolkpUeSzYEbGGYB4a4A4avl3EePnZ/wLIdJg=="],
3508
3509 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-g3dtbJa8zeOGK36Sr9cQavsdi5H/ie2hVjrSjIxsNAR1qZA40ZYVXnfdfoMAlq8CmB9qFL1yhsSCUHeNmdmt8w=="],
3510
3511 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-e6hwQqd+3lvP13G2jxvFpoA7dzHcFLN+Mq47JCVMtdNHbbyBRo756JCtbbJH6ca8inTfyqZoqBmS3vhQlzAK2w=="],
3512
3513 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-vXz2BLAuypA+4MLyBg94pzEo6THVnzYnCtAjXoihIIQo0t2pnp/AmW+SH1EI+4VbuJnC//KplIJ5yyaCGua4jA=="],
3514
3515 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-jMkS/EztNW34HKsXIaT/SoHcmtocq/vWhwFOVduF9kduuuRIVwfwQ6uxzIO+qPKSXdd2TXt54of0BJ2zFMXnmw=="],
3516
3517 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.141.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-vo+MR+n3zQJ6Mq92hiP084NZcgDv5iJlVR02gMf28neMvVT1tKVm7VeiW/DxhdqOi3QLeaXIk9cUcLL1qrkngw=="],
3518
3519 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-oh80w+7RuiO5gBp9Jnoa/H8Qlt3JsHL2MkW+0dwEdlDMdslVZX/YsekSK6EeyEenY66/mhCfypsNATQ7Ph3qlQ=="],
3520
3521 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-LOyEmFA8sCnYbEXP1+iQvCC/P1YXHMA/t6x1Ksp0Y9VwhLFsiBJFzV1zIxrOIE2LKaGGhDjQ29xq9cbq6omDXA=="],
3522
3523 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.141.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-3wnwk/l1CvszVE5TJR1wSl/zSEfydRqrNhn6s7Vr9IzSJpUQIroqVsIoPARHRFA+FQwkxAFDAHDAasa7v8OobQ=="],
3524
3525 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-qtyQVAAebFq57B2tifTlel3TgGqUtsYNI/e+p6aya9rN9lOZVTDvr215fGYSA9XWooxzMxDiVxkBLk2jQHbsOQ=="],
3526
3527 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-SkGV1nKw40roEc94pv5EaaeH2ay14G6+roe8Q0wIUC1LcEKxzKW921h7+ZuZX0D3q2Mb/7aSFmxEVqnko3lPRw=="],
3528
3529 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.141.0", "", { "os": "none", "cpu": "arm64" }, "sha512-cVgDM7n8QziQqOaP5hNgUYfMG7S/ZeuPxFWXnnHRv7rh025COk0rfQ6eEdKG3j/GaUuyvNZN4ifF1J8KmuXLLA=="],
3530
3531 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.141.0", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-HggH++Fkn3OilBn+bs3jpgIFQa34oMAyUUHy0vpGum+gt1Eb5nyLc8dNU/RAPSw6lsLrx7ncKtHSZE+3Sp0l2g=="],
3532
3533 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.141.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-KLSEH9GwgbrqbJOjtGHt9STw96s+78yDzp7IDN8Lno+7Ut9sNBfZ4jYZIz4mD50qmWUjoOI7i9I6UENbhNbMZQ=="],
3534
3535 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.141.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-9UVWUOOCI/1YkiSSNjg2zyBJYM9E/t1A/8GNobd48JDn/fQ6mzxcVO3H08jb3rAaW/B1VBf8eCORTvSsO9T08g=="],
3536
3537 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.141.0", "", { "os": "win32", "cpu": "x64" }, "sha512-HI/wsvbWT5RHHw5c37D0fEgeTd8/1Q4OJs5jUmEBc17VZFG6SsCIe4barq7NsAPPks/JW+3ayi3Rp+PQI5h4Kg=="],
3538
3539 "@nuxtjs/i18n/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.141.0", "", {}, "sha512-S4as7z0j0xQkXcJlyY5ehntwK8/wRkQb9Cyqw+J/N2rkWGQGK0SxD6X6DhQTc7qsxVTBxXbxZtBJh3mr3PtIzQ=="],
3540
3541 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-android-arm-eabi": ["@oxc-transform/binding-android-arm-eabi@0.141.0", "", { "os": "android", "cpu": "arm" }, "sha512-FOdseb5KpV3JtkM+7TN4u3sW3aQkUSRy0bWWiKgT/qrIGqZHqzKEUpwaMybutsfwEglWBXuJgnrT9loWisPkrw=="],
3542
3543 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-android-arm64": ["@oxc-transform/binding-android-arm64@0.141.0", "", { "os": "android", "cpu": "arm64" }, "sha512-jglqGwEnSuldt1nfFSpDBHQZ/RzjCjWQEMDatPOEOWIA0ZCCYFj/9ILUOTVllZz79FI9/c0p/bctVVlQqQxxYg=="],
3544
3545 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-darwin-arm64": ["@oxc-transform/binding-darwin-arm64@0.141.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-81jBeodJH0IRJ3/OnAgW2lBPm/kcoz603d8eGnnwgW2HbxAUs8rfw+YWaKLrWaKjT0oSIPOrGMJu9DeaKD68sQ=="],
3546
3547 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-darwin-x64": ["@oxc-transform/binding-darwin-x64@0.141.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-o2jD9E7CyPxhb3CuYbaYsnFH0Mo1hKa2R+Hfo6xJxOlyfcM8U4R73W3YXb9w6lRPUc0PBFUbCmJjtGR/k5SIYA=="],
3548
3549 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-freebsd-x64": ["@oxc-transform/binding-freebsd-x64@0.141.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-DNF+Of7nckfwqu9fZin4vR8bGmF/3sWPvtw9Jc4cjeQoRB9vUuC6w9C/GxW+0Vr+PCH+gk4tR4Ygvjfx3LYOzQ=="],
3550
3551 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm-gnueabihf": ["@oxc-transform/binding-linux-arm-gnueabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-nolqi5WqP68qVQJdnPFCF50JT5KzqlcpvwGFyIV+IRCLcv5Hh11gIu4InMs3Uswcf0BJnV/oLIjzb7Sycd3zJg=="],
3552
3553 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm-musleabihf": ["@oxc-transform/binding-linux-arm-musleabihf@0.141.0", "", { "os": "linux", "cpu": "arm" }, "sha512-ytbO89DQl6KxjKCRlyCEtABgfs8njm623ambDkZZBer5J9dbTwbaV5hseZsPkVzZPxwXobu43/XS0jVZnrmCTA=="],
3554
3555 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm64-gnu": ["@oxc-transform/binding-linux-arm64-gnu@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Tjj3pobBAzbzUJE8ljbS61om6yfVnarSZzS8LaFCSn0rB+hs0IZRE3jC9IzpsVPHSoJl4uhbIGebuDY2G3B6gg=="],
3556
3557 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-arm64-musl": ["@oxc-transform/binding-linux-arm64-musl@0.141.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-aUUptri02E4nqkUvyA+2oYkmU20pYnHIpNLPZOgom0kAa0Fx9X6QFKqKm1MopyucWolQ9XTgCK2PrupSSBdCdQ=="],
3558
3559 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-ppc64-gnu": ["@oxc-transform/binding-linux-ppc64-gnu@0.141.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-d28AT+SfcAYFnulI2C8HJ5OeoUa5w+eMpwy0uMzbU/3zXJpFjjFOvJlEL8FNvx7HBEENj5IfgD+aXdNzEEn1Tg=="],
3560
3561 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-riscv64-gnu": ["@oxc-transform/binding-linux-riscv64-gnu@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-P6XVhw+MJsjeliWJ6BBKdC0HU1VEiwMRHtqUADK+jK5wiqgzt3/JhIcMuRLzBPYfnOujLpe+fm63yEzKUIAcSA=="],
3562
3563 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-riscv64-musl": ["@oxc-transform/binding-linux-riscv64-musl@0.141.0", "", { "os": "linux", "cpu": "none" }, "sha512-6QUicErqoLpCVsXPYI+OEYJ95TjiV+trvX9VeCuyVcyL5p0Opi7DFQL2c1DcGHi1c9cqz1h09mUKCZ7Y52kxfw=="],
3564
3565 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-s390x-gnu": ["@oxc-transform/binding-linux-s390x-gnu@0.141.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-r2Jk0vfcnHnkPOjLnWvpGVTFcYDirGICBJYraCkWeplhPZ2Sgg9GvDVgah9VFOHRZVtK6XQynELP9A8EB/Ne0Q=="],
3566
3567 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-x64-gnu": ["@oxc-transform/binding-linux-x64-gnu@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-lIsdGq4LA1IlbrZlmrhP/p0pCo4+5jrAlLp9BMzIHaV4mILBSr+ZtuTDkML4117cLHdzoWOqw0s3Rb7igOWtxw=="],
3568
3569 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-linux-x64-musl": ["@oxc-transform/binding-linux-x64-musl@0.141.0", "", { "os": "linux", "cpu": "x64" }, "sha512-y+9FbVRBhUtHBVn0xHiVcaNHkoRudIhlKhRk1+CclE1uGD6af3xznTjCOrKGB7HZ2SzlCWLZwQGm/KERpUjX1w=="],
3570
3571 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-openharmony-arm64": ["@oxc-transform/binding-openharmony-arm64@0.141.0", "", { "os": "none", "cpu": "arm64" }, "sha512-Ul5Fu6zPL7kjTbtBU30HaRFHPL3bjjpdieHmAXJlJDuFukuOXqVD6dS70b314IjFy/rbqkD8OK4MQ4408eEjyg=="],
3572
3573 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi": ["@oxc-transform/binding-wasm32-wasi@0.141.0", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-GaQJvcyFJyle5lll67+iYAgv+G21bQXvWPNhD6YIYoR/bV8kS0Qm8YSL22Y/YZC/8RwsneVFWpP2y6VZJfcM/g=="],
3574
3575 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-win32-arm64-msvc": ["@oxc-transform/binding-win32-arm64-msvc@0.141.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Fbi/hC64tNa56mXEitjaWsxQoMvtJDbOe2MxO+BA1v1Ev28L9n1yMJwhKyOCA+Rm8lYK91oOb5CRv3Ct5RuvJA=="],
3576
3577 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-win32-ia32-msvc": ["@oxc-transform/binding-win32-ia32-msvc@0.141.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-2HlslqwOXQ2nxAZjhqZIpvPxENhQGvA6b4cGwmiVD6Uh5x+dZAopOeEJRxRPpKcrr/W5KXfwwbttwx4OWbg9TA=="],
3578
3579 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-win32-x64-msvc": ["@oxc-transform/binding-win32-x64-msvc@0.141.0", "", { "os": "win32", "cpu": "x64" }, "sha512-JEgTv+y56FbwinH1/kqpNyD+bWRWDpbbPdSY7Ta7rCKFiRsYkUHZd1v+XWxda08cS8GAmlKS4WKcVwtrAbDUHA=="],
3580
3581 "@nuxtjs/i18n/unrouting/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
3582
3583 "@octokit/plugin-paginate-rest/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="],
3584
3585 "@octokit/plugin-rest-endpoint-methods/@octokit/types/@octokit/openapi-types": ["@octokit/openapi-types@27.0.0", "", {}, "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA=="],
3586
3587 "@tailwindcss/node/lightningcss/lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="],
3588
3589 "@tailwindcss/node/lightningcss/lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="],
3590
3591 "@tailwindcss/node/lightningcss/lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="],
3592
3593 "@tailwindcss/node/lightningcss/lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="],
3594
3595 "@tailwindcss/node/lightningcss/lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="],
3596
3597 "@tailwindcss/node/lightningcss/lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="],
3598
3599 "@tailwindcss/node/lightningcss/lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="],
3600
3601 "@tailwindcss/node/lightningcss/lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="],
3602
3603 "@tailwindcss/node/lightningcss/lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="],
3604
3605 "@tailwindcss/node/lightningcss/lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="],
3606
3607 "@tailwindcss/node/lightningcss/lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="],
3608
3609 "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
3610
3611 "archiver-utils/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="],
3612
3613 "archiver-utils/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
3614
3615 "cheerio/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3616
3617 "comark/htmlparser2/domelementtype": ["domelementtype@3.0.0", "", {}, "sha512-umCQid3jKbDmVjx8jGaW7uUykm4DEUeyV21hPxNMo2nV955DhUThwqyOIDtreepP31hl84X7G5U9ZfsWvIB3Pg=="],
3618
3619 "comark/htmlparser2/domhandler": ["domhandler@6.0.1", "", { "dependencies": { "domelementtype": "^3.0.0" } }, "sha512-gYzvtM72ZtxQO0T048kd6HWSbbGCNOUwcnfQ01cqIJ4X2IYKFFHZ5mKvrQETcFXxsRObZulDaKmy//R7TPtsBg=="],
3620
3621 "comark/htmlparser2/domutils": ["domutils@4.0.2", "", { "dependencies": { "dom-serializer": "^3.0.0", "domelementtype": "^3.0.0", "domhandler": "^6.0.0" } }, "sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA=="],
3622
3623 "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="],
3624
3625 "eslint/find-up/locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="],
3626
3627 "hast-util-raw/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3628
3629 "lazystream/readable-stream/isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="],
3630
3631 "lazystream/readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="],
3632
3633 "lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="],
3634
3635 "mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="],
3636
3637 "nitropack/dot-prop/type-fest": ["type-fest@5.8.0", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA=="],
3638
3639 "nitropack/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ=="],
3640
3641 "nitropack/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.28.1", "", { "os": "android", "cpu": "arm" }, "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ=="],
3642
3643 "nitropack/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.1", "", { "os": "android", "cpu": "arm64" }, "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg=="],
3644
3645 "nitropack/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.28.1", "", { "os": "android", "cpu": "x64" }, "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng=="],
3646
3647 "nitropack/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q=="],
3648
3649 "nitropack/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ=="],
3650
3651 "nitropack/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw=="],
3652
3653 "nitropack/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ=="],
3654
3655 "nitropack/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.1", "", { "os": "linux", "cpu": "arm" }, "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ=="],
3656
3657 "nitropack/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g=="],
3658
3659 "nitropack/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w=="],
3660
3661 "nitropack/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg=="],
3662
3663 "nitropack/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ=="],
3664
3665 "nitropack/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ=="],
3666
3667 "nitropack/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ=="],
3668
3669 "nitropack/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag=="],
3670
3671 "nitropack/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.1", "", { "os": "linux", "cpu": "x64" }, "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA=="],
3672
3673 "nitropack/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw=="],
3674
3675 "nitropack/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.1", "", { "os": "none", "cpu": "x64" }, "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg=="],
3676
3677 "nitropack/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q=="],
3678
3679 "nitropack/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw=="],
3680
3681 "nitropack/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg=="],
3682
3683 "nitropack/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ=="],
3684
3685 "nitropack/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA=="],
3686
3687 "nitropack/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg=="],
3688
3689 "nitropack/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.1", "", { "os": "win32", "cpu": "x64" }, "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A=="],
3690
3691 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.139.0", "", { "os": "android", "cpu": "arm" }, "sha512-22EsXTA3Vc7OvrF4bfT48PFln2UbxkVgrp/Tm32qLw76Dv7SmcInfClJe6yPYamnli6HiqasnESZ5ezN+X4ybg=="],
3692
3693 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.139.0", "", { "os": "android", "cpu": "arm64" }, "sha512-uASQkZV+CUQ6xXvoMzDQyfhd8OMusdv2FyCPfAi5ZDYptesapJlw7erhpGi1Lc+U8QjQV2JUrIh7d/3su2LzmQ=="],
3694
3695 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.139.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-vuQOv2WF5pZCkdSPEExul98o853M3MCR24DpWsGrUoPJu5KcnGE34kLXY2yFwBwZwT+eN1x40Tt4q6ZzlEdNUA=="],
3696
3697 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.139.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-zxZB8ChS+7XactZhcyxQ292P/DNiiBaPPKYiVUlb3RC0V/hme5bokNubjcmEmbW9uTfmqLTpveAdkbe66H3pGg=="],
3698
3699 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.139.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-iw2MsoCPBQwdJqywRAGsF1jEAcGoZ+DeG2LVzt5pdUvRHqajsMF46BH0rHiWoWtMwcMSia+oQYga7fHo7u7Bcw=="],
3700
3701 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.139.0", "", { "os": "linux", "cpu": "arm" }, "sha512-SwjD/k3Y5bwGJWOH313VyaDrAuaYg1Pe+4AAXCgUKvSO5IHkj+mZ0oFcOWmB5nTuOM3uwdT+leL8h4OnFlI5hw=="],
3702
3703 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.139.0", "", { "os": "linux", "cpu": "arm" }, "sha512-qbeygDkcvailKFhphb2YGMMXsaZIynHlPtoOrcx4NZB/tRbUKraCCMbw8dPeFtEKasfS2qWh1VnReY+Lcys1zA=="],
3704
3705 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.139.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-SrlL02KeImKlvx/9rCeopOLH7qKI3rqKKEguK6KBwVwEGLhV/A47dW4DNigf6/LFhrwoovaiayEQryjYAI86dQ=="],
3706
3707 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.139.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-u9e884ChAVRmIZ1jr/m46S96FoDQnruFjISLi4Y0i6Wu/JUUmIiw7+umLyXILJsPfUuqnN5BJLe23t07+Y6+IA=="],
3708
3709 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.139.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Z9tU2b3GJfAXOdirQmz4gZQkQkVjy53i77gf91l0733MQKa/qtk73KQQE2GzDtMqim+HyjpzvemmqzBtH2IJUA=="],
3710
3711 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.139.0", "", { "os": "linux", "cpu": "none" }, "sha512-RyUbr7hzPK84YDWKs77PRYk9VBwWbsbuYsQzQWiSmLnARXTg2zntLPGfCH/1wpfUYdmGkp/6SsqTXSsYdw9Jgw=="],
3712
3713 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.139.0", "", { "os": "linux", "cpu": "none" }, "sha512-dcQhjtcDvtR8BgkUpt03Yz5SzxdzYvTigenIJOEsiSX6G2t6yybEMxGWjp0dOuYGror0BaqcZfTyXR58amCEig=="],
3714
3715 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.139.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-iuGrxysV4rGUymdKpn7bgZQ6Vix8Bi/6D/rp71HYIzphq6NKrsBhsGOYsSZte+uBFL43tXh7Xr7TM72sGliJNA=="],
3716
3717 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.139.0", "", { "os": "linux", "cpu": "x64" }, "sha512-NxJdZZyaa2JLLvNfH/iJQXfCNfKcPMylwY4ObMpBVmW4Nq+RyUpVVQXrMMelcQ6rwx3nuhF1Iga8n+eoAKGCIA=="],
3718
3719 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.139.0", "", { "os": "linux", "cpu": "x64" }, "sha512-ePxBvvtzISmSsJ0RIj8FNikSCn58i1jtccj7XR4U9Li4iSzhkFyYlnJ51cQTUwkairz8WMTD4SpKoot8RyTnQA=="],
3720
3721 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.139.0", "", { "os": "none", "cpu": "arm64" }, "sha512-b/c2+mPXMOxG5x16n8yf9cjor/ntQQScmYnSmLEWIWJ4rfXd5dokMxx0kliSLA+YAGq6DD3K9BWi+aFXHiiV1w=="],
3722
3723 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.139.0", "", { "dependencies": { "@emnapi/core": "1.11.1", "@emnapi/runtime": "1.11.1", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-rNU0pO+/CVPC2qZ+xtX5R2cOje9Q75q3UkfgwUCPlplqxMv6Iffd5tMPGVMCLGnPINxPlmi0WPsW94HltbYvfQ=="],
3724
3725 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.139.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-JPEmfncZfqAFiGsAN6UZSMIBqnG8wn8buywRacFOWjP+9dZwcs03SsBp4tmyjM/4l/VoH/IuThrW1Jof3OyQUw=="],
3726
3727 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.139.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-c06dWBwEnFHof5JN7T9/ts23uATXS9czPEBO60d4xnjH2Am29Bo7OGKdVHRmcWQnw0OBxlTg9fIEXAvtcwOBfw=="],
3728
3729 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.139.0", "", { "os": "win32", "cpu": "x64" }, "sha512-bI3/44urQjW/D495JPXe+c9d+4Q+ONi3DvDNnzwRZYTWHZ3hAlFdmirYK4mzhTfCZiAly02EbMYir7QGU+9O2Q=="],
3730
3731 "nuxt-component-meta/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.139.0", "", {}, "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw=="],
3732
3733 "nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.142.0", "", { "os": "android", "cpu": "arm" }, "sha512-ZiRGDutGsv1G6bL/ozy/koC0Sv39T1DqyoC4KD1DOy9ZoACm1O5UWhEK2c02Qdk+4lfLVkvFa/mQ0fm/4h1BtQ=="],
3734
3735 "nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.142.0", "", { "os": "android", "cpu": "arm64" }, "sha512-WZkvGRLNQTz8lR9zP5nLjUdlroRCopBu3g9zF1p/laE6DzT1UbQo8Rdz5MWhaJUPYg/6gp+jo7HUgsyKaN1FtQ=="],
3736
3737 "nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.142.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-l4khS8LQOOVYsGRVARo1gSaCT/aBSceUVXgtovWc2+drnxVuDr082WA3OCHVdVzIz5JIrP/y9CWsSKxBDNmYGg=="],
3738
3739 "nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.142.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-QBsNF3nqlXmcH2B1YOPqQYmCJoy4HuIjUxGbBO/k5JAJUl68ghU2psRY2zPk+RyBaWqKP/qfL4oaFgEMCdwskA=="],
3740
3741 "nuxt-og-image/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.142.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-b7Q7m4Cqc6XqNhri3R+QhU+GVy646Pn+bkdhrDdWym/Fdi0ZUa+d73H9dm5H91JtbtAQ/z1d8XKMW3oOV8a4tQ=="],
3742
3743 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.142.0", "", { "os": "linux", "cpu": "arm" }, "sha512-3riVS5IhdH3uCZj1Y9ftDQlR0dvLsIlw/edrRqk8JhgNd5K0XSs+UBtgh50N13CAlW9/TXj6sVGXaKNBocd0Yg=="],
3744
3745 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.142.0", "", { "os": "linux", "cpu": "arm" }, "sha512-NmXUOpgpTSkhl795TiXmWppTwmSJ92RC1qvD6e4XOF+slgmo3e6Ah+kEu+6AN8s7NAOEwqGmir58MgSQSWmBSA=="],
3746
3747 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.142.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-gc0EXsKtXgerujmU2Bql3u1L1HsSQ2774R83idq/FoNMPVV/RY/1ErFsvnit7KoiP/sLvzQixeUo4Ut0ic0wmw=="],
3748
3749 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.142.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-F2XvmWSE0uWpie+jHKKIFgdVOe9ypGhkEZxKx5DuW215K6cbAC274yYaPkcM7EqY4Df3Weyhpcz3lsURyH2LVg=="],
3750
3751 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.142.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-wLMbT21U/QxknQsk+VvNF0b9D2/aGWhcaQQQ+VYlE8FwD5+GoWZIPPXNzyHmkYyhm0KB3itL+TBavjMatqNnYA=="],
3752
3753 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.142.0", "", { "os": "linux", "cpu": "none" }, "sha512-+G8F/4ckwT7FCJV4H2bt09xEzJbjNCfuL4Sp1AYNaFtFMVtgIGMuJlteT82U+K0UIZ/DzAR/LDlMFnEuajG7Kw=="],
3754
3755 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.142.0", "", { "os": "linux", "cpu": "none" }, "sha512-hTsHtTLxMAfCo+rpF5K3qZJKW2NpPN/CHd4mYB3y7XlSdspHkd2gehDIofP64AacA9nWQw2tY3O7wR6UY8IVOA=="],
3756
3757 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.142.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-6y7qYY3TCUDYjqswImdTGl92y+KA/80twALegQPN27kfY+bG7Ib1+L3jbmrCZQx6wrVnai9IPsEZp07I0hx7JQ=="],
3758
3759 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.142.0", "", { "os": "linux", "cpu": "x64" }, "sha512-i69kAWU+2LgoH5bR+zWiiu+UzAw7Oxkwv7COeJTeY19pn4e70nKQcr9Pm6cL2Z0Z54d+gl9qADlK/0yyuCPiBA=="],
3760
3761 "nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.142.0", "", { "os": "linux", "cpu": "x64" }, "sha512-4SQs678MmjYVrmhAgCWD4o0vpaFszXw9xLX5p2Z9MMFcltxiLkA88wQjh80YHjPrXtpyZ2CWI5m+1yNKM0m2Pw=="],
3762
3763 "nuxt-og-image/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.142.0", "", { "os": "none", "cpu": "arm64" }, "sha512-YHpx9N7Ln3a++Tc8rv+H7mrK1zyJQOAwCFg8LZ3lTs1T5afGWeZrLPhPT9HLnIwSjCyJqPWVMIrMxbjcmBr2oQ=="],
3764
3765 "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.142.0", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" }, "cpu": "none" }, "sha512-3pLDyY3+oogW73RM5uehNgAiR/Xfb7fvO2Q1Z1gIqZ2+50XDVQmBVlRkHXZTU4gKnQHpwETNsYQVsJ3joVB2iA=="],
3766
3767 "nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.142.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Had/VeVY28Oyb0K+Q4FV8KCzoBycIh93oDK6pCbya9lkzdq+ikMHMgBubsdqqlybjJmQRawCQRrnBRHyQwYvcQ=="],
3768
3769 "nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.142.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-GGi3+YphVHavvgs6gum2UXoNCqzHAmPt/nXkn8ZQZstV2Q1qZD1Mn8fz/nWrDkefHQtrG/+1/XrbMxsBTo6Svw=="],
3770
3771 "nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.142.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Ny/Wv4Us1LGC/ljwNTp+Hx3r/pH15EFfeDF0p+n898gt+TtRd6C9SccHcuUhDiNTb8s5tt7jdeAMDRQZ4Vq6hg=="],
3772
3773 "nuxt-og-image/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.142.0", "", {}, "sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ=="],
3774
3775 "nuxt-studio/ipx/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
3776
3777 "nuxt-studio/ipx/sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="],
3778
3779 "nuxt-studio/nuxt-component-meta/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
3780
3781 "nuxt-studio/nuxt-component-meta/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
3782
3783 "nuxtseo-shared/@nuxt/devtools-kit/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
3784
3785 "parse5-htmlparser2-tree-adapter/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3786
3787 "parse5-parser-stream/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
3788
3789 "playground/docus/@ai-sdk/mcp": ["@ai-sdk/mcp@1.0.67", "", { "dependencies": { "@ai-sdk/provider": "3.0.14", "@ai-sdk/provider-utils": "4.0.42", "pkce-challenge": "^5.0.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-jqYmZT2+YBIfMH0+iU2qMtPAM6MrJ+m2NoX0PB76Kx5ymG59R/7JK6hzTm6PURYwXr3tnvmii/g2ztosGNH8Kg=="],
3790
3791 "playground/docus/@comark/vue": ["@comark/vue@0.4.0", "", { "dependencies": { "comark": "^0.4.0" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.16.45", "shiki": "^4.0.0", "vue": "^3.5.0" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-1o4BBBzVIcxCsPOfWUzcYqdnSSI+bCyldxzlrbATc5U+s40Hm+ls7UppYAHPyOqUQPpMZy2vbvD4ESe+PD5lgg=="],
3792
3793 "playground/docus/@nuxtjs/mcp-toolkit": ["@nuxtjs/mcp-toolkit@0.17.2", "", { "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", "@nuxt/kit": "^4.4.6", "@vitejs/plugin-vue": "^6.0.7", "tinyglobby": "^0.2.16", "vite-plugin-singlefile": "^2.3.3" }, "peerDependencies": { "@vue/compiler-sfc": "^3.5.34", "agents": ">=0.12.4", "h3": ">=1.15.11", "secure-exec": ">=0.2.1", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.5.34", "zod": "^4.1.13" }, "optionalPeers": ["@vue/compiler-sfc", "agents", "secure-exec", "vite", "vue"] }, "sha512-8/4d/QTc6KfUTml8IlQ2mrznszQcBCribciz+wogbCL+YCrKjqbzSz8azaQ8MvqdSHk1h3acTL4qdkLNLurLlA=="],
3794
3795 "playground/docus/@takumi-rs/core": ["@takumi-rs/core@1.8.7", "", { "dependencies": { "@takumi-rs/helpers": "1.8.7" }, "optionalDependencies": { "@takumi-rs/core-darwin-arm64": "1.8.7", "@takumi-rs/core-darwin-x64": "1.8.7", "@takumi-rs/core-linux-arm64-gnu": "1.8.7", "@takumi-rs/core-linux-arm64-musl": "1.8.7", "@takumi-rs/core-linux-x64-gnu": "1.8.7", "@takumi-rs/core-linux-x64-musl": "1.8.7", "@takumi-rs/core-win32-arm64-msvc": "1.8.7", "@takumi-rs/core-win32-x64-msvc": "1.8.7" } }, "sha512-Ia8I3vg0VAQPnzHiYRrd18UgZbIj3X0zMwWMjuTm3yb2TBH1988lPwnnlf+eAfYMwZrutNiXLLtgEnkzsm2gMw=="],
3796
3797 "playground/docus/nuxt-og-image": ["nuxt-og-image@6.6.0", "", { "dependencies": { "@clack/prompts": "^1.5.1", "@nuxt/kit": "^4.4.8", "@unocss/config": "^66.7.0", "@unocss/core": "^66.7.0", "@vue/compiler-sfc": "^3.5.35", "chrome-launcher": "^1.2.1", "consola": "^3.4.2", "culori": "^4.0.2", "defu": "^6.1.7", "devalue": "^5.8.1", "exsolve": "^1.0.8", "lightningcss": "^1.32.0", "magic-string": "^0.30.21", "magicast": "^0.5.3", "mocked-exports": "^0.1.1", "nuxt-site-config": "^4.0.8", "nuxtseo-shared": "^5.2.6", "nypm": "^0.6.6", "ofetch": "^1.5.1", "ohash": "^2.0.11", "oxc-parser": "^0.135.0", "oxc-walker": "^1.0.0", "pathe": "^2.0.3", "pkg-types": "^2.3.1", "radix3": "^1.1.2", "std-env": "^4.1.0", "strip-literal": "^3.1.0", "tinyexec": "^1.2.4", "tinyglobby": "^0.2.17", "ufo": "^1.6.4", "ultrahtml": "^1.6.0", "unplugin": "^3.0.0" }, "peerDependencies": { "@resvg/resvg-js": "^2.6.0", "@resvg/resvg-wasm": "^2.6.0", "@takumi-rs/core": "^1.0.0-beta.3", "@takumi-rs/wasm": "^1.0.0-beta.3", "@unhead/vue": "^2.0.5 || ^3.0.0", "fontless": "^0.2.0", "nitropack": "^2.13.4", "playwright-core": "^1.50.0", "satori": ">=0.19.2", "sharp": "^0.34.0", "tailwindcss": "^4.0.0", "unifont": "^0.7.0", "unstorage": "^1.15.0", "zod": ">=3" }, "optionalPeers": ["@resvg/resvg-js", "@resvg/resvg-wasm", "@takumi-rs/core", "@takumi-rs/wasm", "fontless", "nitropack", "playwright-core", "satori", "sharp", "tailwindcss", "unifont", "zod"], "bin": { "nuxt-og-image": "./bin/cli.mjs" } }, "sha512-PsnLWVf2D3/pmVvQ/7H17qKtFcKJlH0O611XZhpSx5bEwalNY8tbotmHAqlavhRk5KUvCJBUuCE+QCIW3aBE7w=="],
3798
3799 "readdir-glob/minimatch/brace-expansion": ["brace-expansion@2.1.4", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg=="],
3800
3801 "release-it/c12/giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="],
3802
3803 "release-it/c12/rc9": ["rc9@2.1.2", "", { "dependencies": { "defu": "^6.1.4", "destr": "^2.0.3" } }, "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg=="],
3804
3805 "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
3806
3807 "tsup/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
3808
3809 "tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ=="],
3810
3811 "tsx/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.28.1", "", { "os": "android", "cpu": "arm" }, "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ=="],
3812
3813 "tsx/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.1", "", { "os": "android", "cpu": "arm64" }, "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg=="],
3814
3815 "tsx/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.28.1", "", { "os": "android", "cpu": "x64" }, "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng=="],
3816
3817 "tsx/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q=="],
3818
3819 "tsx/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ=="],
3820
3821 "tsx/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw=="],
3822
3823 "tsx/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ=="],
3824
3825 "tsx/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.1", "", { "os": "linux", "cpu": "arm" }, "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ=="],
3826
3827 "tsx/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g=="],
3828
3829 "tsx/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w=="],
3830
3831 "tsx/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg=="],
3832
3833 "tsx/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ=="],
3834
3835 "tsx/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ=="],
3836
3837 "tsx/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ=="],
3838
3839 "tsx/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag=="],
3840
3841 "tsx/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.1", "", { "os": "linux", "cpu": "x64" }, "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA=="],
3842
3843 "tsx/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw=="],
3844
3845 "tsx/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.1", "", { "os": "none", "cpu": "x64" }, "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg=="],
3846
3847 "tsx/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q=="],
3848
3849 "tsx/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw=="],
3850
3851 "tsx/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg=="],
3852
3853 "tsx/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ=="],
3854
3855 "tsx/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA=="],
3856
3857 "tsx/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg=="],
3858
3859 "tsx/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.1", "", { "os": "win32", "cpu": "x64" }, "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A=="],
3860
3861 "vaul-vue/@vueuse/core/@types/web-bluetooth": ["@types/web-bluetooth@0.0.20", "", {}, "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="],
3862
3863 "vaul-vue/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@10.11.1", "", {}, "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw=="],
3864
3865 "vaul-vue/@vueuse/core/@vueuse/shared": ["@vueuse/shared@10.11.1", "", { "dependencies": { "vue-demi": ">=0.14.8" } }, "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA=="],
3866
3867 "vite-plugin-checker/npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="],
3868
3869 "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.28.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ=="],
3870
3871 "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.28.1", "", { "os": "android", "cpu": "arm" }, "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ=="],
3872
3873 "vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.28.1", "", { "os": "android", "cpu": "arm64" }, "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg=="],
3874
3875 "vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.28.1", "", { "os": "android", "cpu": "x64" }, "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng=="],
3876
3877 "vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.28.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q=="],
3878
3879 "vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.28.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ=="],
3880
3881 "vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.28.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw=="],
3882
3883 "vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.28.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ=="],
3884
3885 "vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.28.1", "", { "os": "linux", "cpu": "arm" }, "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ=="],
3886
3887 "vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.28.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g=="],
3888
3889 "vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.28.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w=="],
3890
3891 "vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg=="],
3892
3893 "vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ=="],
3894
3895 "vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.28.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ=="],
3896
3897 "vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.28.1", "", { "os": "linux", "cpu": "none" }, "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ=="],
3898
3899 "vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.28.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag=="],
3900
3901 "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.28.1", "", { "os": "linux", "cpu": "x64" }, "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA=="],
3902
3903 "vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw=="],
3904
3905 "vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.28.1", "", { "os": "none", "cpu": "x64" }, "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg=="],
3906
3907 "vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.28.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q=="],
3908
3909 "vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.28.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw=="],
3910
3911 "vite/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.28.1", "", { "os": "none", "cpu": "arm64" }, "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg=="],
3912
3913 "vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.28.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ=="],
3914
3915 "vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.28.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA=="],
3916
3917 "vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.28.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg=="],
3918
3919 "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.1", "", { "os": "win32", "cpu": "x64" }, "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A=="],
3920
3921 "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
3922
3923 "wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
3924
3925 "@intlify/vue-i18n-extensions/vue-i18n/@intlify/core-base/@intlify/message-compiler": ["@intlify/message-compiler@10.0.8", "", { "dependencies": { "@intlify/shared": "10.0.8", "source-map-js": "^1.0.2" } }, "sha512-DV+sYXIkHVd5yVb2mL7br/NEUwzUoLBsMkV3H0InefWgmYa34NLZUvMCGi5oWX+Hqr2Y2qUxnVrnOWF4aBlgWg=="],
3926
3927 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3928
3929 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3930
3931 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3932
3933 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3934
3935 "archiver-utils/glob/minimatch/brace-expansion": ["brace-expansion@2.1.4", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg=="],
3936
3937 "archiver-utils/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
3938
3939 "comark/htmlparser2/domutils/dom-serializer": ["dom-serializer@3.1.1", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "entities": "^8.0.0" } }, "sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw=="],
3940
3941 "eslint/find-up/locate-path/p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="],
3942
3943 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="],
3944
3945 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="],
3946
3947 "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="],
3948
3949 "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="],
3950
3951 "nuxt-studio/ipx/sharp/@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="],
3952
3953 "nuxt-studio/ipx/sharp/@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="],
3954
3955 "nuxt-studio/ipx/sharp/@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="],
3956
3957 "nuxt-studio/ipx/sharp/@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="],
3958
3959 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="],
3960
3961 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="],
3962
3963 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="],
3964
3965 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="],
3966
3967 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="],
3968
3969 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="],
3970
3971 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="],
3972
3973 "nuxt-studio/ipx/sharp/@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="],
3974
3975 "nuxt-studio/ipx/sharp/@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="],
3976
3977 "nuxt-studio/ipx/sharp/@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="],
3978
3979 "nuxt-studio/ipx/sharp/@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="],
3980
3981 "nuxt-studio/ipx/sharp/@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="],
3982
3983 "nuxt-studio/ipx/sharp/@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="],
3984
3985 "nuxt-studio/ipx/sharp/@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="],
3986
3987 "nuxt-studio/ipx/sharp/@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="],
3988
3989 "nuxt-studio/ipx/sharp/@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="],
3990
3991 "nuxt-studio/ipx/sharp/@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="],
3992
3993 "nuxt-studio/ipx/sharp/@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="],
3994
3995 "nuxt-studio/ipx/sharp/@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="],
3996
3997 "playground/docus/@ai-sdk/mcp/@ai-sdk/provider": ["@ai-sdk/provider@3.0.14", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-5X1k57JBJ4H7H1QjX7CnJYAB1I19r/trVZTMcSms7/kLNZ8RaU4Nt2agcwZzv82Hfx6Q7/TOLU7agAKeFfc8cA=="],
3998
3999 "playground/docus/@ai-sdk/mcp/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.42", "", { "dependencies": { "@ai-sdk/provider": "3.0.14", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.8", "undici": "^5.29.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-Q07lZsq4ir+xwAGVfSbY2WNGLrbfWINFaL2I/vTBFrkuXeP7VZh+UtQgLOKZS6Z/6flNFW22jDYdbINvwTV/PA=="],
4000
4001 "playground/docus/@comark/vue/comark": ["comark@0.4.0", "", { "dependencies": { "entities": "^8.0.0", "htmlparser2": "^12.0.0", "js-yaml": "^4.1.1", "markdown-exit": "1.0.0-beta.9" }, "peerDependencies": { "beautiful-mermaid": "^1.1.3", "katex": "^0.16.45", "shiki": "^4.0.0" }, "optionalPeers": ["beautiful-mermaid", "katex", "shiki"] }, "sha512-s+wZc9FDgxJDxS3oLhDhthuc8EFggd7oEQaGKEFSw/UbECEwM3qMgW/T3dk6eoNTuy+PNSAyPQtjyKZJfudlbA=="],
4002
4003 "playground/docus/@takumi-rs/core/@takumi-rs/core-darwin-arm64": ["@takumi-rs/core-darwin-arm64@1.8.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-an8vc2B/Qf9vo3uwDmJ6WKazpMBpDruRy/kXr+x98GfIkzMHDEUy+9EgNfUYxprtZo49cJruXrVwzxsqqW+1tA=="],
4004
4005 "playground/docus/@takumi-rs/core/@takumi-rs/core-darwin-x64": ["@takumi-rs/core-darwin-x64@1.8.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-q0xQxmb4y4EwYK3ILMBvWvqLGX8gxsqcEas0zOwNbPnxBLTQFF8KVH4jXaKXLUFwj020lu8nsf1BNvLIkJMo3Q=="],
4006
4007 "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-arm64-gnu": ["@takumi-rs/core-linux-arm64-gnu@1.8.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-uZ6l792M4Mc06XG+m+8RarTgdR5o1ZLjncULKUEPAw3nBKhRbJ50Re3aLM4n4+p25iOj1oL9QwEZRcaJn8u/Ag=="],
4008
4009 "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-arm64-musl": ["@takumi-rs/core-linux-arm64-musl@1.8.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-akVy80ztI2as/b0n0EVCfHNKhibp+Od4ioP49PtX2rQMi6KDtqv3aoCIjaBls8oxzv+4x77/2U9fsWIO2XZQjg=="],
4010
4011 "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-x64-gnu": ["@takumi-rs/core-linux-x64-gnu@1.8.7", "", { "os": "linux", "cpu": "x64" }, "sha512-SV1YesGs/HfC1CMpSF5SqS6KbL4hDLvD2m54JcfB+X/0xatmo/CS2XleqoIXhSmR+95X8Of5g2vg1a4TAdpcug=="],
4012
4013 "playground/docus/@takumi-rs/core/@takumi-rs/core-linux-x64-musl": ["@takumi-rs/core-linux-x64-musl@1.8.7", "", { "os": "linux", "cpu": "x64" }, "sha512-zprYQ/ivPDmYX4tFaONiAzoDJNTANA3kqfIe7SMHZ2YhkfEhYnr3PE3XtBytgB4W/VlTc9WQLyD77SKwPnPuFw=="],
4014
4015 "playground/docus/@takumi-rs/core/@takumi-rs/core-win32-arm64-msvc": ["@takumi-rs/core-win32-arm64-msvc@1.8.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-2S5YcgIj/c0E3sLzWDcxzlXoPvEjR2xC1v7yODe0CvimlRx95Df6rJ9idTS6E1KNUjDaTfqxTr8Ud4gWqYrrPg=="],
4016
4017 "playground/docus/@takumi-rs/core/@takumi-rs/core-win32-x64-msvc": ["@takumi-rs/core-win32-x64-msvc@1.8.7", "", { "os": "win32", "cpu": "x64" }, "sha512-sooiM6fL0JN597ciNAFVp9F7YxCW+8hXpwu/7wRMRo0TGQ/KMi1Y94tf1FUu2csCHN0pgy9a3y09y8+qnw3FTw=="],
4018
4019 "playground/docus/@takumi-rs/core/@takumi-rs/helpers": ["@takumi-rs/helpers@1.8.7", "", { "peerDependencies": { "react": "^19.2.5", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["react", "react-dom"] }, "sha512-5dSR9W8msQ7Asp4TCvUUB9Bt8yLgIc2ASjWtEG4Jn9xSuAVJLWFZ21Xl8HShW5GE6SV5aCCM9BL0NA9YuBWIJw=="],
4020
4021 "playground/docus/nuxt-og-image/oxc-parser": ["oxc-parser@0.135.0", "", { "dependencies": { "@oxc-project/types": "^0.135.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.135.0", "@oxc-parser/binding-android-arm64": "0.135.0", "@oxc-parser/binding-darwin-arm64": "0.135.0", "@oxc-parser/binding-darwin-x64": "0.135.0", "@oxc-parser/binding-freebsd-x64": "0.135.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.135.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.135.0", "@oxc-parser/binding-linux-arm64-gnu": "0.135.0", "@oxc-parser/binding-linux-arm64-musl": "0.135.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.135.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.135.0", "@oxc-parser/binding-linux-riscv64-musl": "0.135.0", "@oxc-parser/binding-linux-s390x-gnu": "0.135.0", "@oxc-parser/binding-linux-x64-gnu": "0.135.0", "@oxc-parser/binding-linux-x64-musl": "0.135.0", "@oxc-parser/binding-openharmony-arm64": "0.135.0", "@oxc-parser/binding-wasm32-wasi": "0.135.0", "@oxc-parser/binding-win32-arm64-msvc": "0.135.0", "@oxc-parser/binding-win32-ia32-msvc": "0.135.0", "@oxc-parser/binding-win32-x64-msvc": "0.135.0" } }, "sha512-/DaPStu0s2zzNSRRniKyTPM6Z/o+DapOp2JYNKDL8AsgaBGPK2IdZyB87SQjVH+xeQPz+Qr9mrjglfkYgtbVRA=="],
4022
4023 "playground/docus/nuxt-og-image/strip-literal": ["strip-literal@3.1.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg=="],
4024
4025 "playground/docus/nuxt-og-image/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="],
4026
4027 "readdir-glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
4028
4029 "release-it/c12/giget/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
4030
4031 "@nuxtjs/i18n/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4032
4033 "@nuxtjs/i18n/oxc-transform/@oxc-transform/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4034
4035 "archiver-utils/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
4036
4037 "eslint/find-up/locate-path/p-locate/p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
4038
4039 "nuxt-component-meta/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4040
4041 "nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="],
4042
4043 "playground/docus/@ai-sdk/mcp/@ai-sdk/provider-utils/undici": ["undici@5.29.0", "", { "dependencies": { "@fastify/busboy": "^2.0.0" } }, "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg=="],
4044
4045 "playground/docus/@comark/vue/comark/entities": ["entities@8.0.0", "", {}, "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA=="],
4046
4047 "playground/docus/@comark/vue/comark/htmlparser2": ["htmlparser2@12.0.0", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "domutils": "^4.0.2", "entities": "^8.0.0" } }, "sha512-Tz7u1i95/g2x2jz81+x0FBVhBhY5aRTvD3tXXdFaljuNdzDLJ8UGNRrTcj2cgQvAg3iW/h77Fz15nLW0L0CrZw=="],
4048
4049 "playground/docus/@comark/vue/comark/markdown-exit": ["markdown-exit@1.0.0-beta.9", "", { "dependencies": { "@types/linkify-it": "^5.0.0", "@types/mdurl": "^2.0.0", "entities": "^7.0.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" } }, "sha512-5tzrMKMF367amyBly131vm6eGuWRL2DjBqWaFmPzPbLyuxP0XOmyyyroOAIXuBAMF/3kZbbfqOxvW/SotqKqbQ=="],
4050
4051 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm-eabi": ["@oxc-parser/binding-android-arm-eabi@0.135.0", "", { "os": "android", "cpu": "arm" }, "sha512-sHeZItACNcA5WRAWqF6ixriR4GkZDyY10gVgnZU7pXku1DjHFATSqnwZM809jl0gXPHxb6fKzYQCK7bNK5cACQ=="],
4052
4053 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.135.0", "", { "os": "android", "cpu": "arm64" }, "sha512-wPte+SzgzWWFgMSF8YZDNM+tBXtJg0AXBi7+tU3yS2z1f2Af9kRLZLKuJojADmuD/cZexmnMHHC3SDItTW77Iw=="],
4054
4055 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.135.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-BmKz3lHIsqVos+9aPcdYCT9MG3APoUyM43KlEFhJMWNVDOGG8FKyiFz81Bc+mGz2o0hpuQ3PfXLfVWJrKXjo2g=="],
4056
4057 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-darwin-x64": ["@oxc-parser/binding-darwin-x64@0.135.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-dM8BS+8+Br1fNvmh2QZbGiHaYttwLebRa6J4Uz9vuFzMNmvsdRYwf7993ptOaV0JTrR63AaoVLjX7nhWbijxjQ=="],
4058
4059 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-freebsd-x64": ["@oxc-parser/binding-freebsd-x64@0.135.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-xlZnvvJdR9bGu2pOhvR5hMuKPHCE6Sa9owK5A484mzjHdm75VRV5nCs5w/jkmGODMMTFc+KN7EnZqEieM813kw=="],
4060
4061 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-gnueabihf": ["@oxc-parser/binding-linux-arm-gnueabihf@0.135.0", "", { "os": "linux", "cpu": "arm" }, "sha512-PSR8LmBK/H/PQRiN8g7RebQgZX/ntVCrdT/JBfNxE5ezdHG1s2i4rbazsRJYD83TTI1MmgTpC0MGL42PLtskQQ=="],
4062
4063 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm-musleabihf": ["@oxc-parser/binding-linux-arm-musleabihf@0.135.0", "", { "os": "linux", "cpu": "arm" }, "sha512-I85GJXzfUsigkkk7Ngdz95C217M4FdUi1Z2HrX5UyPmURobwQZ7m2bbUvwFkz4VGZd+lymFGKHvDZ3RQC9qOzA=="],
4064
4065 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-gnu": ["@oxc-parser/binding-linux-arm64-gnu@0.135.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-zqEY0npz0g0aGZj/8a5BclunjVDytsBQHYtIC10Gd26HcrLwbVF6YDbqRQjunMGYdSo97u6xOBl05aTDI2diDQ=="],
4066
4067 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-arm64-musl": ["@oxc-parser/binding-linux-arm64-musl@0.135.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-mWAfprP819gQ2qYst1RxgTI8b/z0b29OpoKfRflIXLHde2dZLihQD4g47Onuvtpo5GPIkMYPRlX9QoeZfs/GnQ=="],
4068
4069 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-ppc64-gnu": ["@oxc-parser/binding-linux-ppc64-gnu@0.135.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gri8c2AOmJKJwOux2KTHFBfUaXoJURuVMKhmKEi/2hTF55cQteTDV2XNfTiE5oCC+Tnem1Y4/MWzcyDadtsSag=="],
4070
4071 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-gnu": ["@oxc-parser/binding-linux-riscv64-gnu@0.135.0", "", { "os": "linux", "cpu": "none" }, "sha512-Y2tkupCG5wo0SxH2rMLG4d4Kmv6DaM3sBp+GuM5lox0S8Za6VxKgQrY2Mut088QQxKkEE89n/4CCCgmw2o0e3Q=="],
4072
4073 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-riscv64-musl": ["@oxc-parser/binding-linux-riscv64-musl@0.135.0", "", { "os": "linux", "cpu": "none" }, "sha512-xDRJq6i6WTynjeP+ISbDpyH4p9BaJ0wuQcL0lCSDkt9qOXC9dmwpOu1VG/TlwmPI3KpYntmO9nJCuc3TMTsNBA=="],
4074
4075 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-s390x-gnu": ["@oxc-parser/binding-linux-s390x-gnu@0.135.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-V4MoUuiCRNvihxhIufRxvK+ka013V4joTSK0FAGA1KEjLuNprfH6N/Qw2uxQEVIFuNYMhD/hV6xJ/ptbzlKdHg=="],
4076
4077 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-gnu": ["@oxc-parser/binding-linux-x64-gnu@0.135.0", "", { "os": "linux", "cpu": "x64" }, "sha512-JCFZ7zM7KXOKoPAbK/ZB4wY0M1jxRECiem2UQuiXLjzGqS9+hno7mtX+qyK2F7HWK2xPhyJb+frpcOtk5DKOtg=="],
4078
4079 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-linux-x64-musl": ["@oxc-parser/binding-linux-x64-musl@0.135.0", "", { "os": "linux", "cpu": "x64" }, "sha512-9jSVS1b3hOV7sdKH4aA2DFfnTz0RgQd0v2BefR+LYbH8yIlmSM22JJZbAAjVeVXmFgUAk3zJQ1tpE/Nd+Vi2YQ=="],
4080
4081 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-openharmony-arm64": ["@oxc-parser/binding-openharmony-arm64@0.135.0", "", { "os": "none", "cpu": "arm64" }, "sha512-M857ZLBSdn1Uy/SJJz5zh0qGu67B4P9omCgXGBU2LLqTzraX6ZjVNaKq5yW1PDw/LgJXDXR/dbZfgmB310f11Q=="],
4082
4083 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-wasm32-wasi": ["@oxc-parser/binding-wasm32-wasi@0.135.0", "", { "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", "@napi-rs/wasm-runtime": "^1.1.4" }, "cpu": "none" }, "sha512-2w6DVcntQZX9U5RhXtgiWb3FLWFB5EcwI1U8yr3htOCJUJjagN4BFUHz/Y/d9ZsumndZ6ByxxWEtbUZNE1bfFw=="],
4084
4085 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-arm64-msvc": ["@oxc-parser/binding-win32-arm64-msvc@0.135.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-rX1U8+IH2Z37EJjDXKa1iifvUQAdba+vZ4Ewj1iaG5eA/QaSybzclCOwtWa0/5BuUQnnK/T2JHUEFrwhL6Ck2Q=="],
4086
4087 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-ia32-msvc": ["@oxc-parser/binding-win32-ia32-msvc@0.135.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-9FAisBbH1QICGAjlJobiuKGd/jOuVmyqniWdQMwTa5SkCl6hhuotBCJf1n46B0flYbSOR5TzfV9HZCWSyb3c/Q=="],
4088
4089 "playground/docus/nuxt-og-image/oxc-parser/@oxc-parser/binding-win32-x64-msvc": ["@oxc-parser/binding-win32-x64-msvc@0.135.0", "", { "os": "win32", "cpu": "x64" }, "sha512-wYF+A2AzJ2n7ul6q+Z2G/ia0S2+8cUp0AgWZzoFvF4WmUcl1P7p+o6se1Gdr5wGnWuF0iAMIkGddrjCarNr2yA=="],
4090
4091 "playground/docus/nuxt-og-image/oxc-parser/@oxc-project/types": ["@oxc-project/types@0.135.0", "", {}, "sha512-wR+xRdFkUBMvcAjBJ2q2kcZM6d+DKu2NgoOyxZgYwZdLhmiv6+rnO8PZ/P68kMiZtIKm+pW7zyEJ4kSOs0vo+Q=="],
4092
4093 "playground/docus/nuxt-og-image/strip-literal/js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="],
4094
4095 "eslint/find-up/locate-path/p-locate/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
4096
4097 "playground/docus/@comark/vue/comark/htmlparser2/domelementtype": ["domelementtype@3.0.0", "", {}, "sha512-umCQid3jKbDmVjx8jGaW7uUykm4DEUeyV21hPxNMo2nV955DhUThwqyOIDtreepP31hl84X7G5U9ZfsWvIB3Pg=="],
4098
4099 "playground/docus/@comark/vue/comark/htmlparser2/domhandler": ["domhandler@6.0.1", "", { "dependencies": { "domelementtype": "^3.0.0" } }, "sha512-gYzvtM72ZtxQO0T048kd6HWSbbGCNOUwcnfQ01cqIJ4X2IYKFFHZ5mKvrQETcFXxsRObZulDaKmy//R7TPtsBg=="],
4100
4101 "playground/docus/@comark/vue/comark/htmlparser2/domutils": ["domutils@4.0.2", "", { "dependencies": { "dom-serializer": "^3.0.0", "domelementtype": "^3.0.0", "domhandler": "^6.0.0" } }, "sha512-qI4JLRKnSzqFqr7hAlS5xQDusBCjKSEG4t4+7aNrIQMHBcsC2TGEhuyABJdYkgSewL57PNLYEiibY2iPKhKpaA=="],
4102
4103 "playground/docus/@comark/vue/comark/markdown-exit/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
4104
4105 "playground/docus/@comark/vue/comark/htmlparser2/domutils/dom-serializer": ["dom-serializer@3.1.1", "", { "dependencies": { "domelementtype": "^3.0.0", "domhandler": "^6.0.0", "entities": "^8.0.0" } }, "sha512-4MEa38/QexBob6gFNwu+EGdWvhJ1OKuNwdYY3Y3NyeWDQfnGeDYQUDfIRzWu5B5gsv03so2Uxd28YC6zrsx3Lw=="],
4106 }
4107}
bunfig.toml+3−0
@@ -0,0 +1,3 @@
1[install]
2# Match previous pnpm onlyBuiltDependencies
3auto = true
cli/README.md+5−0
@@ -0,0 +1,5 @@
1# Docs CLI
2
3Scaffolding CLI for this documentation template.
4
5See the [root README](../README.md) for the main project docs.
cli/cli.ts+42−0
@@ -0,0 +1,42 @@
1import { resolve } from 'node:path'
2import { defineCommand, runMain } from 'citty'
3import type { CLIOptions } from './types'
4
5export function createCLI(opts: CLIOptions) {
6 const main = defineCommand({
7 meta: {
8 name: opts.name,
9 description: opts.description,
10 },
11 args: {
12 dir: {
13 type: 'positional',
14 description: 'Project directory',
15 required: false,
16 default: 'docs',
17 },
18 template: {
19 type: 'string',
20 alias: 't',
21 description: 'Template to use (default, i18n)',
22 required: false,
23 default: 'default',
24 },
25 },
26 async setup(context) {
27 const dir = resolve(context.args.dir as string)
28 const template = context.args.template as 'i18n' | 'default'
29
30 if (!['i18n', 'default'].includes(template)) {
31 throw new Error('Invalid template')
32 }
33
34 const { runCommand } = await import('@nuxt/cli')
35 await runCommand('init', [dir, '-t', `gh:nuxt-content/docus/.starters/${template}`])
36 },
37 })
38
39 return {
40 runMain: () => runMain(main),
41 }
42}
cli/main.ts+12−0
@@ -0,0 +1,12 @@
1#!/usr/bin/env node
2import { createCLI } from './cli'
3
4const cli = createCLI({
5 name: 'create-docus',
6 description: 'Create a new Docus documentation project',
7 setup: {
8 defaults: {},
9 },
10})
11
12cli.runMain()
cli/package.json+38−0
@@ -0,0 +1,38 @@
1{
2 "name": "create-docus",
3 "description": "CLI for scaffolding Docs documentation projects",
4 "version": "5.12.3",
5 "repository": {
6 "type": "git",
7 "url": "git+https://github.com/krisyotam/docs.git"
8 },
9 "private": false,
10 "license": "MIT",
11 "bin": {
12 "create-docus": "dist/main.mjs"
13 },
14 "files": [
15 "dist"
16 ],
17 "scripts": {
18 "prepare": "bun run build",
19 "build": "tsup-node ./main.ts --format esm",
20 "dev": "tsx ./main.ts"
21 },
22 "dependencies": {
23 "@nuxt/cli": "3.36.1",
24 "@nuxt/kit": "^4.4.8",
25 "c12": "^3.3.4",
26 "citty": "^0.2.2",
27 "defu": "^6.1.7",
28 "scule": "^1.3.0",
29 "ufo": "^1.6.4",
30 "unctx": "^2.5.0"
31 },
32 "devDependencies": {
33 "@types/node": "^26.1.1",
34 "tsup": "^8.5.1",
35 "tsx": "^4.23.1"
36 },
37 "packageManager": "bun@1.3.13"
38}
cli/tsconfig.json+13−0
@@ -0,0 +1,13 @@
1{
2 "compilerOptions": {
3 "target": "ES2022",
4 "module": "ESNext",
5 "moduleResolution": "bundler",
6 "strict": true,
7 "esModuleInterop": true,
8 "skipLibCheck": true,
9 "types": ["node"]
10 },
11 "include": ["**/*.ts"],
12 "exclude": ["dist", "node_modules"]
13}
cli/types.ts+7−0
@@ -0,0 +1,7 @@
1export interface CLIOptions {
2 name: string
3 description: string
4 setup: {
5 defaults: Record<string, never>
6 }
7}
docs/app/app.config.ts+66−0
@@ -0,0 +1,66 @@
1export default defineAppConfig({
2 search: {
3 fts: true,
4 },
5 header: {
6 title: 'Docs',
7 logo: {
8 light: '/logo/logo-dark.svg',
9 dark: '/logo/logo-light.svg',
10 alt: 'Docs',
11 wordmark: {
12 light: '/logo/wordmark-dark.svg',
13 dark: '/logo/wordmark-light.svg',
14 },
15 favicon: '/favicon.svg',
16 },
17 },
18 socials: {
19 x: 'https://x.com/krisyotam',
20 },
21 github: {
22 url: 'https://github.com/krisyotam/docs',
23 rootDir: 'docs',
24 },
25 // AI chat assistant fully off (no floating input, no Explain with AI)
26 assistant: {
27 floatingInput: false,
28 explainWithAi: false,
29 },
30 toc: {
31 bottom: {
32 links: [
33 {
34 icon: 'i-lucide-globe',
35 label: 'krisyotam.com',
36 to: 'https://krisyotam.com',
37 target: '_blank',
38 },
39 {
40 icon: 'i-lucide-github',
41 label: 'GitHub',
42 to: 'https://github.com/krisyotam/docs',
43 target: '_blank',
44 },
45 ],
46 },
47 },
48 ui: {
49 colors: {
50 primary: 'neutral',
51 neutral: 'zinc',
52 },
53 pageHero: {
54 slots: {
55 title: 'font-semibold sm:text-6xl',
56 container: '!pb-0',
57 },
58 },
59 pageCard: {
60 slots: {
61 container: 'lg:flex min-w-0',
62 wrapper: 'flex-none',
63 },
64 },
65 },
66})
docs/app/app.css+3−0
@@ -0,0 +1,3 @@
1@theme {
2 --font-sans: "Public Sans", sans-serif;
3}
docs/app/components/AppHeaderCTA.vue+11−0
@@ -0,0 +1,11 @@
1<template>
2 <UButton
3 v-if="$route.path == '/'"
4 to="/getting-started/installation"
5 color="neutral"
6 size="sm"
7 class="hidden lg:inline-flex"
8 >
9 Get Started
10 </UButton>
11</template>
docs/app/components/AppHeaderLogo.vue+93−0
@@ -0,0 +1,93 @@
1<script setup lang="ts">
2const props = defineProps<{
3 white?: boolean
4}>()
5
6const isBlinking = ref(false)
7const isHovering = ref(false)
8const isTouchDevice = ref(false)
9let cleanup: (() => void) | undefined
10
11const color = computed(() => props.white ? 'text-white' : 'text-black dark:text-white')
12const { contextMenuItems } = useLogoAssets()
13
14function setupBlinking() {
15 const blinkDelay = Math.random() * 5000 + 2000
16
17 const timerId = setTimeout(() => {
18 isBlinking.value = true
19
20 const blinkTimerId = setTimeout(() => {
21 isBlinking.value = false
22 setupBlinking()
23 }, 200)
24
25 return () => clearTimeout(blinkTimerId)
26 }, blinkDelay)
27
28 return () => clearTimeout(timerId)
29}
30
31onMounted(() => {
32 cleanup = setupBlinking()
33 isTouchDevice.value = 'ontouchstart' in window
34})
35
36onBeforeUnmount(() => {
37 cleanup?.()
38})
39</script>
40
41<template>
42 <UContextMenu :items="contextMenuItems">
43 <svg
44 viewBox="0 0 139 32"
45 fill="none"
46 xmlns="http://www.w3.org/2000/svg"
47 :class="color"
48 alt="Docus logo"
49 @mouseenter="isHovering = true"
50 @mouseleave="isHovering = false"
51 >
52 <path
53 v-if="isBlinking || (isHovering && !isTouchDevice)"
54 fill-rule="evenodd"
55 clip-rule="evenodd"
56 d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 16.0501C26.697 16.0501 28.2332 17.8658 28.2332 15.9708C28.2332 15.9708 26.697 15 24.802 15C22.907 15 21.3708 15.9708 21.3708 15.9708C21.3708 17.8658 22.907 16.0501 24.802 16.0501ZM14.6182 16.0501C16.5133 16.0501 18.0494 17.866 18.0494 15.971C18.0494 15.971 16.395 15 14.5 15C12.605 15 11.1871 15.971 11.1871 15.971C11.1871 17.866 12.7233 16.0501 14.6182 16.0501Z"
57 fill="currentColor"
58 />
59
60 <path
61 v-else
62 fill-rule="evenodd"
63 clip-rule="evenodd"
64 d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z"
65 fill="currentColor"
66 />
67 <path
68 fill-rule="evenodd"
69 clip-rule="evenodd"
70 d="M66.9254 19.7235C66.9254 21.3159 67.3047 22.7336 68.0589 23.983C68.8344 25.2345 69.9001 26.2128 71.2614 26.9192C72.6224 27.6255 74.1522 27.9808 75.8559 27.9808C77.58 27.9808 79.1197 27.6253 80.4803 26.9192C81.8415 26.2129 82.8968 25.2349 83.6521 23.9842C84.4068 22.7345 84.7864 21.3165 84.7864 19.7235C84.7864 18.1306 84.4068 16.7233 83.653 15.4945L83.6521 15.4931C82.8972 14.243 81.8427 13.2757 80.4828 12.5895L80.4803 12.5883C79.1197 11.8823 77.58 11.5267 75.8559 11.5267C74.1318 11.5267 72.5921 11.8823 71.2315 12.5883L71.2303 12.5889C69.8902 13.2748 68.8346 14.2426 68.0589 15.4943C67.3044 16.7442 66.9254 18.1519 66.9254 19.7235ZM78.487 22.7884L78.4893 22.7858C79.1787 22.025 79.5098 20.9944 79.5098 19.7235C79.5098 18.472 79.1782 17.4602 78.487 16.7192C77.7995 15.9821 76.9158 15.6155 75.8559 15.6155C74.796 15.6155 73.9122 15.9821 73.2248 16.7192C72.5336 17.4602 72.202 18.472 72.202 19.7235C72.202 20.9944 72.533 22.025 73.2224 22.7858L73.2248 22.7884C73.9122 23.5254 74.796 23.892 75.8559 23.892C76.9158 23.892 77.7995 23.5254 78.487 22.7884Z"
71 fill="currentColor"
72 />
73 <path
74 d="M102.777 23.9716C102.226 25.168 101.362 26.1218 100.178 26.8352C98.8826 27.5957 97.3382 27.9808 95.5355 27.9808C93.7706 27.9808 92.2006 27.6249 90.82 26.9186C89.4388 26.2119 88.3637 25.2336 87.5888 23.983C86.8345 22.7336 86.4553 21.3159 86.4553 19.7235C86.4553 18.1307 86.8347 16.7236 87.5884 15.495C88.363 14.2446 89.4374 13.2767 90.8176 12.5902L90.82 12.5889C92.2006 11.8826 93.7706 11.5267 95.5355 11.5267C97.3377 11.5267 98.8816 11.9217 100.177 12.7019L100.179 12.7032C101.362 13.3981 102.226 14.3415 102.777 15.536C102.812 15.6127 102.782 15.7129 102.692 15.7592L99.0173 17.6509C98.9272 17.6973 98.8018 17.6656 98.7381 17.559C97.9721 16.2774 96.8895 15.6155 95.5056 15.6155C94.4273 15.6155 93.5161 15.9808 92.7896 16.714L92.7871 16.7165C92.0745 17.4573 91.7318 18.4701 91.7318 19.7235C91.7318 20.9962 92.0739 22.0278 92.7847 22.7885L92.7871 22.7911L92.7896 22.7935C93.5162 23.5267 94.4273 23.892 95.5056 23.892C96.8895 23.892 97.9721 23.2301 98.7381 21.9485C98.8018 21.842 98.9272 21.8102 99.0173 21.8566L102.692 23.7483C102.782 23.7947 102.812 23.8948 102.777 23.9716Z"
75 fill="currentColor"
76 />
77 <path
78 d="M116.533 27.5185V25.5732L116.118 26.034C115.543 26.6721 114.853 27.1553 114.047 27.4846C113.238 27.8151 112.38 27.9808 111.471 27.9808C109.424 27.9808 107.811 27.3731 106.605 26.1761C105.427 24.9869 104.817 23.1837 104.817 20.7212V11.989C104.817 11.884 104.903 11.7988 105.008 11.7988H109.844C109.949 11.7988 110.034 11.884 110.034 11.989V19.784C110.034 21.0337 110.266 21.9976 110.777 22.6251C111.291 23.2566 112.035 23.5594 112.969 23.5594C113.93 23.5594 114.725 23.2222 115.333 22.5432C115.968 21.8368 116.263 20.7912 116.263 19.4514V11.989C116.263 11.884 116.348 11.7988 116.453 11.7988H121.29C121.395 11.7988 121.48 11.884 121.48 11.989V27.5185C121.48 27.6236 121.395 27.7087 121.29 27.7087H116.723C116.618 27.7087 116.533 27.6236 116.533 27.5185Z"
79 fill="currentColor"
80 />
81 <path
82 d="M133.19 22.3635C133.033 22.198 132.813 22.0836 132.552 22.0061C132.068 21.8373 131.311 21.6843 130.294 21.5434L130.291 21.543C129.001 21.3828 127.905 21.1732 127.001 20.9156C126.145 20.6659 125.403 20.2057 124.772 19.5307C124.166 18.8818 123.848 17.9594 123.848 16.7305C123.848 15.7331 124.141 14.8573 124.727 14.0941L124.729 14.0918C125.316 13.3081 126.176 12.6868 127.322 12.2358L127.324 12.235C128.488 11.7654 129.884 11.5267 131.52 11.5267C132.682 11.5267 133.834 11.6459 134.977 11.8845C135.957 12.0892 136.792 12.3657 137.485 12.7111C137.561 12.7486 137.599 12.8448 137.559 12.9371L136.195 16.0508C136.152 16.151 136.024 16.2007 135.913 16.145C134.558 15.4693 133.102 15.1318 131.55 15.1318C130.644 15.1318 129.937 15.2416 129.465 15.4899C129 15.7145 128.705 16.053 128.705 16.5188C128.705 16.762 128.779 16.9814 128.933 17.1638C129.084 17.3421 129.298 17.4701 129.553 17.5599L129.558 17.5614L129.562 17.5628C130.04 17.7094 130.814 17.8627 131.874 18.0241C133.206 18.2247 134.303 18.4545 135.167 18.7122C136.003 18.9613 136.725 19.4206 137.336 20.0951L137.338 20.0977L137.341 20.1003C137.945 20.7286 138.263 21.6295 138.263 22.8375C138.263 23.8133 137.97 24.6901 137.382 25.4752C136.797 26.2372 135.919 26.849 134.731 27.301L134.73 27.3015C133.566 27.7517 132.149 27.9808 130.471 27.9808C129.131 27.9808 127.811 27.8318 126.511 27.5337C125.374 27.2555 124.443 26.9114 123.712 26.505C123.641 26.4657 123.606 26.3729 123.645 26.2838L125.008 23.1475C125.053 23.0442 125.188 22.9929 125.304 23.056C125.966 23.4151 126.719 23.7105 127.561 23.9439L127.565 23.9449C128.602 24.2117 129.631 24.3455 130.651 24.3455C131.573 24.3455 132.269 24.2564 132.701 24.0502L132.706 24.0479C133.163 23.8172 133.436 23.4641 133.436 22.9887C133.436 22.7491 133.354 22.5358 133.19 22.3635Z"
83 fill="currentColor"
84 />
85 <path
86 fill-rule="evenodd"
87 clip-rule="evenodd"
88 d="M44.6799 7.02197H53.7408C56.0076 7.02197 58.0084 7.44945 59.7488 8.29791C61.4884 9.14597 62.8315 10.3455 63.7852 11.897C64.7377 13.4466 65.2181 15.2665 65.2181 17.3654C65.2181 19.4642 64.7377 21.2841 63.7852 22.8337C62.8315 24.3852 61.4884 25.5847 59.7488 26.4328C58.0084 27.2813 56.0076 27.7087 53.7408 27.7087H44.6799C44.3382 27.7087 44.0612 27.4318 44.0612 27.0901V7.64061C44.0612 7.29895 44.3382 7.02197 44.6799 7.02197ZM53.5011 23.4083C55.3462 23.4083 56.8475 22.8794 57.9792 21.8014C59.1352 20.7194 59.7018 19.2302 59.7018 17.3654C59.7018 15.5005 59.1352 14.0113 57.9792 12.9293C56.8475 11.8513 55.3462 11.3224 53.5011 11.3224H50.1841C49.816 11.3224 49.5175 11.6209 49.5175 11.989V22.7417C49.5175 23.1098 49.816 23.4083 50.1841 23.4083H53.5011Z"
89 fill="currentColor"
90 />
91 </svg>
92 </UContextMenu>
93</template>
docs/app/components/content/AssistantDemo.vue+183−0
@@ -0,0 +1,183 @@
1<script setup lang="ts">
2import { useChat } from '@ai-sdk/vue'
3import { DefaultChatTransport, isToolUIPart, isTextUIPart } from 'ai'
4import { isToolStreaming } from '@nuxt/ui/utils/ai'
5
6const config = useRuntimeConfig()
7const { t, locale } = useDocusI18n()
8const isEnabled = computed(() => config.public.assistant?.enabled ?? false)
9
10const input = ref('')
11
12const suggestedQuestionsMap: Record<string, string[]> = {
13 en: [
14 'How do I get started?',
15 'What is Docus?',
16 'How to customize the theme?',
17 ],
18 fr: [
19 'Comment démarrer ?',
20 'Qu\'est-ce que Docus ?',
21 'Comment personnaliser le thème ?',
22 ],
23}
24
25const suggestedQuestions = computed(() => suggestedQuestionsMap[locale.value] || suggestedQuestionsMap.en)
26
27const {
28 messages: chatMessages,
29 status,
30 sendMessage,
31 stop,
32 regenerate,
33} = useChat({
34 messages: [],
35 transport: new DefaultChatTransport({
36 api: config.public.assistant.apiPath,
37 }),
38 onError: (error: Error) => {
39 console.error('AI Chat error:', error)
40 },
41})
42
43function handleSubmit() {
44 if (!input.value.trim() || !isEnabled.value) return
45
46 sendMessage({ text: input.value })
47 input.value = ''
48}
49
50function askQuestion(question: string) {
51 if (!isEnabled.value) return
52 sendMessage({
53 text: question,
54 })
55}
56
57function resetChat() {
58 if (!isEnabled.value) return
59 stop()
60 chatMessages.value = []
61}
62</script>
63
64<template>
65 <div class="flex flex-col w-full h-96 rounded-lg overflow-hidden">
66 <div class="flex-1 overflow-y-auto">
67 <template v-if="isEnabled">
68 <div
69 v-if="chatMessages.length === 0"
70 class="h-full flex flex-col items-center justify-center p-4"
71 >
72 <div class="size-10 rounded-full bg-primary/10 flex items-center justify-center mb-3">
73 <UIcon
74 name="i-custom:ai"
75 class="size-5 text-primary"
76 />
77 </div>
78 <p class="text-sm text-muted mb-4">
79 {{ t('assistant.tryAsking') }}
80 </p>
81 <div class="flex flex-wrap gap-2 justify-center">
82 <button
83 v-for="question in suggestedQuestions"
84 :key="question"
85 class="px-3 py-1.5 text-xs text-muted bg-elevated hover:bg-accented rounded-full transition-colors cursor-pointer"
86 @click="askQuestion(question)"
87 >
88 {{ question }}
89 </button>
90 </div>
91 </div>
92
93 <UChatMessages
94 v-else
95 should-auto-scroll
96 :messages="chatMessages"
97 compact
98 :status="status"
99 :user="{ ui: { content: 'text-sm' } }"
100 :ui="{ indicator: '*:bg-accented', root: 'h-auto!' }"
101 class="px-4 py-4"
102 >
103 <template #indicator>
104 <UChatTool
105 icon="i-lucide-brain"
106 :text="t('assistant.loading.thinking')"
107 streaming
108 />
109 </template>
110
111 <template #content="{ message }">
112 <template
113 v-for="(part, index) in message.parts"
114 :key="`${message.id}-${part.type}-${index}`"
115 >
116 <AssistantComark
117 v-if="isTextUIPart(part) && part.text"
118 :markdown="part.text"
119 />
120
121 <UChatTool
122 v-else-if="isToolUIPart(part)"
123 :text="getToolText(part, t)"
124 :suffix="getToolSuffix(part)"
125 :icon="getToolIcon(part)"
126 :streaming="isToolStreaming(part)"
127 />
128 </template>
129 </template>
130 </UChatMessages>
131 </template>
132
133 <div
134 v-else
135 class="h-full flex flex-col items-center justify-center p-4 text-center"
136 >
137 <div class="size-10 rounded-full bg-muted/10 flex items-center justify-center mb-3">
138 <UIcon
139 name="i-lucide-sparkles"
140 class="size-5 text-muted"
141 />
142 </div>
143 <p class="text-sm text-muted">
144 Assistant not configured
145 </p>
146 </div>
147 </div>
148
149 <div class="p-3">
150 <UChatPrompt
151 v-model="input"
152 :disabled="!isEnabled"
153 :placeholder="t('assistant.askAnything')"
154 variant="subtle"
155 :autofocus="false"
156 size="sm"
157 @submit="handleSubmit"
158 >
159 <template #footer>
160 <div class="ml-auto flex items-center gap-2">
161 <UButton
162 v-if="chatMessages.length"
163 icon="i-lucide-trash-2"
164 color="neutral"
165 variant="ghost"
166 size="xs"
167 :disabled="!isEnabled"
168 @click="resetChat"
169 />
170
171 <UChatPromptSubmit
172 size="xs"
173 :status="status"
174 :disabled="!isEnabled || (status === 'ready' && !input.trim())"
175 @stop="stop()"
176 @reload="regenerate()"
177 />
178 </div>
179 </template>
180 </UChatPrompt>
181 </div>
182 </div>
183</template>
docs/app/components/content/BrowserFrame.vue+21−0
@@ -0,0 +1,21 @@
1<script setup lang="ts">
2defineProps<{
3 title?: string
4}>()
5</script>
6
7<template>
8 <div class="w-fit rounded-xl border border-muted bg-accented shadow-md overflow-hidden px-2 pb-2">
9 <div class="flex justify-between items-center px-2 py-2 bg-accented border-accented border-b">
10 <div class="flex items-center gap-2">
11 <span class="w-3 h-3 bg-red-500 rounded-full" />
12 <span class="w-3 h-3 bg-yellow-500 rounded-full" />
13 <span class="w-3 h-3 bg-green-500 rounded-full" />
14 </div>
15 <div class="text-muted">
16 {{ title }}
17 </div>
18 </div>
19 <slot mdc-unwrap="p" />
20 </div>
21</template>
docs/app/components/content/ColorModeSwitch.vue+33−0
@@ -0,0 +1,33 @@
1<script setup>
2const colorMode = useColorMode()
3
4const isLight = computed({
5 get() {
6 return colorMode.value === 'light'
7 },
8 set(_isLight) {
9 colorMode.preference = _isLight ? 'light' : 'dark'
10 },
11})
12</script>
13
14<template>
15 <ClientOnly>
16 <div class="flex-1 flex items-center justify-center">
17 <USwitch
18 v-model="isLight"
19 unchecked-icon="i-lucide-moon"
20 checked-icon="i-lucide-sun"
21 aria-label="Toggle color mode"
22 size="xl"
23 color="neutral"
24 :ui="{
25 base: 'w-70 h-35 rounded-lg rotate-90 data-[state=checked]:bg-[var(--ui-color-neutral-200)]',
26 thumb: 'data-[state=checked]:translate-x-35 data-[state=checked]:rtl:-translate-x-35 rounded-lg size-34',
27 icon: 'rotate-270 size-8',
28 }"
29 @click="isDark = !isDark"
30 />
31 </div>
32 </ClientOnly>
33</template>
docs/app/components/content/CommandSearch.vue+14−0
@@ -0,0 +1,14 @@
1<script setup lang="ts">
2const appConfig = useAppConfig()
3
4const src = computed(() => `https://ui.nuxt.com/examples/content-search-example?primary=${appConfig.ui.colors?.primary}&neutral=${appConfig.ui.colors?.neutral}`)
5</script>
6
7<template>
8 <ClientOnly>
9 <iframe
10 :src="src"
11 class="rounded-lg relative h-96 w-full"
12 />
13 </ClientOnly>
14</template>
docs/app/components/content/FloatingNuxt.vue+18−0
@@ -0,0 +1,18 @@
1<template>
2 <div class="flex-1 flex items-center justify-center">
3 <NuxtImg
4 src="/landing/nuxt-logo-3D.svg"
5 class="h-42 floating-logo"
6 alt="Nuxt 3D Logo"
7 />
8 </div>
9</template>
10
11<style>
12.floating-logo {
13 transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
14}
15.group:hover .floating-logo {
16 transform: translateY(-20px);
17}
18</style>
docs/app/components/content/NuxtImage.vue+87−0
@@ -0,0 +1,87 @@
1<template>
2 <div class="w-full flex items-center justify-center">
3 <svg
4 width="309"
5 height="309"
6 viewBox="0 0 309 309"
7 fill="none"
8 xmlns="http://www.w3.org/2000/svg"
9 >
10 <rect
11 x="0"
12 y="0"
13 width="309"
14 height="309"
15 rx="8"
16 fill="url(#paint0_linear_549_2095)"
17 fill-opacity="0.2"
18 />
19 <rect
20 x="0.5"
21 y="0.5"
22 width="308"
23 height="308"
24 rx="8"
25 stroke="url(#paint1_linear_549_2095)"
26 stroke-opacity="0.4"
27 />
28 <path
29 d="M250.424 224.554C251.995 199.097 246.309 173.754 234.01 151.409C221.753 129.139 206.184 104.281 197.759 104.281C182.497 104.281 159.941 135.743 151.205 139.926C139.866 129.94 100.698 80.5 88.8565 80.5C77.0152 80.5 29.4718 153.81 20.6396 172.34C6.93039 201.102 2.09076 293.5 22.2949 293.5C35.8243 293.5 51.7545 293.459 69.0776 293.414C108.704 293.311 190.075 293.104 232.215 293.414C243.818 293.499 248.52 255.423 250.424 224.554Z"
30 fill="url(#paint2_linear_549_2095)"
31 fill-opacity="0.3"
32 />
33 <path
34 d="M241.47 38.3696C241.47 47.4864 234.079 54.877 224.963 54.877C215.846 54.877 208.455 47.4864 208.455 38.3696C208.455 29.2529 215.846 21.8623 224.963 21.8623C234.079 21.8623 241.47 29.2529 241.47 38.3696Z"
35 fill="white"
36 fill-opacity="0.3"
37 />
38 <defs>
39 <linearGradient
40 id="paint0_linear_549_2095"
41 x1="154.5"
42 y1="0.5"
43 x2="154.5"
44 y2="308.5"
45 gradientUnits="userSpaceOnUse"
46 >
47 <stop stop-color="white" />
48 <stop
49 offset="1"
50 stop-color="white"
51 stop-opacity="0"
52 />
53 </linearGradient>
54 <linearGradient
55 id="paint1_linear_549_2095"
56 x1="154.5"
57 y1="0.5"
58 x2="154.5"
59 y2="308.5"
60 gradientUnits="userSpaceOnUse"
61 >
62 <stop stop-color="white" />
63 <stop
64 offset="1"
65 stop-color="white"
66 stop-opacity="0"
67 />
68 </linearGradient>
69 <linearGradient
70 id="paint2_linear_549_2095"
71 x1="126.999"
72 y1="48.1171"
73 x2="132.171"
74 y2="247.688"
75 gradientUnits="userSpaceOnUse"
76 >
77 <stop stop-color="white" />
78 <stop
79 offset="1"
80 stop-color="white"
81 stop-opacity="0"
82 />
83 </linearGradient>
84 </defs>
85 </svg>
86 </div>
87</template>
docs/app/plugins/vercel.client.ts+32−0
@@ -0,0 +1,32 @@
1import { inject, pageview } from '@vercel/analytics'
2import { injectSpeedInsights } from '@vercel/speed-insights'
3
4export default defineNuxtPlugin(() => {
5 if (import.meta.dev) return
6
7 const nuxtApp = useNuxtApp()
8 const route = useRoute()
9 const speedInsights = injectSpeedInsights({
10 route: route.matched[0]?.path || route.path,
11 framework: 'nuxt',
12 })
13
14 onNuxtReady(() => {
15 inject({
16 disableAutoTrack: true,
17 framework: 'nuxt',
18 })
19 pageview({
20 route: route.matched[0]?.path || route.path,
21 path: route.path,
22 })
23 })
24 // On navigation to a new page
25 nuxtApp.hooks.hook('page:finish', () => {
26 pageview({
27 route: route.matched[0]?.path || route.path,
28 path: route.path,
29 })
30 speedInsights?.setRoute(route.matched[0]?.path || route.path)
31 })
32})
docs/content/en/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Getting Started
2icon: i-lucide-rocket
docs/content/en/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1---
2title: Introduction
3description: Welcome to Docus theme documentation.
4navigation:
5 icon: i-lucide-house
6seo:
7 title: Introduction
8 description: Discover how to create, manage, and publish documentation effortlessly with Docus.
9---
10
11Welcome to **Docus**, a fully integrated documentation solution built with [Nuxt UI](https://ui.nuxt.com).
12
13## What is Docus?
14
15Docus is a theme based on the [UI documentation template](https://docs-template.nuxt.dev/). While the visual style comes ready out of the box, your focus should be on writing content using the Markdown and [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax) provided by [Nuxt Content](https://content.nuxt.com).
16
17We use this theme across all our Nuxt module documentations, including:
18
19::card-group
20 :::card
21 ---
22 icon: i-lucide-image
23 target: _blank
24 title: Nuxt Image
25 to: https://image.nuxt.com
26 ---
27 The documentation of `@nuxt/image`
28 :::
29
30 :::card
31 ---
32 icon: i-simple-icons-nuxtdotjs
33 target: _blank
34 title: Nuxt Content
35 to: https://content.nuxt.com
36 ---
37 The documentation of `@nuxt/content`
38 :::
39
40 :::card
41 ---
42 icon: i-simple-icons-supabase
43 target: _blank
44 title: Nuxt Supabase
45 to: https://supabase.nuxtjs.org
46 ---
47 The documentation of `@nuxt/supabase`
48 :::
49
50 :::card
51 ---
52 icon: i-simple-icons-strapi
53 target: _blank
54 title: Nuxt Strapi
55 to: https://strapi.nuxtjs.org
56 ---
57 The documentation of `@nuxt/strapi`
58 :::
59::
60
61## Key Features
62
63This theme includes a range of features designed to improve documentation management:
64
65- **Powered by** **[Nuxt 4](https://nuxt.com)**: Utilizes the latest Nuxt framework for optimal performance.
66- **Built with** **[Nuxt UI](https://ui.nuxt.com)**: Integrates a comprehensive suite of UI components.
67- **[MDC Syntax](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)**: Supports Markdown with component integration for dynamic content.
68- **[Nuxt Studio](https://docus.dev/en/getting-started/studio)** **Compatible**: Write and edit your content visually. No Markdown knowledge is required!
69- **Auto-generated Sidebar Navigation**: Automatically generates navigation from content structure.
70- **Full-Text Search**: Includes built-in search functionality for content discovery.
71- **Optimized Typography**: Features refined typography for enhanced readability.
72- **Dark Mode**: Offers dark mode support for user preference.
73- **Extensive Functionality**: Explore the theme to fully appreciate its capabilities.
docs/content/en/1.getting-started/3.installation.md+79−0
@@ -0,0 +1,79 @@
1---
2title: Installation
3description: Get started with Docus.
4navigation:
5 icon: i-lucide-download
6seo:
7 description: Get started with Docus documentation theme.
8 title: Installation
9---
10
11## `create-docus` CLI
12
13::steps
14### Create your docs directory
15
16Use the `create-docus` CLI to create a new Docus project:
17
18```bash [Terminal]
19npx create-docus my-docs
20```
21
22You can choose between two templates:
23
24- `default`: Basic Docus setup for single-language documentation
25- `i18n`: Includes internationalization support for multi-language documentation
26
27```bash [Terminal]
28# Create with i18n template
29npx create-docus my-docs -t i18n
30```
31
32We recommend using the `npm` package manager.
33
34### Start your docs server in development
35
36Move to your docs directory and start your docs server in development mode:
37
38```bash [Terminal]
39cd my-docs
40npm run dev
41```
42
43A local preview of your documentation will be available at <http://localhost:3000>
44
45### Write your documentation
46
47Head over the [Edition](/en/concepts/edition) section to learn how to write your documentation.
48::
49
50## AI Assistant Skill
51
52Get started quickly with Docus by adding specialized knowledge to your AI assistant (Cursor, Claude, etc.):
53
54```bash [Terminal]
55npx skills add https://docus.dev
56```
57
58This skill helps you create documentation faster by providing your AI assistant with:
59
60- Best practices for writing documentation with Docus
61- MDC component usage and ready-to-use templates
62- Writing guidelines and content structure patterns
63- Configuration and customization tips
64
65Once installed, your AI assistant can help you scaffold new documentation projects, generate pages with proper structure, and write content following Docus best practices.
66
67::tip{to="/en/ai/skills"}
68You can also publish your own skills from your Docus site. Learn more about Agent Skills.
69::
70
71## Layer Integration
72
73Docus uses a **Nuxt layer-based approach**, you can extend the Docus layer directly in your `nuxt.config.ts` with `extends: ['docus']`:
74
75```ts [nuxt.config.ts]
76export default defineNuxtConfig({
77 extends: ['docus']
78})
79```
docs/content/en/1.getting-started/4.project-structure.md+159−0
@@ -0,0 +1,159 @@
1---
2title: Project Structure
3description: Learn about the project structure of Docus.
4navigation:
5 icon: i-lucide-folder-tree
6---
7
8## Global structure
9
10Docus is a **Nuxt layer** that extends your standard Nuxt application with documentation features. This gives you the flexibility of a full Nuxt project.
11
12When you create a new Docus project with `npx create-docus my-docs`, you get:
13
14```bash
15my-docs/
16├── content/ # Your markdown content
17│ ├── index.md # Homepage
18│ └── docs/ # Documentation pages
19├── public/ # Static assets
20└── package.json # Dependencies and scripts
21```
22
23You can still use any feature or file of a classical Nuxt project:
24
25```bash
26my-docs/
27├── nuxt.config.ts # Nuxt configuration (add extra modules, components, etc.)
28├── app/ # App directory
29 ├── app.config.ts # App configuration
30│ ├── components/ # Components (add your own components)
31│ ├── layouts/ # Layouts (add your own layouts)
32│ └── pages/ # Pages (add your own pages)
33└── server/ # Server-side code (add your own server-side code)
34```
35
36### `content/` directory
37
38This is where you [write pages](/en/concepts/edition) in Markdown. Docus automatically generates routes based on your file structure.
39
40**Single language structure:**
41
42```bash
43content/
44├── index.md # Landing page (/)
45├── getting-started.md # Documentation page (/getting-started)
46└── guide/
47 ├── introduction.md # Documentation page (/guide/introduction)
48 └── configuration.md # Documentation page (/guide/configuration)
49```
50
51::tip{to="/en/concepts/edition"}
52You can separate your documentation files within a `docs/` subfolder to make them accessible at the `/docs` route. Additionally, you have the flexibility to override your landing page using custom Vue pages if desired.
53::
54
55**Multi-language structure (with i18n):**
56
57```bash
58content/
59├── en/
60│ ├── index.md # English landing page (/en)
61│ └── guide/
62│ └── introduction.md # Documentation page (/en/guide/introduction)
63└── fr/
64 ├── index.md # French landing page (/fr)
65 └── guide/
66 └── introduction.md # Documentation page (/fr/guide/introduction)
67```
68
69::tip{to="/en/concepts/internationalization"}
70More information about i18n is available in the internationalization section.
71::
72
73### `public/` directory
74
75Files contained within the `public/` directory are served at the root and are not modified by the build process. This is where you can locate your images, icons, and other static assets.
76
77### `package.json`
78
79This file contains all the dependencies and scripts for your application. The `package.json` of
80a Docus application is really minimal and looks like:
81
82```json [package.json]
83{
84 "name": "my-docs",
85 "scripts": {
86 "build": "nuxt build --extends docus",
87 "dev": "nuxt dev --extends docus",
88 },
89 "dependencies": {
90 "docus": "latest",
91 "better-sqlite3": "^12.2.0",
92 "nuxt": "^4.0.0"
93 }
94}
95```
96
97### `nuxt.config.ts`
98
99*This file is not mandatory to start a Docus application.*
100
101You can add extra modules to your Nuxt configuration file:
102
103```typescript [nuxt.config.ts]
104export default defineNuxtConfig({
105 extends: ['@vercel/analytics/nuxt/module']
106})
107```
108
109### `app.config.ts`
110
111*This file is not mandatory to start a Docus application.*
112
113::warning
114You need a `nuxt.config.ts` to be set if you want to override app configuration.
115::
116
117This is where you can [configure Docus](/en/concepts/configuration) to fit your branding, handle SEO, set your locale, and adapt links and socials.
118
119```ts [app.config.ts]
120export default defineAppConfig({
121 docus: {
122 locale: 'en', // Set your single-language locale
123 },
124 seo: {
125 title: 'My Docs',
126 description: 'My awesome documentation',
127 },
128 // ... other configurations
129})
130```
131
132## Full Nuxt Project Capabilities
133
134Since Docus is a Nuxt layer, you can use **any feature** of a standard Nuxt project:
135
136::warning
137You need a `nuxt.config.ts` to be set if you want to override your app with Nuxt files. If no Nuxt config is created, changes will not be applied.
138::
139
140```bash
141my-docs/
142├── app/ # App directory (optional)
143│ ├── app.config.ts # App configuration
144│ ├── app.css # Custom theme (auto-imported by Docus)
145│ ├── components/ # Custom Vue components
146│ ├── layouts/ # Custom layouts
147│ ├── pages/ # Custom Vue pages (outside of content)
148│ ├── composables/ # Vue composables
149│ └── middleware/ # Route middleware
150├── server/ # Server-side code
151│ └── api/ # API routes
152├── plugins/ # Nuxt plugins
153├── middleware/ # Global middleware
154└── modules/ # Custom Nuxt modules
155```
156
157::tip{to="/en/concepts/nuxt"}
158This layer-based approach gives you the power of the entire Nuxt ecosystem while keeping documentation as the primary focus.
159::
docs/content/en/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1---
2title: Studio module
3description: Edit your Nuxt Content website directly in production with the self-hosted Studio web editor.
4navigation:
5 icon: i-lucide-mouse-pointer-2
6 title: Studio module
7seo:
8 title: Nuxt Studio Web Editor
9 description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
10icon:
11 i-lucide-mouse-pointer-2 title: Web Editor
12 seo:
13 title: Nuxt Studio module
14 description: Learn how to use the self-hosted Nuxt Studio web editor to manage content directly in production with real-time preview and GitHub, GitLab and Google integration.
15---
16
17The **Nuxt Studio** module is a browser-based interface for editing your Nuxt Content website directly in production. Access it by GitHub, GitLab or Google authentication on your deployed site, and start managing content without any local development tools.
18
19::tip{to="https://nuxt.studio/introduction"}
20Browse Nuxt Studio documentation to learn how ton install the module.
21::
22
23:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24
25The **studio editor** allows you to manage content entirely from your browser on your production website. There's no need for local development tools, Git commands, or terminal access. It's ideal for content teams who want to edit and preview changes in a familiar environment.
26
27## Visual edition in production for your Nuxt Content website
28
29Nuxt Studio provides **visual editing directly in production** for Nuxt Content–powered websites.
30
31Originally offered as a standalone premium platform, Studio is now a **free, open-source, and self-hostable Nuxt module**. It enables your entire team, developers and non-technical editors alike, to create and update content safely without leaving your live website.
32
33## Current features
34
35### ✨ **TipTap Visual Editor**
36
37Rich Markdown editor with full MDC component support.
38
39### 💻 **Monaco Code Editor**
40
41Advanced code editor for Markdown (MDC), YAML, and JSON files if you want to edit raw code.
42
43### 📝 **Form-based Editor**
44
45Edit YAML, JSON, and frontmatter using auto-generated forms based on collection schemas.
46
47### 🎨  **Vue Component Props Editor**
48
49Visual interface to edit Vue component props directly from the editor.
50
51### 🔄 **Real-time Preview**
52
53Instantly preview content changes on your production website.
54
55### 🔐 **Multi-provider Authentication**
56
57Secure OAuth authentication with GitHub, GitLab, and Google.
58
59### 🔑 **Custom Authentication**
60
61Utilities to implement custom authentication flows (password, SSO, LDAP, etc.).
62
63### 📝 **File Management**
64
65Create, edit, rename, and delete content files in the [content/]{.s2} directory.
66
67### 🖼 **Media Management**
68
69Centralized media library with support for JPEG, PNG, GIF, WebP, AVIF, SVG, and more.
70
71### 🌳 **Git Integration**
72
73Commit content changes directly from production and rely on your CI/CD pipeline to deploy them.
74
75### 🚀 **Development Mode**
76
77Edit content and media files directly from your local filesystem using the Studio interface.
78
79### 🌍 **Internationalization**
80
81Full i18n support for 17 languages: AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82
83## **Upcoming features**
84
85### 📂 **Collections View**
86
87Manage and navigate all content collections from a unified interface.
88
89### 🖼 **Media Optimization**
90
91Optimize images and media assets directly within the editor.
92
93### 🤖**AI Content Assistant**
94
95Get smart, AI-powered suggestions to improve and speed up content creation.
96
97### 💡**Community-driven Features**
98
99Have an idea? Share your feedback and help shape the future of Nuxt Studio.
docs/content/en/1.getting-started/6.migration.md+42−0
@@ -0,0 +1,42 @@
1---
2title: Migration
3description: " How to migrate your documentation from an existing Markdown
4 solution to Docus"
5navigation:
6 icon: i-lucide-replace
7---
8
9## **Migrating from Docus v3 to v4**
10
11Docus v4 introduces a new **layer-based approach** that leverages the official Nuxt CLI instead of the custom Docus CLI. While your existing content and configuration remain compatible, you'll need to update your commands and project setup.
12
13### **⚠️ Breaking Changes**
14
15The main breaking changes are related to CLI commands:
16
17| v3 | v4 |
18| ------------------------ | ---------------------------- |
19| `npx docus init my-docs` | `npx create-docus my-docs` |
20| `docus dev` | `nuxt dev --extends docus` |
21| `docus build` | `nuxt build --extends docus` |
22
23::tip
24Your existing Markdown content and MDC syntax will work without changes. The migration primarily involves updating your development and build workflow.
25::
26
27## **Migrating to Docus**
28
29Already using a Markdown-based solution for your documentation? Whether it’s **Docus v1**, the **Nuxt UI docs template**, or another static site setup, migrating to Docus is simple and straightforward.
30
31Docus offers a clean and maintainable solution with a single dependency: the Docus library itself. There’s no need to manage multiple dependencies. With everything built-in and maintained together, keeping your documentation up to date is easier than ever.
32
33To migrate, just move your existing Markdown files into the `content/` directory of the Docus starter.
34
35From there, you have two scenarios:
36
37- **If your current docs already use Nuxt Content and the MDC syntax**, make sure the components used in your content exist in Nuxt UI. If any components are missing, you can easily create your own custom ones.
38- **If you’re using standard Markdown**, you can copy your files as is. Then, enhance your documentation progressively using the [built-in components](/en/essentials/components) provided by Nuxt UI.
39
40Once your content has been moved to the `content/` folder, you can go through the [configuration section](/en/concepts/configuration) to easily customize your app.
41
42Docus is designed to focus on writing content, so if you're already using Markdown, you can easily switch to it.
docs/content/en/1.getting-started/7.troubleshooting.md+33−0
@@ -0,0 +1,33 @@
1---
2title: Troubleshooting
3description: Common issues and their solutions when working with Docus.
4navigation:
5 icon: i-lucide-wrench
6seo:
7 description: Troubleshooting guide for common Docus issues and their solutions.
8 title: Troubleshooting
9---
10
11## `pnpm` issues
12
13### Approve build scripts
14
15If you encounter build or dev errors when using `pnpm`, especially related to `better-sqlite3` dependency, you might need to approve certain packages for building.
16
17Run the following command to approve packages for building:
18
19```bash [Terminal]
20pnpm approve-builds
21```
22
23When prompted, select `better-sqlite3` and `sharp` from the list of packages to approve it for building.
24
25### Enable shameful hoisting (compatibility mode)
26
27If you see errors such as `Can't resolve 'tailwindcss'` or `Can't resolve '@nuxt/ui'` you don't necessary need to import them, you can just apply a flat `node_modules` layout (like npm or yarn).
28
29You can enable compatibility mode by creating a `.npmrc` file with:
30
31```bash [.npmrc]
32shamefully-hoist=true
33```
docs/content/en/2.concepts/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Core Concepts
2icon: i-lucide-brain
docs/content/en/2.concepts/2.edition.md+197−0
@@ -0,0 +1,197 @@
1---
2title: Edition
3description: Learn how to write your documentation.
4navigation:
5 icon: i-lucide-pencil
6seo:
7 description: Learn how to write your documentation with Docus and Nuxt Content.
8 title: Edition
9---
10
11Docus provides customization options to suit your needs.
12
13- You can integrate it as a complete website solution with both landing and documentation sections
14- Or embed the documentation functionality within your Nuxt application while maintaining full control over all other aspects (thanks to the [Nuxt layer feature](https://nuxt.com/docs/4.x/getting-started/layers)).
15
16## Landing page
17
18The landing page is the first page your visitors see at the root `/` of your site.
19
20### `Markdown` (default)
21
22By default, the landing page corresponds to the `content/index.md` file.
23
24Docus automatically:
25
26- Creates a `landing` content collection for the `content/index.md` file
27- Registers the `/` route to render your Markdown landing page
28
29::tip{to="https://ui.nuxt.com/docs/components"}
30The `MDC` syntax gives you the ability to use Vue components, including slots and props in your `.md` files. You can use any Nuxt UI component in your Markdown to build your landing page.
31::
32
33### `Vue` (custom)
34
35Since Docus is a layer, it allows you to fully customize your landing page by creating a Vue page at `app/pages/index.vue` (or `app/pages/[[lang]]/index.vue` for i18n setups). This gives you full control with Vue components, custom layouts, and advanced interactions.
36
37In this case, Docus:
38
39- Do not create `landing` collection
40- Use native Nuxt router and consider `index.vue` as your home page
41
42::note
43This automatic detection works for both single-language and multi-language (i18n) setups.
44::
45
46### Components
47
48MDC provides a dedicated syntax to easily use Vue components in your content:
49
50```mdc [content/index.md]
51:::u-page-feature
52:::
53```
54
55### Slots
56
57Slots can receive text content or other components.
58
59- **Default slot** is rendered directly inside the component or with `#default`.
60- **Named slots** are defined using the `#` symbol followed by the slot name.
61
62```mdc [index.md]
63:::u-page-feature
64 #title
65 Nuxt 4
66
67 #description
68 Powered by Nuxt 4 for optimal performances and SEO.
69:::
70```
71
72### Props
73
74Props are passed using inline syntax or YAML frontmatter within the component block:
75
76::tabs
77 :::tabs-item{icon="i-lucide-braces" label="Inline"}
78 ```mdc [index.md]
79 :::u-page-feature{icon="i-simple-icons-nuxt" to="https://nuxt.com"}
80 #title
81 Nuxt 4
82
83 #description
84 Powered by Nuxt 4 for optimal performances and SEO.
85 :::
86 ```
87 :::
88
89 :::tabs-item{icon="i-lucide-code" label="YAML"}
90 ```mdc [index.md]
91 :::u-page-feature
92 ---
93 icon: i-simple-icons-nuxt
94 to: https://nuxt.com
95 ---
96 #title
97 Nuxt 4
98
99 #description
100 Powered by Nuxt 4 for optimal performances and SEO.
101 :::
102 ```
103 :::
104::
105
106::note{to="https://content.nuxt.com"}
107Check the Nuxt Content documentation for more details about the MDC syntax
108::
109
110## Documentation pages
111
112::tip
113There is a one to one relationship between content files and pages on your site. Each Markdown page in the `content/` folder maps directly to a page route.
114::
115
116### Without docs folder
117
118To get started, simply edit or add a `.md` files in the `content/` directory to have your pages updated. Docus will handle routing, navigation, and full-text search automatically.
119
120```bash
121content/
122├── index.md # Landing page → /
123├── getting-started.md # Documentation → /getting-started
124└── guide/
125 └── introduction.md # Documentation → /guide/introduction
126```
127
128### With docs folder
129
130You can optionally organize your documentation files within a `docs/` subfolder. When Docus detects a `docs/` folder in your `content/` directory, it automatically prefixes all documentation URLs with `/docs`.
131
132```bash
133content/
134├── index.md # Landing page → /
135└── docs/
136 ├── getting-started.md # Documentation → /docs/getting-started
137 └── guide/
138 └── introduction.md # Documentation → /docs/guide/introduction
139```
140
141::tip
142This is particularly useful when you want to use Docus as embedded documentation alongside other custom pages. You can create additional pages like a blog, contact page, pricing page, or any other custom content at the root level, while keeping your documentation organized under `/docs`.
143::
144
145### Mixed content
146
147Since Docus is a Nuxt layer, you can combine Markdown files with custom Vue pages:
148
149```bash
150├── app/
151│ └── pages/
152│ ├── pricing.vue # Custom pricing page → /pricing
153│ └── contact.vue # Custom contact page → /contact
154└── content/
155 ├── index.md # Landing page → /
156 └── blog.md # Blog page → /blog
157 └── docs/ # Documentation → /docs/*
158 ├── getting-started.md
159 └── api/
160 └── reference.md
161```
162
163This structure gives you the flexibility to build a complete website with Docus. Use Markdown for documentation and Vue pages for custom functionality like blogs, dashboards, or any interactive pages.
164
165### Frontmatter
166
167Every file of the `content/` folder starts with the `---` syntax on top of the page. It corresponds to the frontmatter of your file which is a convention of Markdown-based CMS to provide meta-data to pages.
168
169::tabs
170 :::tabs-item{icon="i-lucide-code" label="Code"}
171 ```md [content/getting-started/edition.md]
172 ---
173 title: 'Edition'
174 description: 'Learn how to write your documentation.'
175 ---
176
177 <!-- Content of the page in pure Markdown -->
178 ```
179 :::
180
181 :::tabs-item{icon="i-lucide-eye" label="Preview"}
182 ![Frontmatter title and description](/documentation/frontmatter-preview-title-description.png)
183 :::
184::
185
186### Parameters
187
188Pages in the `/content` directory are defined as [page](https://content.nuxt.com/docs/collections/types#page-type) type in Nuxt Content. They all follow the same structure with existing frontmatter keys:
189
190| | | | |
191| ------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | - |
192| Key | Type | Description | |
193| `title` | `string` | Title of the page. Displayed on top of the page. Used as SEO title if `seo` key is not provided. | |
194| `description` | `string` | Description of the page. Displayed bellow the title on top of the page. Used as SEO description if `seo` key is not provided. | |
195| `navigation` | `boolean` | Define if the page is included in left aside navigation. | |
196| `layout` | `string` | Change Nuxt layout of the page (default to `docs` defined by Docus). | |
197| `seo` | `{ title: string, description: string }` | SEO metas of your page. | |
docs/content/en/2.concepts/3.configuration.md+353−0
@@ -0,0 +1,353 @@
1---
2title: Configuration
3description: "Customize your Docus documentation from the Nuxt application configuration file. "
4navigation:
5 icon: i-lucide-settings
6seo:
7 description: Customize your Docus documentation from Nuxt application configuration file.
8 title: Configuration
9---
10
11Docus allows you to configure your documentation through the [app.config.ts](https://nuxt.com/docs/guide/directory-structure/app-config) file provided by Nuxt.
12
13::warning
14You need a `nuxt.config.ts` to be set if you want to override your app config. Without an existing Nuxt config file, changes won't be applied.
15::
16
17## SEO
18
19Technical SEO is tricky and boring. Docus offers a solid, opt-in default setup that works out of the box, while giving you full control to customize your SEO metadata, from page titles to social sharing images.
20
21### Metadata
22
23Docus offers flexible `SEO` metadata configuration, allowing you to easily override values globally or on a per-page basis.
24
25#### Global configuration
26
27Define default `SEO` metas for your entire documentation in `app.config.ts`. These values will be used as fallbacks across pages that don't specify their own in the front-matter as described in next section.
28
29You can also configure your `site.name` value from your `nuxt.config.ts` file, default is based on your `package.json` name.
30
31::code-group
32```ts [app.config.ts]
33export default defineAppConfig({
34 seo: {
35 // Default to `%s - ${site.name}`
36 titleTemplate: '',
37 // Default to package.json name
38 title: '',
39 // Default to package.json description
40 description: ''
41 },
42})
43```
44
45```ts [nuxt.config.ts]
46export default defineNuxtConfig({
47 site: {
48 name: 'Docus',
49 },
50})
51```
52::
53
54#### Per-page configuration
55
56Each Markdown file in the `content/` directory starts with a frontmatter block (`---`). You can define `SEO` metadata per page by using the `seo` key:
57
58```md [content/concepts/configuration.md]
59---
60seo:
61 title: 'Configuration'
62 description: 'Customize your Docus documentation from the Nuxt application configuration file.'
63---
64
65<!-- Page content -->
66```
67
68::tip{to="/en/concepts/edition#frontmatter"}
69For more details on front-matter, see the edition guide.
70::
71
72### **Social sharing (OG) image**
73
74When you share a link of your documentation on social media or some chat platforms, the link will be **unfurled**, in other terms it gives a glimpse of what someone linked (displaying a title, description, and an image). All of these are powered by the **Open Graph Protocol**.
75
76#### Documentation pages
77
78We're using [Nuxt OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction) under the hood to generate OG image for each documentation page based on the provided title and description. For example, the OG image for the current page is:
79
80![og image documentation page](https://docus.dev/_og/s/c_Docs,headline_Core+Concepts,title_Configuration,description_Customize+your+Docus+documentation+from+Nuxt+application+configuration+file.,p_Ii9lbi9jb25jZXB0cy9jb25maWd1cmF0aW9uIg.png)
81
82#### Landing page
83
84Same as the documentation pages, the landing page uses the same OG image generator based on the provided title and description.
85
86![og image landing page](https://docus.dev/_og/s/c_Landing,title_Write+beautiful+docs+with+Markdown,description_Ship+fast+flexible+and+SEO-optimized+documentation+with+beautiful+design+out+of+the+box.+Docus+brings+together+the+best+of+the+Nuxt+ecosystem.+Powered+by+Nuxt+UI.,p_Ii9lbiI.png)
87
88
89#### Override OG image
90
91Since Docus is a [Nuxt layer](https://nuxt.com/docs/guide/going-further/layers), you can override docs or landing page OG image by creating a file with the same name in your own `components/OgImage/` directory.
92
93```
94components/
95 OgImage/
96 Docs.takumi.vue # overrides the docs OG image
97 Landing.takumi.vue # overrides the landing OG image
98```
99
100Your component receives `title`, `description`, and `headline` (docs only) as props and can use any Tailwind CSS or inline styles supported by the [Takumi renderer](https://nuxtseo.com/docs/og-image/guides/renderers).
101
102### Sitemap
103
104Docus automatically generates a sitemap at `/sitemap.xml` containing all your documentation pages. This helps search engines discover and index your content.
105
106#### Excluding pages
107
108To exclude a specific page from the sitemap, add `sitemap: false` to its frontmatter:
109
110```md [content/draft-page.md]
111---
112sitemap: false
113---
114
115This page won't appear in the sitemap.
116```
117
118#### Site URL
119
120For proper sitemap URLs, set the `NUXT_SITE_URL` environment variable:
121
122```bash
123NUXT_SITE_URL=https://your-site.com
124```
125
126## Header
127
128Configure your documentation site's `title` or `logo`:
129
130```ts [app.config.ts]
131export default defineAppConfig({
132 header: {
133 title: '',
134 logo: {
135 light: '',
136 dark: '',
137 alt: '',
138 },
139 },
140})
141```
142
143### Brand Assets
144
145You can configure additional brand assets for your logo. Right-clicking the logo in the header opens a context menu with copy and download actions.
146
147```ts [app.config.ts]
148export default defineAppConfig({
149 header: {
150 title: 'My Project',
151 logo: {
152 light: '/logo/logo-dark.svg',
153 dark: '/logo/logo-light.svg',
154 alt: 'My Project Logo',
155 wordmark: {
156 light: '/logo/wordmark-dark.svg',
157 dark: '/logo/wordmark-light.svg',
158 },
159 favicon: '/favicon.svg',
160 brandAssetsUrl: 'https://example.com/brand',
161 },
162 },
163})
164```
165
166| Field | Description |
167| ------------------------------ | ------------------------------------------------------------------------ |
168| `logo.wordmark.light` / `dark` | Full wordmark (icon + text) for each color mode. |
169| `logo.display` | Which variant to show in the header: `'logo'` (default) or `'wordmark'`. |
170| `logo.class` | Additional CSS classes on the logo image (e.g. `'h-8'`). |
171| `logo.favicon` | Path to the favicon file. Defaults to `/favicon.ico`. |
172| `logo.brandAssetsUrl` | Link to your brand assets page, shown as a menu item. |
173
174When the logo is an SVG, the context menu offers **Copy logo** and **Copy wordmark** actions that copy the raw SVG with `currentColor` fills, ready to paste into Figma or any design tool. For non-SVG formats (PNG, etc.), only download actions are available.
175
176## Color Mode
177
178By default, Docus includes a color mode toggle in the header and footer, allowing users to switch between light and dark modes.
179
180If your documentation only uses one theme, you can force it by setting the `colorMode` option:
181
182```ts [app.config.ts]
183export default defineAppConfig({
184 docus: {
185 colorMode: 'dark'
186 }
187})
188```
189
190| Value | Behavior |
191| --- | --- |
192| `''` (default) | System preference with toggle button |
193| `'light'` | Forces light mode, hides toggle |
194| `'dark'` | Forces dark mode, hides toggle |
195
196### Keyboard Shortcut
197
198Press :kbd{value="D"} to toggle between light and dark mode when the color mode toggle is visible.
199
200You can customize or disable this shortcut in `app.config.ts`:
201
202```ts [app.config.ts]
203export default defineAppConfig({
204 docus: {
205 shortcuts: {
206 toggleColorMode: 'd', // Default
207 },
208 },
209})
210```
211
212Set `toggleColorMode` to an empty string to disable the shortcut. See the [Assistant](/en/ai/assistant#keyboard-shortcuts) page for the shortcut format (`meta_d`, `ctrl_shift_p`, etc.).
213
214When a color mode is forced, the toggle button is hidden from the header and footer, and the color mode commands are removed from the command palette.
215
216## Navigation
217
218### Sub Navigation
219
220For documentation sites with many content sections, you can enable a sub-navigation that splits your top-level content folders into sections and filters the left sidebar to show only the active section's pages.
221
222Two display modes are available:
223
224- **`header`** — renders a secondary tab bar below the header (desktop only, with a drawer on mobile)
225- **`aside`** — renders section anchors at the top of the left sidebar (with a drawer on mobile)
226
227
228```ts [app.config.ts]
229export default defineAppConfig({
230 navigation: {
231 sub: 'header', // or 'aside'
232 },
233})
234```
235
236:video{src="https://res.cloudinary.com/nuxt/video/upload/v1773263594/docus/subnav_idh2ae.mp4"}
237
238::note
239The tabs are automatically generated from your top-level folders in `content/`. Each folder's title and icon are read from its `.navigation.yml` file.
240::
241
242
243
244## Search
245
246Docus includes built-in full-text search powered by [Nuxt UI ContentSearch](https://ui.nuxt.com/docs/components/content-search). By default, it uses client-side [Fuse.js](https://www.fusejs.io/) filtering which loads all search sections upfront.
247
248### FTS5 Full-Text Search
249
250You can switch to [SQLite FTS5](https://content.nuxt.com/docs/utils/use-search-collection) for faster, indexed search with built-in snippet highlighting. This builds an FTS5 index in the browser using SQLite WASM and only runs the search when a query is entered, instead of loading all sections upfront.
251
252```ts [app.config.ts]
253export default defineAppConfig({
254 search: {
255 fts: true
256 }
257})
258```
259
260| Mode | Index | Speed | Typo tolerance | Upfront payload |
261| --- | --- | --- | --- | --- |
262| Fuse.js (default) | In-memory JS scan | O(n) per query | Full fuzzy | All sections loaded |
263| FTS5 | SQLite inverted index | O(log n) lookup | Prefix only | None |
264
265## Socials Links
266
267Add your social media links in the footer using a `Record<string, string>` where the key matches an icon from [Simple Icons](https://simpleicons.org/) library.
268
269```ts [app.config.ts]
270export default defineAppConfig({
271 socials: {
272 x: 'https://x.com/nuxt_js',
273 discord: 'https://discord.com/invite/ps2h6QT',
274 nuxt: 'https://nuxt.com',
275 }
276})
277```
278
279## Table of Contents
280
281You can customize the table of content on the right sidebar of each page.
282
283```ts [app.config.ts]
284export default defineAppConfig({
285 toc: {
286 // Rename the title of the table of contents
287 title: 'On this page',
288 // Add a bottom section to the table of contents
289 bottom: {
290 title: 'Community',
291 links: [{
292 icon: 'i-lucide-book-open',
293 label: 'Nuxt UI docs',
294 to: 'https://ui.nuxt.com/getting-started/installation/nuxt',
295 target: '_blank'
296 }]
297 }
298 }
299})
300```
301
302## Locale
303
304For single-language documentation (without the full `@nuxtjs/i18n` module), you can configure the locale through `app.config.ts`:
305
306```ts [app.config.ts]
307export default defineAppConfig({
308 docus: {
309 locale: 'fr', // Default: 'en'
310 }
311})
312```
313
314This sets the language for:
315
316- UI component translations
317- The `lang` and `dir` attributes on the `<html>` tag
318- Built-in Docus interface strings
319
320::tip{to="/en/concepts/internationalization"}
321For multi-language documentation with language switching, see the [Internationalization guide](/en/concepts/internationalization).
322::
323
324## GitHub Integration
325
326Docus reads your `.git/` folder to get the `url` and `branch` of your repository to add:
327
328- GitHub icon in the header and footer
329- `Edit this page` and `Report an issue` links in the footer of each page.
330
331You can customize the `url`, `branch` and `rootDir` of your docs application by adding the following configuration to your `app.config.ts` file:
332
333```ts [app.config.ts]
334export default defineAppConfig({
335 github: {
336 url: 'https://github.com/nuxt-content/docus',
337 branch: 'main',
338 rootDir: 'docs'
339 }
340})
341```
342
343If you don't want to use GitHub, you can set the `github` key to `false` to disable the GitHub integration.
344
345```ts [app.config.ts]
346export default defineAppConfig({
347 github: false
348})
349```
350
351::tip{to="/en/getting-started/studio"}
352Those configurations can also be handled in Studio editor, give it a try!
353::
docs/content/en/2.concepts/4.theme.md+136−0
@@ -0,0 +1,136 @@
1---
2title: Theme
3description: Custom the appearance of your Docus documentation thanks to Nuxt UI flexible theming.
4navigation:
5 icon: i-lucide-paint-roller
6---
7
8Docus is built on top of Nuxt UI and takes full advantage of Tailwind CSS v4, CSS variables. The Tailwind Variants API offers a flexible and scalable theming system.
9
10::tip{to="https://ui.nuxt.com/getting-started/theme"}
11For a full overview of Nuxt UI theming, check out the Nuxt UI documentation.
12::
13
14## Override with `@theme`
15
16You can customize your theme with CSS variables inside a `@theme` directive to define your project's custom design tokens, like fonts, colors, and breakpoints.
17
18To override the theme, create an `app/app.css` file in your project:
19
20```css [app/app.css]
21@theme {
22 --font-sans: 'Public Sans', sans-serif;
23
24 --breakpoint-3xl: 1920px;
25
26 --color-green-50: #EFFDF5;
27 --color-green-100: #D9FBE8;
28 --color-green-200: #B3F5D1;
29 --color-green-300: #75EDAE;
30 --color-green-400: #00DC82;
31 --color-green-500: #00C16A;
32 --color-green-600: #00A155;
33 --color-green-700: #007F45;
34 --color-green-800: #016538;
35 --color-green-900: #0A5331;
36 --color-green-950: #052E16;
37}
38```
39
40::warning
41Docus automatically imports `app/app.css` — you don't need to add it to the `css` array in `nuxt.config.ts`, and you should **not** include `@import "tailwindcss"` in this file as Docus handles it for you.
42::
43
44## Colors
45
46Docus uses pre-configured color aliases that are used to style components and power the `color` props across the UI.
47
48Each badge below represents a default alias:
49
50- :u-badge{label="primary" variant="outline"} → Main brand color, used as the default color for components :br [(default: green)]{.text-xs,text-muted}
51- :u-badge{color="secondary" label="secondary" variant="outline"} → Secondary color to complement the primary color :br [(default: blue)]{.text-xs,text-muted}
52- :u-badge{color="success" label="success" variant="outline"} → Used for success states :br [(default: green)]{.text-xs,text-muted}
53- :u-badge{color="info" label="info" variant="outline"} → Used for informational states :br [(default: blue)]{.text-xs,text-muted}
54- :u-badge{color="warning" label="warning" variant="outline"} → Used for warning states :br [(default: yellow)]{.text-xs,text-muted}
55- :u-badge{color="error" label="error" variant="outline"} → Used for form error validation states :br [(default: red)]{.text-xs,text-muted}
56- :u-badge{color="neutral" label="neutral" variant="outline"} → Neutral color for backgrounds, text, etc. :br [(default: slate)]{.text-xs,text-muted}
57
58You can customize these colors globally by updating the `app.config.ts` file under the `ui.colors` key:
59
60```ts [app.config.ts]
61export default defineAppConfig({
62 ui: {
63 colors: {
64 primary: 'blue',
65 neutral: 'zinc'
66 }
67 }
68})
69```
70
71## Components
72
73Beyond colors, all [Nuxt UI components](https://ui.nuxt.com/components) can be themed globally via `app.config.ts`.
74
75You can override any component’s appearance by using the same structure as the component’s internal theme object (displayed at [the end of each component page](https://ui.nuxt.com/components/card#theme)).
76
77For example, to change the font weight of all buttons:
78
79```ts [app.config.ts]
80export default defineAppConfig({
81 ui: {
82 button: {
83 slots: {
84 base: 'font-bold'
85 }
86 }
87 }
88})
89```
90
91In this example, the `font-bold` class will override the default `font-medium` class on all buttons.
92
93::note{to="https://ui.nuxt.com/components/button#theme"}
94To explore the available theme options for each component, refer to the **Theme** section in their respective Nuxt UI documentation page.
95::
96
97## Docus Subcomponents
98
99Docus uses several Nuxt UI components internally for navigation, table of contents, and sub-navigation. You can customize their default variants through `app.config.ts` using the `defaultVariants` key, without having to override the entire component.
100
101The following components are configurable:
102
103| Component | Key | Defaults |
104|---|---|---|
105| [ContentToc](https://ui.nuxt.com/components/content-toc) | `ui.contentToc` | `highlight: true` |
106| [ContentNavigation](https://ui.nuxt.com/components/content-navigation) | `ui.contentNavigation` | `variant: 'link'`, `highlight: true` |
107| [NavigationMenu](https://ui.nuxt.com/components/navigation-menu) | `ui.navigationMenu` | `variant: 'pill'`, `highlight: true` |
108
109For example, to change the table of contents highlight style to `circuit` and switch the sidebar navigation variant to `pill`:
110
111```ts [app.config.ts]
112export default defineAppConfig({
113 ui: {
114 contentToc: {
115 defaultVariants: {
116 highlightVariant: 'circuit',
117 highlightColor: 'secondary'
118 }
119 },
120 contentNavigation: {
121 defaultVariants: {
122 variant: 'pill',
123 highlight: false
124 }
125 }
126 }
127})
128```
129
130Each component supports the following variant options:
131
132- **`highlight`** — Display an active indicator line (`true` or `false`)
133- **`highlightColor`** — Color of the indicator (`primary`, `secondary`, `neutral`, etc.)
134- **`variant`** — Visual style (`pill` or `link`, where applicable)
135- **`highlightVariant`** — Indicator style (`straight` or `circuit`, ContentToc only)
136- **`color`** — Base color of the active link
docs/content/en/2.concepts/5.customization.md+278−0
@@ -0,0 +1,278 @@
1---
2title: Customization
3description: Learn how to override built-in components in Docus to customize your documentation.
4navigation:
5 icon: i-lucide-pen-tool
6---
7
8Docus is built on top of Nuxt 4 which offers a flexible component layer system that allows you to override some part of the UI by redefining specific components in your own app. This makes it easy to fully customize the visual appearance and behavior of your documentation without touching the core theme.
9
10To override a component, simply create a Vue file with the same name in the `components/` directory. Docus will automatically use your version instead of the default one.
11
12## App Header
13
14You can customize different parts of the header by overriding the following components:
15
16### `AppHeaderLogo`
17
18For simple adjustments like changing the logo size, you can use the `logo.class` option in `app.config.ts` without overriding the component (e.g. `class: 'h-8'`).
19
20To fully replace the default logo in the header, create the `components/AppHeaderLogo.vue` file. Your component will replace the default one provided by Docus theme. You can use the `useLogoAssets()` composable to keep the right-click context menu with copy and download actions.
21
22![App header logo visualisation](/documentation/app-header-logo.webp)
23
24::u-button
25---
26color: neutral
27icon: i-lucide-code-xml
28to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderLogo.vue
29variant: link
30---
31Default component code
32::
33
34### `AppHeaderLeft`
35
36The logo sits inside a default home link wrapper. If you want to change that link (URL, attributes) or the layout around `AppHeaderLogo`, override `components/AppHeaderLeft.vue` instead.
37
38::u-button
39---
40color: neutral
41icon: i-lucide-code-xml
42to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderLeft.vue
43variant: link
44---
45Default component code
46::
47
48### `AppHeaderCTA`
49
50To customize the call-to-action area in the header (for example, adding a “Get Started” button or external link), override the `components/AppHeaderCTA.vue` component.
51
52![App header CTA visualisation](/documentation/app-header-cta.webp)
53
54::note
55---
56to: https://github.com/nuxt-content/docus/blob/main/docs/app/components/AppHeaderCTA.vue
57---
58By default this components is empty but you can have a look at how we're overriding it on Docus documentation itself.
59::
60
61### `AppHeaderCenter`
62
63To customize the center area in the header, override the `components/AppHeaderCenter.vue` component. Your component will replace the search bar provided by Docus theme.
64
65![App header logo visualisation](/documentation/app-header-center.webp)
66
67::u-button
68---
69color: neutral
70icon: i-lucide-code-xml
71to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderCenter.vue
72variant: link
73---
74Default component code
75::
76
77### `AppHeaderBody`
78
79By default, when you open the menu on mobile view, Docus is displaying your `content/` folder tree as a menu with the [ContentNavigation](https://ui.nuxt.com/components/content-navigation) component. You can override this menu with the `components/AppHeaderBody.vue` component and fill the menu body (under the header) in mobile.
80
81![App header body visualisation](/documentation/app-header-body.webp)
82
83::u-button
84---
85color: neutral
86icon: i-lucide-code-xml
87to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderBody.vue
88variant: link
89---
90Default component code
91::
92
93### `AppHeaderBottomRight`
94
95When [`navigation.sub`](/en/concepts/configuration#sub-navigation) is set to `'header'`, Docus renders a secondary tab bar below the header. To add custom content on the right side of this bar (e.g. a toggle, a badge), create a `components/AppHeaderBottomRight.vue` component.
96
97::note
98---
99to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderBottom.vue
100---
101To fully replace the sub navigation bar, override the `AppHeaderBottom.vue` component instead.
102::
103
104::tip{to="/en/concepts/nuxt"}
105If you want to customize the header globally, maybe you should consider using your own layout.
106::
107
108## App Footer
109
110You can customize different parts of the footer by overriding the following components:
111
112### `AppFooterLeft`
113
114To replace the left side of the footer, create the `components/AppFooterLeft.vue` file. Your component will replace the default one provided by Docus theme.
115
116![App footer left visualisation](/documentation/app-footer-left.webp)
117
118::u-button
119---
120color: neutral
121icon: i-lucide-code-xml
122to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterLeft.vue
123variant: link
124---
125Default component code
126::
127
128### `AppFooterRight`
129
130To replace the right side of the footer, create the `components/AppFooterRight.vue` file. Your component will replace the default one provided by Docus theme.
131
132![App footer right visualisation](/documentation/app-footer-right.webp)
133
134::u-button
135---
136color: neutral
137icon: i-lucide-code-xml
138to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterRight.vue
139variant: link
140---
141Default component code
142::
143
144::tip{to="/en/concepts/nuxt"}
145If you want to customize the footer globally, maybe you should consider using your own layout.
146::
147
148## Docs
149
150You can also customize header and both asides of the documentation pages.
151
152### `DocsPageHeaderLinks`
153
154In the header right side of your documentation page, Docus default behaviour is displaying a dropdown with quick actions related to the current page’s Markdown source. It allows the reader of the documentation to:
155
156- **Copy a direct link** to the raw `.md` file to the clipboard.
157- **View the Markdown source** in a new browser tab.
158- **Open the page’s content in ChatGPT or Claude**, pre-filled with a prompt to analyze the Markdown file.
159
160These actions are especially useful for contributors, readers, or AI-assisted workflows but you can create your own `components/DocsPageHeaderLinks.vue` component to override it.
161
162![App Page Header Links](/documentation/app-page-header-links.webp)
163
164::u-button
165---
166color: neutral
167icon: i-lucide-code-xml
168to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsPageHeaderLinks.vue
169variant: link
170---
171Default component code
172::
173
174### `DocsAsideRight`
175
176To fully replace the right aside of the documentation pages, create a `components/DocsAsideRight.vue` component.
177
178![Docs right aside](/documentation/docs-aside-right.png)
179
180::u-button
181---
182color: neutral
183icon: i-lucide-code-xml
184to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsAsideRight.vue
185variant: link
186---
187Default component code
188::
189
190### `DocsAsideRightBottom`
191
192To customize bottom part of the right aside of the documentation pages. You can create the`components/DocsAsideRightBottom.vue` component. Your component will replace the default bottom table of content provided by Docus theme.
193
194![Docs right aside bottom](/documentation/docs-aside-right-bottom.webp)
195
196::u-button
197---
198color: neutral
199icon: i-lucide-code-xml
200to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsAsideRightBottom.vue
201variant: link
202---
203Default component code
204::
205
206### `DocsAsideLeftTop`
207
208To customize top part of the left aside of the documentation pages. You can create the`components/DocsAsideLeftTop.vue` component.
209
210![Docs Aside Left Top](/documentation/docs-aside-left-top.webp)
211
212::note
213---
214to: https://github.com/nuxt/image/blob/main/docs/app/components/DocsAsideLeftTop.vue
215---
216By default this components is empty but you can have a look at how we're overriding it on Nuxt Image documentation itself.
217::
218
219### `DocsAsideLeftBody`
220
221To customize main part of the left aside of the documentation pages. You can create the`components/DocsAsideLeftTop.vue` component. Your component will replace the default file navigation provided by Docus theme.
222
223![Docs aside left body visualisation](/documentation/docs-aside-left-body.webp)
224
225::u-button
226---
227color: neutral
228icon: i-lucide-code-xml
229to: https://github.com/nuxt-content/docus/tree/main/layer/app/components/docs/DocsAsideLeftBody.vue
230variant: link
231---
232Default component code
233::
234
235## Custom Icons
236
237Docus uses [Nuxt Icon](https://github.com/nuxt/icon) with the [Iconify](https://iconify.design/) provider, giving you access to thousands of icons out of the box (e.g. `i-lucide-arrow-right`, `i-simple-icons-github`).
238
239To add your own icons, place SVG files in the `assets/icons/` directory of your app. They are automatically registered under the `custom` prefix and available everywhere in your project.
240
241```
242assets/
243 icons/
244 my-logo.svg
245```
246
247You can then use them with the `i-custom:` prefix:
248
249```md [content/getting-started.md]
250---
251navigation:
252 icon: i-custom:my-logo
253---
254```
255
256```ts [app.config.ts]
257export default defineAppConfig({
258 toc: {
259 bottom: {
260 links: [{
261 icon: 'i-custom:my-logo',
262 label: 'Preview',
263 to: '/preview'
264 }]
265 }
266 }
267})
268```
269
270```vue [components/MyComponent.vue]
271<template>
272 <UIcon name="i-custom:my-logo" />
273</template>
274```
275
276::tip{to="https://iconify.design/docs/icons/icon-set-basics.html"}
277SVG files should use `currentColor` for fills and strokes so the icon adapts to text color.
278::
docs/content/en/2.concepts/6.internationalization.md+125−0
@@ -0,0 +1,125 @@
1---
2title: Internationalization
3description: Create multi-language documentation with Docus built-in i18n support.
4navigation:
5 icon: i-lucide-globe
6seo:
7 description: Learn how to set up and manage multi-language documentation with Docus built-in i18n support.
8 title: Internationalization
9---
10
11Docus introduces **native internationalization support** based on the `@nuxtjs/i18n` module, allowing you to create documentation in multiple languages with automatic routing and content management.
12
13## Features
14
15- **Built-in i18n module**: Native integration with `@nuxtjs/i18n`
16- **Dynamic locale routing**: Automatic URL prefixing with language codes (`/en/docs`, `/fr/docs`)
17- **Content collections per locale**: Separate content management for each language
18- **Language switcher**: Built-in component for switching between locales
19- **Single-language configuration**: Simple locale configuration for single-language sites via `app.config.ts`
20
21## Single Language Configuration
22
23If you're building documentation in a single language (without the full `@nuxtjs/i18n` module), you can configure the locale through `app.config.ts`. This is useful for setting the language for UI components and localizing built-in strings.
24
25```ts [app.config.ts]
26export default defineAppConfig({
27 docus: {
28 locale: 'fr', // Set your locale (default: 'en')
29 }
30})
31```
32
33## Multi-Language Setup
34
35For multi-language documentation, use the full `@nuxtjs/i18n` integration as described below.
36
37### Setup an existing project
38
39To enable i18n in your Docus project, add the `@nuxtjs/i18n` module to your `nuxt.config.ts` and define your locales:
40
41```typescript [nuxt.config.ts]
42export default defineNuxtConfig({
43 modules: ['@nuxtjs/i18n'],
44 i18n: {
45 defaultLocale: 'en',
46 locales: [
47 { code: 'en', name: 'English' },
48 { code: 'fr', name: 'Français' },
49 ],
50 }
51})
52```
53
54::warning
55Docus overrides the `@nuxtjs/i18n` strategy to `prefix`.
56::
57
58## Create a new project with i18n template
59
60When creating a new project, you can choose the i18n template for pre-configured internationalization:
61
62```bash [Terminal]
63npx create-docus my-docs -t i18n
64```
65
66## Directory Structure
67
68When i18n is enabled, organize your content by locale in the `content/` directory:
69
70```bash
71content/
72├── en/ # English content
73│ ├── index.md # English homepage
74│ ├── getting-started/
75│ │ ├── installation.md
76│ │ └── configuration.md
77│ └── guide/
78│ └── advanced.md
79├── fr/ # French content
80│ ├── index.md # French homepage
81│ ├── getting-started/
82│ │ ├── installation.md
83│ │ └── configuration.md
84│ └── guide/
85│ └── advanced.md
86```
87
88::warning
89Each locale should mirror the same directory structure to maintain consistent navigation across languages.
90::
91
92## Locale fallback
93
94Docus warns and skips any locale that does not exist in your `content/` directory. Missing locales are not registered.
95
96::tip
97This is especially helpful when you extend Docus and use `@nuxtjs/i18n` for the rest of your site, but only want the docs in a subset of languages.
98::
99
100Docus detects locales from your nuxt config:
101
102```ts [nuxt.config.ts]
103export default defineNuxtConfig({
104 modules: ['@nuxtjs/i18n'],
105 i18n: {
106 locales: ['en', 'fr', 'ja'],
107 defaultLocale: 'en'
108 }
109})
110```
111
112But only register it based on your `content/` folder structure:
113
114```bash
115content/
116├─ en/ # registered ✅
117├─ fr/ # registered ✅ (if present)
118└─ ja/ # skipped 🚫 (if missing)
119```
120
121If a user requests a missing docs locale, Docus redirects to the **default locale**.
122
123::warning
124You must set a `defaultLocale` in your i18n config and ensure it exists under `content/<defaultLocale>`
125::
docs/content/en/2.concepts/8.nuxt.md+135−0
@@ -0,0 +1,135 @@
1---
2title: Nuxt
3description: Build interactive and reusable elements with Nuxt components
4navigation:
5 icon: i-simple-icons-nuxt
6---
7
8## Nuxt App
9
10Docus is built on top of **Nuxt 4**, which means your documentation project is a full Nuxt application. When you scaffold a project using the **Docus CLI**, it adds a layer by default giving you all the flexibility of a standard Nuxt app.
11
12By default, the Docus starter only contains a `content/` and `public/` folder and a `package.json`. This is all you need to start writing your documentation. You can go further and use any feature of a Nuxt project, from [nuxt.config.ts](https://nuxt.com/docs/guide/directory-structure/nuxt-config) to [components](https://nuxt.com/docs/guide/directory-structure/nuxt-config) or [plugins](https://nuxt.com/docs/guide/directory-structure/plugins).
13
14::note
15You can use the Nuxt 4 [new directory structure](https://nuxt.com/docs/getting-started/upgrade#new-directory-structure) provided by the [compatibility version 4 .]() All files related to front app code goes in `app/` folder for cleaner organization and better IDE performance.
16::
17
18## Nuxt Modules
19
20Want to enhance your docs with custom functionality? You can install and configure [Nuxt modules](https://nuxt.com/modules) just like in any Nuxt app.
21
22To add [Vercel Web Analytics](https://vercel.com/docs/analytics) to your documentation:
23
24::steps
25### Install `@vercel/analytics`
26
27```bash [Terminal]
28npm install @vercel/analytics
29```
30
31### Enable Web Analytics in `nuxt.config.ts`
32
33For Nuxt, you can turn on Vercel Analytics without extra setup by using the inline module declaration:
34
35```ts [nuxt.config.ts]
36export default defineNuxtConfig({
37 modules: ['@vercel/analytics/nuxt/module'],
38})
39```
40::
41
42## Custom Components
43
44With the power of `Nuxt Content` and `Nuxt UI`, and with the help of the `MDC` syntax, you can use [Nuxt UI components](/en/essentials/components) directly in your Markdown without any extra configuration needed.
45
46However, you’re not limited to pre-built components. Docus makes it easy to create your own Vue components in your Nuxt app and use them in your content.
47
48Here’s a simple example of a custom `BrowserFrame` component created in the `components` folder of your Nuxt app and integrated inside Markdown:
49
50::tabs
51 :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
52 ```vue [components/content/BrowserFrame.vue]
53 <script setup lang="ts">
54 defineProps<{
55 title?: string
56 }>()
57 </script>
58
59 <template>
60 <div class="w-fit rounded-xl border border-muted bg-accented shadow-md overflow-hidden px-2 pb-2">
61 <div class="flex justify-between items-center px-2 py-2 bg-accented border-accented border-b">
62 <div class="flex items-center gap-2">
63 <span class="w-3 h-3 bg-red-500 rounded-full" />
64 <span class="w-3 h-3 bg-yellow-500 rounded-full" />
65 <span class="w-3 h-3 bg-green-500 rounded-full" />
66 </div>
67 <div class="text-muted">
68 {{ title }}
69 </div>
70 </div>
71 <slot mdc-unwrap="p" />
72 </div>
73 </template>
74 ```
75 :::
76
77 :::tabs-item{icon="i-simple-icons-markdown" label="Markdown"}
78 ```mdc
79 ::browser-frame{title="The Alps"}
80 ![mountains landscape](/mountains.webp)
81 ::
82 ```
83 :::
84
85 :::tabs-item{icon="i-lucide-eye" label="Preview"}
86 ::::browser-frame{title="The Alps"}
87 ![mountains landscape](/documentation/mountains.webp)
88 ::::
89 :::
90::
91
92This approach lets you create dynamic docs powered by Nuxt components using Markdown.
93
94## Vue Pages
95
96In addition to Markdown pages, you can also create Vue pages in the `pages/` directory.
97
98```vue [pages/hello.vue]
99<template>
100 <div>
101 <h1>Hello</h1>
102 </div>
103</template>
104```
105
106You can also use the `definePageMeta` function to set the page meta, such as using the `default` or `docs` layout, but also to define if the page should display the header and the footer:
107
108```vue [pages/hello.vue]
109<script setup lang="ts">
110definePageMeta({
111 layout: 'default',
112 // Remove the header
113 header: false,
114 // Remove the footer
115 footer: false,
116})
117</script>
118```
119
120## Custom Layouts
121
122Docus uses two layouts:
123
124- `default` layout for the landing page and custom Vue pages
125- `docs` layout for the documentation pages
126
127If you want to use a different layout, you can create one in the `app/layouts/` directory.
128
129```vue [app/layouts/custom.vue]
130<template>
131 <main class="custom-layout">
132 <slot />
133 </main>
134</template>
135```
docs/content/en/3.essentials/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Essentials
2icon: i-lucide-book-open
docs/content/en/3.essentials/1.markdown-syntax.md+223−0
@@ -0,0 +1,223 @@
1---
2title: Markdown Syntax
3description: Text, title, and styling in standard markdown.
4navigation:
5 icon: i-lucide-heading-1
6---
7
8## Titles
9
10Use titles to introduce main sections. They structure your documentation and help users navigate content.
11
12::code-preview
13---
14class: "[&>div]:*:my-0"
15---
16## Titles
17
18#code
19```mdc
20## Titles
21```
22::
23
24### Subtitles
25
26Use subtitles to divide sections further. They create a more detailed content hierarchy for better readability.
27
28::code-preview
29---
30class: "[&>div]:*:my-0"
31---
32### Subtitles
33
34#code
35```mdc
36### Subtitles
37```
38::
39
40::tip
41Each title and subtitle creates an anchor and shows up automatically in the table of contents.
42::
43
44## Text Formatting
45
46Docus supports most Markdown formatting options.
47
48| Style | How to use | Result |
49| ------ | ------------ | ---------- |
50| Bold | `**bold**` | **Bold** |
51| Italic | `*italic*` | *Italic* |
52| Strike | `~~strike~~` | ~~Strike~~ |
53
54Combine formatting for richer text styles and visual emphasis.
55
56| Style | How to use | Result |
57| ------------- | ------------------- | ----------------- |
58| Bold Italic | `**_bold italic_**` | ***Bold Italic*** |
59| Bold Strike | `~~**bold**~~` | ~~**Bold**~~ |
60| Italic Strike | `~~*italic*~~` | ~~*Italic*~~ |
61
62## Links
63
64Links connect different parts of your documentation and external resources, essential for user navigation and providing references.
65To create a link, wrap the link text in brackets `[]()`.
66
67::code-preview
68---
69class: "[&>div]:*:my-0"
70---
71[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
72
73#code
74```mdc
75[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
76```
77::
78
79### Internal links
80
81For linking within your documentation, use root-relative paths like `/getting-started/installation`.
82
83::code-preview
84---
85class: "[&>div]:*:my-0"
86---
87[Installation](/en/getting-started/installation)
88
89#code
90```mdc
91[Installation](/en/getting-started/installation)
92```
93::
94
95## Lists
96
97Organize related items in a structured, readable format. Markdown supports unordered, ordered, and nested lists for various content needs.
98
99### Unordered
100
101Use unordered lists for items without a specific sequence. Start each item with a `-` symbol.
102
103::code-preview
104---
105class: "[&>div]:*:my-0"
106---
107- I'm a list item.
108- I'm another list item.
109- I'm the last list item.
110
111#code
112```mdc
113- I'm a list item.
114- I'm another list item.
115- I'm the last list item.
116```
117::
118
119### Ordered
120
121Use ordered lists when item order matters, like steps in a process. Start each item with a number.
122
123::code-preview
124---
125class: "[&>div]:*:my-0"
126---
1271. I'm a list item.
1282. I'm another list item.
1293. I'm the last list item.
130
131#code
132```mdc
1331. I'm a list item.
1342. I'm another list item.
1353. I'm the last list item.
136```
137::
138
139### Nested
140
141Create hierarchical lists with sub-items for complex structures. Indent sub-items by four spaces for nesting.
142
143::code-preview
144---
145class: "[&>div]:*:my-0"
146---
147- I'm a list item.
148 - I'm a nested list item.
149 - I'm another nested list item.
150- I'm another list item.
151
152#code
153```mdc
154- I'm a list item.
155 - I'm a nested list item.
156 - I'm another nested list item.
157- I'm another list item.
158```
159::
160
161## Tables
162
163Present structured data in rows and columns clearly. Tables are ideal for comparing data or listing properties.
164
165::code-preview
166---
167class: "[&>div]:*:my-0 [&>div]:*:w-full"
168---
169| Prop | Default | Type |
170| ------- | --------- | -------- |
171| `name` | | `string` |
172| `size` | `md` | `string` |
173| `color` | `neutral` | `string` |
174
175#code
176```mdc
177| Prop | Default | Type |
178|---------|-----------|--------------------------|
179| `name` | | `string`{lang="ts-type"} |
180| `size` | `md` | `string`{lang="ts-type"} |
181| `color` | `neutral` | `string`{lang="ts-type"} |
182```
183::
184
185## Blockquotes
186
187Highlight important quotations, citations, or emphasized text. Blockquotes visually distinguish quoted content.
188
189### Singleline
190
191Single-line blockquotes are best for short, impactful quotes or citations that fit within a single line. To create a single-line blockquote, add a `>` in front of a paragraph. Ideal for short and impactful quotes.
192
193::code-preview
194---
195class: "[&>div]:*:my-0"
196---
197> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
198
199#code
200```mdc
201> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
202```
203::
204
205### Multiline
206
207Multi-line blockquotes are suitable for longer quotes or when you need to include multiple paragraphs within a single quotation.
208
209::code-preview
210---
211class: "[&>div]:*:my-0"
212---
213> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
214>
215> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
216
217#code
218```mdc
219> Nuxt UI is a collection of Vue components, composables and utils, oriented on structure and layout and designed to be used as building blocks for your app.
220>
221> Create beautiful, responsive, and accessible Vue applications with Nuxt UI.
222```
223::
docs/content/en/3.essentials/2.code-blocks.md+402−0
@@ -0,0 +1,402 @@
1---
2title: Code Blocks
3description: Display inline code and code blocks in your documentation.
4links: []
5navigation:
6 icon: i-lucide-code-xml
7---
8
9## Basic
10
11### Inline Code
12
13Use inline code to display code snippets within text paragraphs. It's ideal for referencing code elements directly in sentences.
14
15::code-preview
16---
17class: "[&>div]:*:my-0"
18---
19`inline code`
20
21#code
22```mdc
23`inline code`
24```
25::
26
27### Code Blocks
28
29Use code blocks to display multi-line code snippets with syntax highlighting. Code blocks are essential for presenting code examples clearly.
30
31::code-preview
32---
33class: "[&>div]:*:my-0 [&>div]:*:w-full"
34---
35```ts
36export default defineNuxtConfig({
37 modules: ['@nuxt/ui']
38})
39```
40
41#code
42````mdc
43```ts
44export default defineNuxtConfig({
45 modules: ['@nuxt/ui']
46})
47```
48````
49::
50
51When writing a code-block, you can specify a filename that will be displayed on top of the code block. An icon will be automatically displayed based on the extension or the name.
52Filenames help users understand the code's location and purpose within a project.
53
54::code-preview
55---
56class: "[&>div]:*:my-0 [&>div]:*:w-full"
57---
58```ts [nuxt.config.ts]
59export default defineNuxtConfig({
60 modules: ['@nuxt/ui']
61})
62```
63
64#code
65````mdc
66```ts [nuxt.config.ts]
67export default defineNuxtConfig({
68 modules: ['@nuxt/ui']
69})
70```
71````
72::
73
74Every code-block has a built-in copy button that will copy the code to your clipboard.
75
76::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
77Icons are already defined by default, but you can customize them in your `app.config.ts`:
78
79```ts [app.config.ts]
80export default defineAppConfig({
81 ui: {
82 prose: {
83 codeIcon: {
84 terminal: 'i-ph-terminal-window-duotone'
85 }
86 }
87 }
88})
89```
90::
91
92## Advanced
93
94### CodeGroup
95
96Group code blocks in tabs using `code-group`. `code-group` is perfect for showing code examples in multiple languages or package managers.
97
98::code-preview
99---
100class: "[&>div]:*:my-0 [&>div]:*:w-full"
101---
102 :::code-group{.w-full}
103 ```bash [pnpm]
104 pnpm add @nuxt/ui
105 ```
106
107 ```bash [yarn]
108 yarn add @nuxt/ui
109 ```
110
111 ```bash [npm]
112 npm install @nuxt/ui
113 ```
114
115 ```bash [bun]
116 bun add @nuxt/ui
117 ```
118 :::
119
120#code
121````mdc
122::code-group
123
124```bash [pnpm]
125pnpm add @nuxt/ui
126```
127
128```bash [yarn]
129yarn add @nuxt/ui
130```
131
132```bash [npm]
133npm install @nuxt/ui
134```
135
136```bash [bun]
137bun add @nuxt/ui
138```
139
140::
141````
142::
143
144### CodeTree
145
146Display code blocks in a file tree view using `code-tree`. `code-tree` is excellent for showcasing project structures and file relationships.
147
148::code-preview
149---
150class: "[&>div]:*:my-0 [&>div]:*:w-full"
151---
152 :::code-tree{default-value="app/app.config.ts"}
153 ```ts [nuxt.config.ts]
154 export default defineNuxtConfig({
155 modules: ['@nuxt/ui'],
156
157 future: {
158 compatibilityVersion: 4
159 },
160
161 css: ['~/assets/css/main.css']
162 })
163 ```
164
165 ```css [app/assets/css/main.css]
166 @import "tailwindcss";
167 @import "@nuxt/ui";
168 ```
169
170 ```ts [app/app.config.ts]
171 export default defineAppConfig({
172 ui: {
173 colors: {
174 primary: 'sky',
175 colors: 'slate'
176 }
177 }
178 })
179 ```
180
181 ```vue [app/app.vue]
182 <template>
183 <UApp>
184 <NuxtPage />
185 </UApp>
186 </template>
187 ```
188
189 ```json [package.json]
190 {
191 "name": "nuxt-app",
192 "private": true,
193 "type": "module",
194 "scripts": {
195 "build": "nuxt build",
196 "dev": "nuxt dev",
197 "generate": "nuxt generate",
198 "preview": "nuxt preview",
199 "postinstall": "nuxt prepare",
200 "lint": "eslint .",
201 "lint:fix": "eslint --fix ."
202 },
203 "dependencies": {
204 "@iconify-json/lucide": "^1.2.18",
205 "@nuxt/ui": "^4.0.0",
206 "nuxt": "^4.1.0"
207 },
208 "devDependencies": {
209 "eslint": "^9.34.0",
210 "typescript": "^5.9.3",
211 "vue-tsc": "^3.0.6"
212 }
213 }
214 ```
215
216 ```json [tsconfig.json]
217 {
218 "extends": "./.nuxt/tsconfig.json"
219 }
220 ```
221
222 ````md [README.md]
223 # Nuxt 4 Minimal Starter
224
225 Look at the [Nuxt 4 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
226
227 ## Setup
228
229 Make sure to install the dependencies:
230
231 ```bash
232 # npm
233 npm install
234
235 # pnpm
236 pnpm install
237
238 # yarn
239 yarn install
240
241 # bun
242 bun install
243 ```
244
245 ## Development Server
246
247 Start the development server on `http://localhost:3000`:
248
249 ```bash
250 # npm
251 npm run dev
252
253 # pnpm
254 pnpm run dev
255
256 # yarn
257 yarn dev
258
259 # bun
260 bun run dev
261 ```
262
263 ## Production
264
265 Build the application for production:
266
267 ```bash
268 # npm
269 npm run build
270
271 # pnpm
272 pnpm run build
273
274 # yarn
275 yarn build
276
277 # bun
278 bun run build
279 ```
280
281 Locally preview production build:
282
283 ```bash
284 # npm
285 npm run preview
286
287 # pnpm
288 pnpm run preview
289
290 # yarn
291 yarn preview
292
293 # bun
294 bun run preview
295 ```
296
297 Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
298 ````
299 :::
300::
301
302### `CodePreview`
303
304Use `code-preview` to show code output alongside the code. `code-preview` is ideal for interactive examples and demonstrating code results.
305Write the code to be previewed in the `default` slot and the actual code in the `code` slot.
306
307::code-preview
308---
309class: "[&>div]:*:my-0 [&>div]:*:w-full"
310label: Preview
311---
312 :::code-preview
313 ---
314 class: "[&>div]:*:my-0"
315 ---
316 `inline code`
317
318 #code
319 ```mdc
320 `inline code`
321 ```
322 :::
323
324#code
325````mdc
326::code-preview
327`inline code`
328
329#code
330```mdc
331`inline code`
332```
333::
334````
335::
336
337### `CodeCollapse`
338
339Use `code-collapse` for long code blocks to keep pages clean. `code-collapse` allows users to expand code blocks only when needed, improving readability.
340
341::code-preview
342---
343class: "[&>div]:*:my-0 [&>div]:*:w-full"
344---
345 :::code-collapse
346 ---
347 class: "[&>div]:my-0"
348 ---
349 ```css [main.css]
350 @import "tailwindcss";
351 @import "@nuxt/ui";
352
353 @theme {
354 --font-sans: 'Public Sans', sans-serif;
355
356 --breakpoint-3xl: 1920px;
357
358 --color-green-50: #EFFDF5;
359 --color-green-100: #D9FBE8;
360 --color-green-200: #B3F5D1;
361 --color-green-300: #75EDAE;
362 --color-green-400: #00DC82;
363 --color-green-500: #00C16A;
364 --color-green-600: #00A155;
365 --color-green-700: #007F45;
366 --color-green-800: #016538;
367 --color-green-900: #0A5331;
368 --color-green-950: #052E16;
369 }
370 ```
371 :::
372
373#code
374````mdc
375::code-collapse
376
377```css [main.css]
378@import "tailwindcss";
379@import "@nuxt/ui";
380
381@theme {
382--font-sans: 'Public Sans', sans-serif;
383
384--breakpoint-3xl: 1920px;
385
386--color-green-50: #EFFDF5;
387--color-green-100: #D9FBE8;
388--color-green-200: #B3F5D1;
389--color-green-300: #75EDAE;
390--color-green-400: #00DC82;
391--color-green-500: #00C16A;
392--color-green-600: #00A155;
393--color-green-700: #007F45;
394--color-green-800: #016538;
395--color-green-900: #0A5331;
396--color-green-950: #052E16;
397}
398```
399
400::
401````
402::
docs/content/en/3.essentials/3.components.md+421−0
@@ -0,0 +1,421 @@
1---
2title: Markdown Components
3description: Use Markdown components to help you structure your content, with the help of Nuxt UI.
4navigation:
5 icon: i-lucide-component
6 title: Components
7---
8
9Prose components are replacements for HTML typography tags. They provide a simple way to customize your UI when using Markdown.
10
11**Docus and Nuxt UI** provides a set of styled and beautiful prose components to help you write your documentation using the [MDC syntax](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
12
13::note{to="https://ui.nuxt.com/getting-started"}
14This page highlights only the prose components best suited for writing documentation. However, you can use **any Nuxt UI or Nuxt UI component** in your Markdown. For the full list of available components, visit the Nuxt UI documentation.
15::
16
17### `Accordion`
18
19Use the `accordion` and `accordion-item` components to display an [Accordion](https://ui.nuxt.com/components/accordion) in your content.
20
21::tabs
22 :::tabs-item{icon="i-lucide-eye" label="Preview"}
23 ::::accordion
24 :::::accordion-item
25 ---
26 icon: i-lucide-circle-help
27 label: What is Docus and what are its key features??
28 ---
29 Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
30 :::::
31
32 :::::accordion-item
33 ---
34 icon: i-lucide-circle-help
35 label: How do I get started with Docus?
36 ---
37 The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
38 :::::
39
40 :::::accordion-item{icon="i-lucide-circle-help" label="What is Nuxt UI?"}
41 [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
42 :::::
43 ::::
44 :::
45
46 :::tabs-item{icon="i-lucide-code" label="Code"}
47```mdc
48 ::accordion
49
50 :::accordion-item{label="What is Docus and what are its key features??" icon="i-lucide-circle-help"}
51 Docus is a fully integrated documentation solution built with Nuxt UI. It's a theme based on the UI documentation template that provides a ready-to-use visual. User can focus on content using Markdown and MDC syntax.
52 :::
53
54 :::accordion-item{label="How do I get started with Docus?" icon="i-lucide-circle-help"}
55 The only thing you need to start a Docus project is a `content/` folder. You can have a check at the starter for a quick start.
56 :::
57
58 :::accordion-item{label="What is Nuxt UI?" icon="i-lucide-circle-help"}
59 [Nuxt UI](https://ui.nuxt.com/) is a collection of premium Vue components, composables and utils.
60 :::
61 ::
62```
63 :::
64::
65
66### `Badge`
67
68Use markdown in the default slot of the `badge` component to display a [Badge](https://ui.nuxt.com/components/badge) in your content.
69
70::tabs
71 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
72 ::::badge
73 **v3.0.0**
74 ::::
75 :::
76
77 :::tabs-item{icon="i-lucide-code" label="Code"}
78```mdc
79 ::badge
80 **v3.0.0**
81 ::
82```
83 :::
84::
85
86### `Callout`
87
88Use markdown in the default slot of the `callout` component to add eye-catching context to your content.
89
90Use the `icon` and `color` props to customize it. You can also pass any property from the `<NuxtLink>` component.
91
92You can also use the `note`, `tip`, `warning` and `caution` shortcuts with pre-defined icons and colors.
93
94::tabs
95 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
96 ::::div{.flex.flex-col.gap-4.w-full}
97 :::::note{.w-full.my-0}
98 Here's some additional information for you.
99 :::::
100
101 :::::tip{.w-full.my-0}
102 Here's a helpful suggestion.
103 :::::
104
105 :::::warning{.w-full.my-0}
106 Be careful with this action as it might have unexpected results.
107 :::::
108
109 :::::caution{.w-full.my-0}
110 This action cannot be undone.
111 :::::
112 ::::
113 :::
114
115 :::tabs-item{icon="i-lucide-code" label="Code"}
116```mdc
117 ::note
118 Here's some additional information.
119 ::
120
121 ::tip
122 Here's a helpful suggestion.
123 ::
124
125 ::warning
126 Be careful with this action as it might have unexpected results.
127 ::
128
129 ::caution
130 This action cannot be undone.
131 ::
132```
133 :::
134::
135
136### `Card` and `CardGroup`
137
138Use markdown in the default slot of the `card` component to highlight your content.
139
140Use the `title`, `icon` and `color` props to customize it. You can also pass any property from the `<NuxtLink>`.
141
142Wrap your `card` components with the `card-group` component to group them together in a grid layout.
143
144::tabs
145 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
146 ::::card-group{.w-full.my-0}
147 :::::card
148 ---
149 icon: i-simple-icons-github
150 target: _blank
151 title: Dashboard
152 to: https://github.com/nuxt-ui-templates/dashboard
153 ---
154 A dashboard with multi-column layout.
155 :::::
156
157 :::::card
158 ---
159 icon: i-simple-icons-github
160 target: _blank
161 title: SaaS
162 to: https://github.com/nuxt-ui-templates/saas
163 ---
164 A template with landing, pricing, docs and blog.
165 :::::
166
167 :::::card
168 ---
169 icon: i-simple-icons-github
170 target: _blank
171 title: Docs
172 to: https://github.com/nuxt-ui-templates/docs
173 ---
174 A documentation with `@nuxt/content`.
175 :::::
176
177 :::::card
178 ---
179 icon: i-simple-icons-github
180 target: _blank
181 title: Landing
182 to: https://github.com/nuxt-ui-templates/landing
183 ---
184 A landing page you can use as starting point.
185 :::::
186 ::::
187 :::
188
189 :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
190```mdc
191 :::card-group
192
193 ::card
194 ---
195 title: Dashboard
196 icon: i-simple-icons-github
197 to: https://github.com/nuxt-ui-templates/dashboard
198 target: _blank
199 ---
200 A dashboard with multi-column layout.
201 ::
202
203 ::card
204 ---
205 title: SaaS
206 icon: i-simple-icons-github
207 to: https://github.com/nuxt-ui-templates/saas
208 target: _blank
209 ---
210 A template with landing, pricing, docs and blog.
211 ::
212
213 ::card
214 ---
215 title: Docs
216 icon: i-simple-icons-github
217 to: https://github.com/nuxt-ui-templates/docs
218 target: _blank
219 ---
220 A documentation with `@nuxt/content`.
221 ::
222
223 ::card
224 ---
225 title: Landing
226 icon: i-simple-icons-github
227 to: https://github.com/nuxt-ui-templates/landing
228 target: _blank
229 ---
230 A landing page you can use as starting point.
231 ::
232
233 :::
234```
235 :::
236::
237
238### `Collapsible`
239
240Wrap your content with the `collapsible` component to display a [Collapsible](https://ui.nuxt.com/components/collapsible) in your content.
241
242::tabs
243 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
244 ::::collapsible
245 | Prop | Default | Type |
246 | ------- | --------- | -------- |
247 | `name` | | `string` |
248 | `size` | `md` | `string` |
249 | `color` | `neutral` | `string` |
250 ::::
251 :::
252
253 :::tabs-item{icon="i-lucide-code" label="Code"}
254```mdc
255 ::collapsible
256
257 | Prop | Default | Type |
258 |---------|-----------|--------------------------|
259 | `name` | | `string`{lang="ts-type"} |
260 | `size` | `md` | `string`{lang="ts-type"} |
261 | `color` | `neutral` | `string`{lang="ts-type"} |
262
263 ::
264```
265 :::
266::
267
268### `Field` and `FieldGroup`
269
270A `field`is a prop or parameter to display in your content. You can group them by `field-group` in a list.
271
272::tabs
273 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
274 ::::field-group{.my-0}
275 :::::field{name="analytics" type="boolean"}
276 Default to `false` - Enables analytics for your project (coming soon).
277 :::::
278
279 :::::field{name="blob" type="boolean"}
280 Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
281 :::::
282
283 :::::field{name="cache" type="boolean"}
284 Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
285 :::::
286
287 :::::field{name="database" type="boolean"}
288 Default to `false` - Enables SQL database to store your application's data.
289 :::::
290 ::::
291 :::
292
293 :::tabs-item{icon="i-lucide-code" label="Code"}
294```mdc
295 ::field-group
296 ::field{name="analytics" type="boolean"}
297 Default to `false` - Enables analytics for your project (coming soon).
298 ::
299
300 ::field{name="blob" type="boolean"}
301 Default to `false` - Enables blob storage to store static assets, such as images, videos and more.
302 ::
303
304 ::field{name="cache" type="boolean"}
305 Default to `false` - Enables cache storage to cache your server route responses or functions using Nitro's `cachedEventHandler` and `cachedFunction`
306 ::
307
308 ::field{name="database" type="boolean"}
309 Default to `false` - Enables SQL database to store your application's data.
310 ::
311 ::
312```
313 :::
314::
315
316### `Icon`
317
318Use the `icon` component to display an [Icon](https://ui.nuxt.com/components/icon) in your content.
319
320::code-preview
321:icon{name="i-simple-icons-nuxtdotjs"}
322
323#code
324```mdc
325:icon{name="i-simple-icons-nuxtdotjs"}
326```
327::
328
329### `Kbd`
330
331Use the `kbd` component to display a [Kbd](https://ui.nuxt.com/components/kbd) in your content.
332
333::code-preview
334#code
335```mdc
336:kbd{value="meta"} :kbd{value="K"}
337```
338::
339
340### `Tabs`
341
342Use the `tabs` and `tabs-item` components to display [Tabs](https://ui.nuxt.com/components/tabs) in your content.
343
344::code-preview
345 :::tabs{.w-full}
346 ::::tabs-item{icon="i-lucide-code" label="Code"}
347 ```mdc
348 ::callout
349 Lorem velit voluptate ex reprehenderit ullamco et culpa.
350 ::
351 ```
352 ::::
353
354 ::::tabs-item{icon="i-lucide-eye" label="Preview"}
355 :::::callout
356 Lorem velit voluptate ex reprehenderit ullamco et culpa.
357 :::::
358 ::::
359 :::
360
361#code
362````mdc
363::tabs{.w-full}
364 :::tabs-item{icon="i-lucide-code" label="Code"}
365 ```mdc
366 ::::callout
367 Lorem velit voluptate ex reprehenderit ullamco et culpa.
368 ::::
369 ```
370 ::::
371
372:::tabs-item{icon="i-lucide-eye" label="Preview"}
373 :::::callout
374 Lorem velit voluptate ex reprehenderit ullamco et culpa.
375 :::::
376:::
377::
378````
379::
380
381### `Steps`
382
383Wrap your headings with the Steps component to display a list of steps.
384
385Use the `level` prop to define which heading will be used for the steps.
386
387::tabs
388 :::tabs-item{.my-5 icon="i-lucide-eye" label="Preview"}
389 ::::steps{level="4"}
390 #### Start a fresh new project
391
392 ```bash [Terminal]
393 npm create nuxt@latest -- -t github:nuxt-content/docus
394 ```
395
396 #### Run docus CLI to run your dev server
397
398 ```bash [Terminal]
399 docus dev
400 ```
401 ::::
402 :::
403
404 :::tabs-item{icon="i-lucide-code" label="Code"}
405````mdc
406 ::steps{level="4"}
407 #### Start a fresh new project
408
409 ```bash [Terminal]
410 npm create nuxt@latest -- -t github:nuxt-content/docus
411 ```
412
413 #### Run docus CLI to run your dev server
414
415 ```bash [Terminal]
416 docus dev
417 ```
418 ::
419````
420 :::
421::
docs/content/en/3.essentials/4.images-embeds.md+52−0
@@ -0,0 +1,52 @@
1---
2title: Images and Embeds
3description: Add image, video, and other HTML elements
4navigation:
5 icon: i-lucide-image
6seo:
7 description: Add image, video, and other HTML elements using Docus theme
8 title: Images and Embeds
9---
10
11## Markdown
12
13Display images or videos using standard Markdown syntax.
14
15### Images
16
17::code-preview
18![Nuxt Social Image](https://nuxt.com/new-social.jpg)
19
20#code
21```mdc
22![Nuxt Social Image](https://nuxt.com/new-social.jpg)
23```
24::
25
26Or with your local images
27
28::code-preview
29![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
30
31#code
32```mdc
33![Snow-capped mountains in a sea of clouds at sunset](/mountains.webp)
34```
35::
36
37::note{to="https://image.nuxt.com/"}
38Docus will use `<NuxtImg>` component under the hood instead of the native `img` tag.
39::
40
41### Videos
42
43::code-preview
44:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
45
46#code
47```mdc
48:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
49```
50::
51
52###
docs/content/en/4.ai/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: AI
2icon: i-lucide-sparkles
docs/content/en/4.ai/1.assistant.md+383−0
@@ -0,0 +1,383 @@
1---
2title: Assistant
3description: Add AI-powered chat to your docs that answers questions, cites sources, and generates code examples.
4navigation:
5 icon: i-lucide-sparkles
6---
7
8## About the Assistant
9
10The assistant answers questions about your documentation through natural language queries. It is embedded directly in your documentation site, so users can find answers quickly and succeed with your product.
11
12When users ask questions, the assistant:
13
14- **Searches and retrieves** relevant content from your documentation using an [MCP server](/en/ai/mcp).
15- **Cites sources** with navigable links to take users directly to referenced pages.
16- **Generates copyable code examples** to help users implement solutions from your documentation.
17
18## How It Works
19
20The assistant uses a multi-agent architecture:
21
221. **Main Agent** - Receives user questions and decides when to search documentation
232. **Search Agent** - Uses [MCP server](/en/ai/mcp) tools to find relevant content
243. **Response Generation** - Synthesizes information into helpful, conversational answers
25
26By default, the assistant connects to your documentation's built-in MCP server at `/mcp`, giving it access to all your pages without additional configuration. You can also connect to an external MCP server if needed.
27
28## Quick Start
29
30### 1. Install dependencies
31
32::code-group
33
34```bash [npm]
35npm install ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
36```
37
38```bash [pnpm]
39pnpm add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
40```
41
42```bash [yarn]
43yarn add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
44```
45
46::
47
48### 2. Set up AI Gateway authentication
49
50Pick **one** of this method:
51
52**API key** — Create a key in [Vercel AI Gateway](https://vercel.com/~/ai/api-keys) and add it to your environment:
53
54```bash [.env]
55AI_GATEWAY_API_KEY=your-api-key
56```
57
58**OIDC (only on Vercel)** — `VERCEL_OIDC_TOKEN` is injected automatically. Nothing to add in the production. For local dev, run `vercel env pull` on a [linked project](https://vercel.com/docs/cli/link).
59
60### 3. Deploy
61
62Deploy your site — the assistant is available as soon as authentication is configured.
63
64## Using the Assistant
65
66Users can interact with the assistant in multiple ways:
67
68### Floating Input
69
70On documentation pages, a floating input appears at the bottom of the screen. Users can type their questions directly and press Enter to get answers.
71
72::tip
73Use the keyboard shortcut :kbd{value="meta"} :kbd{value="I"} to focus the floating input.
74::
75
76### Explain with AI
77
78Each documentation page includes an **Explain with AI** button in the table of contents sidebar. Clicking this button opens the assistant with the current page as context, asking it to explain the content.
79
80### Slideover Chat
81
82When a conversation starts, a slideover panel opens on the right side of the screen. This panel displays the conversation history and allows users to continue asking questions.
83
84## Configuration
85
86Configure the assistant through `app.config.ts`:
87
88```ts [app.config.ts]
89export default defineAppConfig({
90 assistant: {
91 // Show the floating input on documentation pages
92 floatingInput: true,
93
94 // Show the "Explain with AI" button in the sidebar
95 explainWithAi: true,
96
97 // FAQ questions to display when chat is empty
98 faqQuestions: [],
99
100 // Keyboard shortcuts
101 shortcuts: {
102 focusInput: 'meta_i'
103 },
104
105 // Custom icons
106 icons: {
107 trigger: 'i-lucide-sparkles',
108 explain: 'i-lucide-brain'
109 }
110 }
111})
112```
113
114### FAQ Questions
115
116Display suggested questions when the chat is empty. This helps users discover what they can ask.
117
118#### Simple Format
119
120```ts [app.config.ts]
121export default defineAppConfig({
122 assistant: {
123 faqQuestions: [
124 'How do I install Docus?',
125 'How do I customize the theme?',
126 'How do I add components to my pages?'
127 ]
128 }
129})
130```
131
132#### Category Format
133
134Organize questions into categories:
135
136```ts [app.config.ts]
137export default defineAppConfig({
138 assistant: {
139 faqQuestions: [
140 {
141 category: 'Getting Started',
142 items: [
143 'How do I install Docus?',
144 'What is the project structure?'
145 ]
146 },
147 {
148 category: 'Customization',
149 items: [
150 'How do I change the theme colors?',
151 'How do I add a custom logo?'
152 ]
153 }
154 ]
155 }
156})
157```
158
159#### Localized Format
160
161For multi-language documentation, provide FAQ questions per locale:
162
163```ts [app.config.ts]
164export default defineAppConfig({
165 assistant: {
166 faqQuestions: {
167 en: [
168 { category: 'Getting Started', items: ['How do I install?'] }
169 ],
170 fr: [
171 { category: 'Démarrage', items: ['Comment installer ?'] }
172 ]
173 }
174 }
175})
176```
177
178## Keyboard Shortcuts
179
180Configure the keyboard shortcut for focusing the floating input:
181
182```ts [app.config.ts]
183export default defineAppConfig({
184 assistant: {
185 shortcuts: {
186 // Default: 'meta_i' (Cmd+I on Mac, Ctrl+I on Windows)
187 focusInput: 'meta_k' // Change to Cmd/Ctrl+K
188 }
189 }
190})
191```
192
193The shortcut format uses underscores to separate keys. Common examples:
194
195- `meta_i` - Cmd+I (Mac) / Ctrl+I (Windows)
196- `meta_k` - Cmd+K (Mac) / Ctrl+K (Windows)
197- `ctrl_shift_p` - Ctrl+Shift+P
198
199## Custom Icons
200
201Customize the icons used by the assistant:
202
203```ts [app.config.ts]
204export default defineAppConfig({
205 assistant: {
206 icons: {
207 // Icon for the trigger button and slideover header
208 trigger: 'i-lucide-bot',
209
210 // Icon for the "Explain with AI" button
211 explain: 'i-lucide-lightbulb'
212 }
213 }
214})
215```
216
217Icons use the [Iconify](https://iconify.design/) format (e.g., `i-lucide-sparkles`, `i-heroicons-sparkles`).
218
219## Internationalization
220
221All UI texts are automatically translated based on the user's locale. Docus includes built-in translations for English and French.
222
223The following texts are translated:
224
225- Slideover title and placeholder
226- Tooltip texts
227- Button labels ("Clear chat", "Close", "Explain with AI")
228- Status messages ("Thinking...", "Chat is cleared on refresh")
229
230## Disable Features
231
232### Disable the Floating Input
233
234Hide the floating input at the bottom of documentation pages:
235
236```ts [app.config.ts]
237export default defineAppConfig({
238 assistant: {
239 floatingInput: false
240 }
241})
242```
243
244### Disable "Explain with AI"
245
246Hide the "Explain with AI" button in the documentation sidebar:
247
248```ts [app.config.ts]
249export default defineAppConfig({
250 assistant: {
251 explainWithAi: false
252 }
253})
254```
255
256### Disable the Assistant Entirely
257
258The assistant is disabled when no authentication is available. To explicitly disable it, remove `AI_GATEWAY_API_KEY` from your environment:
259
260```bash [.env]
261# AI_GATEWAY_API_KEY=your-api-key
262```
263
264On Vercel with OIDC, remove the auto-injected system environment variable from your project settings.
265
266## Advanced Configuration
267
268Configure advanced options in `nuxt.config.ts` under `docus.assistant`.
269
270```ts [nuxt.config.ts]
271export default defineNuxtConfig({
272 docus: {
273 assistant: {
274 // AI model (uses AI SDK Gateway format)
275 model: 'google/gemini-3-flash',
276
277 // MCP server (path or URL)
278 mcpServer: '/mcp',
279
280 // API endpoint path
281 apiPath: '/__docus__/assistant'
282 }
283 }
284})
285```
286
287### MCP Server Configuration
288
289The assistant uses an MCP server to access your documentation. You have two options:
290
291#### Use the Built-in MCP Server (Default)
292
293By default, the assistant uses Docus's built-in MCP server at `/mcp`:
294
295```ts [nuxt.config.ts]
296export default defineNuxtConfig({
297 docus: {
298 assistant: {
299 mcpServer: '/mcp'
300 }
301 }
302})
303```
304
305::warning
306Make sure the MCP server is enabled in your configuration. If you've customized the MCP path, update `mcpServer` accordingly.
307::
308
309#### Use an External MCP Server
310
311Connect to any external MCP server by providing a full URL:
312
313```ts [nuxt.config.ts]
314export default defineNuxtConfig({
315 docus: {
316 assistant: {
317 mcpServer: 'https://other-docs.example.com/mcp'
318 }
319 }
320})
321```
322
323This is useful when you want the assistant to answer questions from a different documentation source, or when connecting to a centralized knowledge base.
324
325### Custom AI Model
326
327The assistant uses `google/gemini-3-flash` by default. You can change this to any model supported by the AI SDK Gateway:
328
329```ts [nuxt.config.ts]
330export default defineNuxtConfig({
331 docus: {
332 assistant: {
333 model: 'anthropic/claude-opus-4.5'
334 }
335 }
336})
337```
338
339### Site Name in Responses
340
341The assistant automatically uses your site name in its responses. Configure the site name in `nuxt.config.ts`:
342
343```ts [nuxt.config.ts]
344export default defineNuxtConfig({
345 site: {
346 name: 'My Documentation'
347 }
348})
349```
350
351This makes the assistant respond as "the My Documentation assistant" and speak with authority about your specific product.
352
353## Programmatic Access
354
355Use the `useAssistant` composable to control the assistant programmatically:
356
357```vue
358<script setup>
359const { isEnabled, isOpen, open, close, toggle } = useAssistant()
360
361function askQuestion() {
362 // Open the assistant with a pre-filled question
363 open('How do I configure the theme?', true)
364}
365</script>
366
367<template>
368 <UButton v-if="isEnabled" @click="askQuestion">
369 Ask about themes
370 </UButton>
371</template>
372```
373
374### Composable API
375
376| Property | Type | Description |
377| -------------------------------- | ---------------------- | --------------------------------------------------------------------------------------- |
378| `isEnabled` | `ComputedRef<boolean>` | Whether the assistant is enabled (`AI_GATEWAY_API_KEY` or `VERCEL_OIDC_TOKEN` at build) |
379| `isOpen` | `Ref<boolean>` | Whether the slideover is open |
380| `open(message?, clearPrevious?)` | `Function` | Open the assistant, optionally with a message |
381| `close()` | `Function` | Close the assistant slideover |
382| `toggle()` | `Function` | Toggle the assistant open/closed |
383| `clearMessages()` | `Function` | Clear the conversation history |
docs/content/en/4.ai/2.mcp.md+273−0
@@ -0,0 +1,273 @@
1---
2title: MCP Server
3description: Connect your documentation to AI tools with a native MCP server.
4navigation:
5 icon: i-lucide-cpu
6---
7
8## About MCP Servers
9
10The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) is an open protocol that creates standardized connections between AI applications and external services, like documentation.
11
12Every Docus instance includes a built-in MCP server, preparing your content for the broader AI ecosystem where any MCP client (like Claude, Cursor, VS Code, and others) can connect to your documentation.
13
14### How MCP Servers Work
15
16When an MCP server is connected to an AI tool, the LLM can decide to use your documentation tools during response generation:
17
18- The LLM can **proactively search your documentation** while generating a response, not just when explicitly asked.
19- The LLM determines **when to use tools** based on the context of the conversation and the relevance of your documentation.
20- Each tool call happens **during the generation process**, allowing the LLM to incorporate real-time information from your documentation into its response.
21
22For example, if a user asks a coding question and the LLM determines that your documentation is relevant, it can search your docs and include that information in the response without the user explicitly asking about your documentation.
23
24## Accessing Your MCP Server
25
26Your MCP server is automatically available at the `/mcp` path of your documentation URL.
27
28::note
29For example, if your documentation is hosted at `https://docs.example.com`, your MCP server URL is `https://docs.example.com/mcp`.
30::
31
32## Disable the MCP Server
33
34If you want to disable the MCP server, you can do so in your `nuxt.config.ts`:
35
36```ts [nuxt.config.ts]
37export default defineNuxtConfig({
38 mcp: {
39 enabled: false,
40 },
41})
42```
43
44## Built-in Tools
45
46Docus provides two tools out of the box that allow any LLM to discover and read your documentation:
47
48### `list-pages`
49
50Lists all documentation pages with their titles, paths, and descriptions. AI assistants should call this first to discover available content.
51
52| Parameter | Type | Description |
53| --------- | ----------------- | ---------------------- |
54| `locale` | string (optional) | Filter pages by locale |
55
56### `get-page`
57
58Retrieves the full markdown content of a specific documentation page.
59
60| Parameter | Type | Description |
61| --------- | ----------------- | -------------------------------------------------------- |
62| `path` | string (required) | The page path (e.g., `/en/getting-started/installation`) |
63
64## Setup
65
66The Docus MCP server uses HTTP transport and can be installed in different AI assistants.
67
68### Claude Code
69
70Add the server using the CLI command:
71
72```bash
73claude mcp add --transport http my-docs https://docs.example.com/mcp
74```
75
76### Cursor
77
78:install-button{ide="cursor" label="Install in Cursor" url="https://docs.example.com/mcp"}
79
80Or manually create/update `.cursor/mcp.json` in your project root:
81
82```json [.cursor/mcp.json]
83{
84 "mcpServers": {
85 "my-docs": {
86 "type": "http",
87 "url": "https://docs.example.com/mcp"
88 }
89 }
90}
91```
92
93### Visual Studio Code
94
95Ensure you have GitHub Copilot and GitHub Copilot Chat extensions installed.
96
97:install-button{ide="vscode" label="Install in VS Code" url="https://docs.example.com/mcp"}
98
99Or manually create/update the `.vscode/mcp.json` file:
100
101```json [.vscode/mcp.json]
102{
103 "servers": {
104 "my-docs": {
105 "type": "http",
106 "url": "https://docs.example.com/mcp"
107 }
108 }
109}
110```
111
112### Windsurf
113
1141. Open Windsurf and navigate to **Settings** > **Windsurf Settings** > **Cascade**
1152. Click the **Manage MCPs** button, then select the **View raw config** option
1163. Add the following configuration:
117
118```json [.codeium/windsurf/mcp_config.json]
119{
120 "mcpServers": {
121 "my-docs": {
122 "type": "http",
123 "url": "https://docs.example.com/mcp"
124 }
125 }
126}
127```
128
129### Zed
130
1311. Open Zed and go to **Settings** > **Open Settings**
1322. Navigate to the JSON settings file
1333. Add the following context server configuration:
134
135```json [.config/zed/settings.json]
136{
137 "context_servers": {
138 "my-docs": {
139 "source": "custom",
140 "command": "npx",
141 "args": ["mcp-remote", "https://docs.example.com/mcp"],
142 "env": {}
143 }
144 }
145}
146```
147
148## Customization
149
150Since Docus uses the `@nuxtjs/mcp-toolkit` module, you can extend the MCP server with custom tools, resources, prompts, and handlers.
151
152### Adding Custom Tools
153
154Create new tools in the `server/mcp/tools/` directory:
155
156```ts [server/mcp/tools/search.ts]
157import { z } from 'zod'
158
159export default defineMcpTool({
160 description: 'Search documentation by keyword',
161 inputSchema: {
162 query: z.string().describe('The search query'),
163 },
164 handler: async ({ query }) => {
165 const results = await searchDocs(query)
166 return {
167 content: [{ type: 'text', text: JSON.stringify(results) }],
168 }
169 },
170})
171```
172
173### Adding Resources
174
175Expose files or data sources as MCP resources in the `server/mcp/resources/` directory. The simplest way is using the `file` property:
176
177```ts [server/mcp/resources/changelog.ts]
178export default defineMcpResource({
179 file: 'CHANGELOG.md',
180 metadata: {
181 description: 'Project changelog',
182 },
183})
184```
185
186This automatically handles URI generation, MIME type detection, and file reading.
187
188### Adding Prompts
189
190Create reusable prompts for AI assistants in the `server/mcp/prompts/` directory:
191
192```ts [server/mcp/prompts/migration-help.ts]
193import { z } from 'zod'
194
195export default defineMcpPrompt({
196 description: 'Get help with migrating between versions',
197 inputSchema: {
198 fromVersion: z.string().describe('Current version'),
199 toVersion: z.string().describe('Target version'),
200 },
201 handler: async ({ fromVersion, toVersion }) => {
202 return {
203 messages: [{
204 role: 'user',
205 content: {
206 type: 'text',
207 text: `Help me migrate from version ${fromVersion} to ${toVersion}. What are the breaking changes and steps I need to follow?`,
208 },
209 }],
210 }
211 },
212})
213```
214
215### Adding Custom Handlers
216
217Handlers allow you to create separate MCP endpoints with their own tools, resources, and prompts. This is useful for exposing different capabilities at different routes.
218
219For example, you could have:
220
221- `/mcp` - Main documentation MCP server
222- `/mcp/migration` - Dedicated MCP server for migration assistance
223
224```ts [server/mcp/migration.ts]
225import { z } from 'zod'
226
227const migrationTool = defineMcpTool({
228 name: 'migrate-v3-to-v4',
229 description: 'Migrate code from version 3 to version 4',
230 inputSchema: {
231 code: z.string().describe('The code to migrate'),
232 },
233 handler: async ({ code }) => {
234 // Migration logic
235 return {
236 content: [{ type: 'text', text: migratedCode }],
237 }
238 },
239})
240
241export default defineMcpHandler({
242 route: '/mcp/migration',
243 name: 'Migration Assistant',
244 version: '1.0.0',
245 tools: [migrationTool],
246})
247```
248
249### Overwriting Built-in Tools
250
251You can override the default `list-pages` or `get-page` tools by creating a tool with the same name in your project:
252
253```ts [server/mcp/tools/list-pages.ts]
254import { z } from 'zod'
255
256export default defineMcpTool({
257 description: 'Custom list pages implementation',
258 inputSchema: {
259 locale: z.string().optional(),
260 category: z.string().optional(),
261 },
262 handler: async ({ locale, category }) => {
263 const pages = await getCustomPageList(locale, category)
264 return {
265 content: [{ type: 'text', text: JSON.stringify(pages) }],
266 }
267 },
268})
269```
270
271::tip{to="https://mcp-toolkit.nuxt.dev/"}
272Check the MCP Toolkit documentation for more information about tools, resources, prompts, handlers and advanced configuration.
273::
docs/content/en/4.ai/3.skills.md+203−0
@@ -0,0 +1,203 @@
1---
2title: Agent Skills
3description: Publish agent skills from your documentation site so AI tools can discover and install them automatically.
4navigation:
5 icon: i-lucide-wand-sparkles
6---
7
8## About Agent Skills
9
10Docus automatically discovers skills in your `skills/` directory and serves them at `/.well-known/skills/`, following the [Cloudflare Agent Skills Discovery RFC](https://github.com/cloudflare/agent-skills-discovery-rfc). This makes your skills installable from any documentation URL with a single command.
11
12[Agent Skills](https://agentskills.io/) are a lightweight, open format for giving AI agents specialized knowledge and workflows. A skill is a `SKILL.md` file with YAML frontmatter that describes what agents can do with your product, along with optional supporting reference files.
13
14::note{to="https://docus.dev/.well-known/skills/index.json"}
15See the skills published on this documentation site.
16::
17
18## Quick Start
19
20::steps
21### Create a skill
22
23Add a `skills/` directory at the root of your Docus project with a skill subdirectory containing a `SKILL.md` file:
24
25```bash
26my-docs/
27└── skills/
28 └── my-product/
29 └── SKILL.md
30```
31
32### Write your SKILL.md
33
34Follow the [agentskills.io specification](https://agentskills.io/specification). The only required frontmatter field is `description` — `name` defaults to the directory name if omitted:
35
36```md [skills/my-product/SKILL.md]
37---
38name: my-product
39description: Build and deploy apps with My Product. Use when creating projects, configuring settings, or troubleshooting issues.
40---
41
42# My Product
43
44## Getting Started
45
46Create a new project:
47
48\`\`\`bash
49npx create-my-product my-app
50\`\`\`
51```
52
53### Deploy
54
55Deploy your documentation. Docus automatically serves your skills at `/.well-known/skills/`.
56
57### Share with users
58
59Users can install your skills with a single command:
60
61```bash
62npx skills add https://your-docs-domain.com
63```
64
65The CLI detects installed agents (Claude Code, Cursor, Windsurf, and others) and installs the skill to all of them.
66::
67
68## Directory Structure
69
70A skill directory can contain supporting files beyond `SKILL.md`:
71
72```bash
73skills/
74└── my-product/
75 ├── SKILL.md # Required: instructions + metadata
76 ├── references/ # Optional: additional documentation
77 │ ├── api.md
78 │ └── configuration.md
79 ├── scripts/ # Optional: executable code
80 │ └── setup.sh
81 └── assets/ # Optional: templates, schemas
82 └── config.template.yaml
83```
84
85All files are automatically listed in the `index.json` catalog and served at their respective paths under `/.well-known/skills/{skill-name}/`.
86
87::tip
88Keep your main `SKILL.md` under 500 lines. Move detailed reference material to separate files in `references/` — agents load these on demand, so smaller files mean less context usage.
89::
90
91## Configuration
92
93By default, Docus looks for skills in the `skills/` directory at the root of your project. You can change this with `docus.skills.dir` in your `nuxt.config.ts`:
94
95```ts [nuxt.config.ts]
96export default defineNuxtConfig({
97 docus: {
98 skills: {
99 dir: 'agent-skills'
100 }
101 }
102})
103```
104
105## Skill Name Requirements
106
107Skill names must follow the [Agent Skills naming specification](https://agentskills.io/specification#name-field):
108
109- 1-64 characters
110- Lowercase letters, numbers, and hyphens only (`a-z`, `0-9`, `-`)
111- Must not start or end with a hyphen
112- Must not contain consecutive hyphens (`--`)
113- The `name` field in frontmatter must match the parent directory name
114
115::note
116Skills that fail validation are skipped — check your build output for warnings.
117::
118
119## Multiple Skills
120
121You can publish multiple skills from a single documentation site:
122
123```bash
124skills/
125├── my-product/
126│ └── SKILL.md
127├── create-project/
128│ ├── SKILL.md
129│ └── references/
130│ └── templates.md
131└── migration-guide/
132 └── SKILL.md
133```
134
135All skills appear in the `index.json` catalog and are independently installable.
136
137## Preview and Versioning
138
139Since skills live in your repository alongside your documentation, they benefit from your existing Git workflow:
140
141- **Branch previews**: Test skill changes on preview deployments before merging. On Vercel, every pull request gets a preview URL where you can verify your skills work correctly:
142
143```bash
144npx skills add https://my-docs-git-feat-new-skill.vercel.app
145```
146
147- **Version control**: Track skill changes with Git history, review diffs in pull requests, and roll back if needed.
148- **CI/CD**: Skills are built and deployed automatically with your documentation — no separate publishing step.
149
150::tip
151Use preview URLs to test skills with your AI tools before shipping to production. This ensures your skill instructions work correctly with real agents.
152::
153
154## How Discovery Works
155
156This feature implements the [Cloudflare Agent Skills Discovery RFC](https://github.com/cloudflare/agent-skills-discovery-rfc), which extends [RFC 8615](https://datatracker.ietf.org/doc/html/rfc8615) (the same `.well-known` standard behind ACME certificate validation and `security.txt`).
157
158Docus scans your `skills/` directory at build time and generates two types of endpoints:
159
160### Discovery index
161
162```
163GET /.well-known/skills/index.json
164```
165
166Returns a JSON catalog listing all available skills with their descriptions and files:
167
168```json
169{
170 "skills": [
171 {
172 "name": "my-product",
173 "description": "Build and deploy apps with My Product.",
174 "files": ["SKILL.md", "references/api.md"]
175 }
176 ]
177}
178```
179
180### Skill files
181
182```
183GET /.well-known/skills/{skill-name}/SKILL.md
184GET /.well-known/skills/{skill-name}/references/api.md
185```
186
187Individual skill files are served with appropriate content types (`text/markdown` for `.md` files, `application/json` for `.json`, etc.).
188
189## Comparison with llms.txt
190
191Both `llms.txt` and Agent Skills help AI tools work with your documentation, but they serve different purposes:
192
193| | llms.txt | Agent Skills |
194|---|---|---|
195| **Purpose** | Directory of all documentation pages | Capability summary with actionable instructions |
196| **Content** | Page titles, descriptions, and links | Step-by-step workflows, code examples, constraints |
197| **Loaded** | At discovery time | On demand, when the skill is activated |
198| **Format** | Plain text with links | Markdown with YAML frontmatter |
199| **Best for** | Helping agents find information | Teaching agents how to use your product |
200
201::tip
202Use both together: `llms.txt` tells agents where to find information, while skills tell agents what they can accomplish and how.
203::
docs/content/en/4.ai/4.llms.md+125−0
@@ -0,0 +1,125 @@
1---
2title: LLMs Integration
3description: Docus generate AI-ready content files using Nuxt LLMs module
4navigation:
5 icon: i-lucide-message-circle-code
6---
7
8Docus integrates `nuxt-llms` by default to prepare your content for Large Language Models (LLMs). All your documentation pages are injected and `/llms.txt` and `/llms-full.txt` files are automatically generated and pre-rendered.
9
10::note{to="https://docus.dev/llms.txt"}
11Have a check at the `/llms.txt` file generated for Docus documentation itself.
12::
13
14## Defaults
15
16Here are the default values use to generate the `/llms.txt` file:
17
18- `domain` → computed based on your deployment platform (or by using `NUXT_SITE_URL` env variable)
19- `title` → extracted from your `package.json`
20- `description` → extracted from your `package.json`
21- `full.title` → extracted from your `package.json`
22- `full.description` → extracted from your `package.json`
23
24## Customize
25
26You can override your LLMs data from the `nuxt.config.ts` :
27
28```ts [nuxt.config.ts]
29export default defineNuxtConfig({
30 llms: {
31 domain: 'https://your-site.com',
32 title: 'Your Site Name',
33 description: 'A brief description of your site',
34 full: {
35 title: 'Your Site Name',
36 description: 'A brief description of your site',
37 },
38 },
39})
40```
41
42## Raw Markdown Access
43
44When `nuxt-llms` is enabled, Docus also exposes a raw markdown endpoint so AI agents can fetch LLM-ready source files without going through the full rendering pipeline. This reduces token usage and improves response speed for AI-powered tools consuming your documentation.
45
46### How it works
47
48- **Endpoint**: `/raw/<content-path>.md` — use the same path as the page URL, drop trailing `/index`, and keep the `.md` extension
49- **Content-Type**: `text/markdown; charset=utf-8`
50- **Auto-enrichment**: if the requested document is missing a top-level heading or description, the route automatically prepends the title and description to the markdown body
51- **LLMs.txt integration**: document links in `llms.txt` are automatically rewritten to the `/raw/...md` endpoint, so agents fetch compact markdown instead of full HTML
52
53::note{to="/raw/en/ai/llms.md"}
54Try accessing the raw Markdown version of this page.
55::
56
57### Configuration
58
59You can customize the raw markdown behavior from your `nuxt.config.ts`:
60
61```ts [nuxt.config.ts]
62export default defineNuxtConfig({
63 llms: {
64 contentRawMarkdown: {
65 // Prevent specific page collections from being exposed
66 excludeCollections: ['landing', 'landing_en', 'landing_fr'],
67 // Keep llms.txt links pointing to rendered pages instead of raw markdown
68 rewriteLLMSTxt: false,
69 },
70 },
71})
72```
73
74To disable raw markdown access entirely:
75
76```ts [nuxt.config.ts]
77export default defineNuxtConfig({
78 llms: {
79 contentRawMarkdown: false,
80 },
81})
82```
83
84## Markdown Redirection
85
86::note
87This feature is only available when Docus is deployed on Vercel. We'll be able to make it agnostic once Nitro v3 supports global rewrites for multi vendors.
88::
89
90When deployed on Vercel, Docus automatically configures intelligent routing to serve markdown content to AI agents and CLI tools.
91
92### Why?
93
94Agents like Claude Code use `Accept: text/markdown` headers by default, retuning raw Markdown is saving lots of data transfer and tokens in the process.
95
96### How?
97
98Docus detects requests from AI agents and command-line tools using HTTP headers:
99
100- **Accept header**: Requests with `Accept: text/markdown` are automatically redirected
101- **User-agent detection**: `curl` requests as agents are automatically redirected
102
103### Redirect Rules
104
105- **Root path**: `/` → `/llms.txt`
106- **Documentation pages**: `/{path}` → `/raw/{path}.md`
107
108### Example Usage
109
110```bash
111# Get llms.txt from homepage
112curl -H "Accept: text/markdown" https://docus.dev/
113
114# Get llms.txt from locale homepage
115curl -H "Accept: text/markdown" https://docus.dev/en
116
117# Get raw markdown for a documentation page
118curl -H "Accept: text/markdown" https://docus.dev/en/ai/llms
119```
120
121All these commands will return markdown content instead of HTML.
122
123::tip{to="https://github.com/nuxt-content/nuxt-llms"}
124Checkout the nuxt-llms documentation for more information about the module.
125::
docs/content/en/index.md+364−0
@@ -0,0 +1,364 @@
1---
2seo:
3 title: Write beautiful docs with Markdown
4 description: Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box. Docus brings together the best of the Nuxt ecosystem. Powered by Nuxt UI.
5---
6
7::u-page-hero
8#title
9Write beautiful docs with Markdown.
10
11#description
12Ship fast, flexible, and SEO-optimized documentation with beautiful design out of the box. :br Docus brings the best of the Nuxt ecosystem.
13
14#links
15 :::u-button
16 ---
17 color: neutral
18 size: xl
19 to: /en/getting-started/installation
20 trailing-icon: i-lucide-arrow-right
21 ---
22 Get started
23 :::
24
25 :::u-button
26 ---
27 color: neutral
28 icon: simple-icons-github
29 size: xl
30 to: https://github.com/nuxt-content/docus
31 variant: outline
32 ---
33 Star on GitHub
34 :::
35
36#headline
37 :::u-button
38 ---
39 size: sm
40 to: https://github.com/nuxt-content/docus/releases/tag/v5.0.0
41 variant: outline
42 ---
43 Docus v5 →
44 :::
45::
46
47::u-page-section
48 :::u-page-grid
49 ::::u-page-card
50 ---
51 spotlight: true
52 class: group col-span-2 lg:col-span-1
53 target: _blank
54 to: https://nuxt.com
55 ---
56 :floating-nuxt
57
58 #title
59 Built with [Nuxt](https://nuxt.com)
60
61 #description
62 Optimized by the most famous Vue framework. Docus gives you everything you need to build fast, performant, and SEO-friendly websites.
63 ::::
64
65 ::::u-page-card
66 ---
67 spotlight: true
68 class: col-span-2
69 target: _blank
70 to: https://ui.nuxt.com
71 ---
72 :::::u-color-mode-image
73 ---
74 height: 320
75 width: 859
76 alt: Beautiful visual powered by UI
77 class: w-full h-80 object-cover rounded-lg
78 dark: /landing/dark/templates-ui-pro.webp
79 light: /landing/light/templates-ui-pro.webp
80 ---
81 :::::
82
83 #title
84 Powered by [Nuxt UI](https://ui.nuxt.com)
85
86 #description
87 Beautiful out of the box, minimal by design but highly customizable. Docus leverages Nuxt UI to give you the best docs writing experience with zero boilerplate, just focus on your content.
88 ::::
89
90 ::::u-page-card
91 ---
92 spotlight: true
93 class: col-span-2
94 target: _blank
95 ---
96 :::::tabs
97 ::::::tabs-item{.mt-5 icon="i-lucide-eye" label="Preview"}
98 :::::::div{.flex.flex-col.gap-4}
99 ::::::::note{.my-0}
100 Here's some additional information for you.
101 ::::::::
102
103 ::::::::tip{.my-0}
104 Here's a helpful suggestion.
105 ::::::::
106
107 ::::::::warning{.my-0}
108 Be careful with this action as it might have unexpected results.
109 ::::::::
110
111 ::::::::caution{.my-0}
112 This action cannot be undone.
113 ::::::::
114 :::::::
115 ::::::
116
117 ::::::tabs-item
118 ---
119 class: mt-5 mb-2 text-xs overflow-x-auto
120 icon: i-lucide-code
121 label: Code
122 ---
123```mdc
124::note
125Here's some additional information.
126::
127
128::tip
129Here's a helpful suggestion.
130::
131
132::warning
133Be careful with this action as it might have unexpected results.
134::
135
136::caution
137This action cannot be undone.
138::
139```
140 ::::::
141 :::::
142
143 #title
144 Enhanced Markdown syntax by [Nuxt Content](https://content.nuxt.com)
145
146 #description
147 The only thing you need to take care about is writing your content. Write your pages in Markdown and extend with MDC syntax to embed Nuxt UI or custom Vue components. Structure, routing, and rendering are handled for you.
148 ::::
149
150 ::::u-page-card
151 ---
152 class: col-span-2 md:col-span-1
153 ---
154 :assistant-demo
155
156 #title
157 Built-in [Assistant]{.text-primary}
158
159 #description
160 Let visitors ask questions about your documentation in natural language. The assistant searches your content and provides accurate answers with source citations.
161 ::::
162
163 ::::u-page-card
164 ---
165 spotlight: true
166 class: col-span-2 md:col-span-1 min-h-[450px]
167 target: _blank
168 ---
169 :color-mode-switch
170
171 #title
172 [Nuxt Color](https://color-mode.nuxtjs.org/) mode
173
174 #description
175 Built-in dark mode provided, no configuration required.
176 ::::
177
178 ::::u-page-card
179 ---
180 spotlight: true
181 class: col-span-2
182 target: _blank
183 ---
184 :::::u-color-mode-image
185 ---
186 height: 554
187 width: 859
188 alt: Built-in navigation and full-text search
189 class: rounded-lg
190 dark: /landing/dark/command-menu.png
191 format: webp
192 light: /landing/light/command-menu.png
193 loading: lazy
194 ---
195 :::::
196
197 #title
198 Built-in navigation and [full-text search]{.text-primary}
199
200 #description
201 Only focus on ordering your content, Docus handles the search modal and auto-generates the side navigation for you.
202 ::::
203
204 ::::u-page-card
205 ---
206 spotlight: true
207 class: col-span-2
208 target: _blank
209 ---
210 :::::browser-frame
211 :video{.rounded-md controls loop playsinline src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
212 :::::
213
214 #title
215 Edit your content in production with [Nuxt Studio](https://nuxt.studio)
216
217 #description
218 Write and manage your content visually, with zero Markdown knowledge required. Let your non technical colleagues collaborate on the documentation and integrate Vue components without code skills.
219 ::::
220
221 ::::u-page-card
222 ---
223 spotlight: true
224 class: col-span-2 lg:col-span-1
225 target: _blank
226 to: https://image.nuxt.com/
227 ---
228 :::::div{.flex-1.flex.items-center.justify-center}
229 ::::::u-color-mode-image
230 ---
231 alt: Nuxt Image visual
232 class: w-[30%] lg:w-[70%] my-12 lg:my-0
233 dark: /landing/dark/nuxt-image.svg
234 light: /landing/light/nuxt-image.svg
235 ---
236 ::::::
237 :::::
238
239 #title
240 [Nuxt Image](https://image.nuxt.com) optimization
241
242 #description
243 Docus automatically converts Markdown images to use `<NuxtImg>` .
244 ::::
245
246 ::::u-page-card
247 ---
248 spotlight: true
249 class: col-span-2 lg:col-span-1
250 target: _blank
251 to: /en/concepts/internationalization
252 ---
253 :::::u-color-mode-image
254 ---
255 height: 195
256 width: 403
257 alt: Internationalization illustration
258 class: w-full my-12 lg:my-0
259 dark: /landing/dark/i18n.svg
260 light: /landing/light/i18n.svg
261 ---
262 :::::
263
264 #title
265 [Internationalization]{.text-primary} support
266
267 #description
268 Built-in i18n support with automatic routing and content management. Create multi-language documentation effortlessly.
269 ::::
270
271 ::::u-page-card
272 ---
273 spotlight: true
274 class: col-span-2
275 target: _blank
276 to: /en/ai/mcp
277 ---
278 :::::u-color-mode-image
279 ---
280 height: 400
281 width: 859
282 alt: Native MCP server and AI-ready content illustration
283 class: w-full h-auto rounded-lg translate-y-10
284 dark: /landing/dark/mcp.svg
285 light: /landing/light/mcp.svg
286 ---
287 :::::
288
289 #title
290 [AI-Ready]{.text-primary} with native MCP
291
292 #description
293 Built-in Model Context Protocol server connects your documentation to AI tools like Cursor, VS Code, and Claude. Automatic generation of `llms.txt` and `llms-full.txt` files for seamless LLM integration.
294 ::::
295
296 ::::u-page-card
297 ---
298 spotlight: true
299 class: col-span-2
300 target: _blank
301 ---
302 ```ts [app.config.ts]
303 export default defineAppConfig({
304 ui: {
305 colors: {
306 primary: 'green',
307 secondary: 'sky',
308 },
309 },
310 socials: {
311 x: 'https://x.com/nuxt_js',
312 nuxt: 'https://nuxt.com'
313 }
314 })
315 ```
316
317 #title
318 Customize with [Nuxt App Config](https://nuxt.com/docs/4.x/getting-started/configuration#app-configuration)
319
320 #description
321 Update colors, social links, header logos and component styles globally using the `app.config.ts`, no direct code modifications required.
322 ::::
323
324 ::::u-page-card
325 ---
326 spotlight: true
327 class: col-span-2 lg:col-span-1
328 ---
329 :::::div{.flex-1.flex.flex-col.items-center.justify-center.py-8.text-center}
330 ::::::div{.flex.flex-col.gap-3.w-full.max-w-xs}
331 :::::::u-button
332 ---
333 block: true
334 color: primary
335 size: lg
336 to: /en/getting-started/introduction
337 trailing-icon: i-lucide-arrow-right
338 ---
339 Read Documentation
340 :::::::
341
342 :::::::u-button
343 ---
344 block: true
345 color: neutral
346 icon: i-simple-icons-github
347 size: lg
348 target: _blank
349 to: https://github.com/nuxt-content/docus
350 variant: outline
351 ---
352 View on GitHub
353 :::::::
354 ::::::
355 :::::
356
357 #title
358 [Ready]{.text-primary} to start?
359
360 #description
361 Explore all the features that make Docus the perfect documentation solution.
362 ::::
363 :::
364::
docs/content/fr/1.getting-started/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Bien démarrer
2icon: i-lucide-rocket
docs/content/fr/1.getting-started/2.introduction.md+73−0
@@ -0,0 +1,73 @@
1---
2title: Introduction
3description: Bienvenue dans la documentation du thème Docus.
4navigation:
5 icon: i-lucide-house
6seo:
7 title: Introduction
8 description: Découvrez comment créer, gérer et publier une documentation facilement avec Docus.
9---
10
11Bienvenue sur **Docus**, une solution de documentation entièrement intégrée construite avec [Nuxt UI](https://ui.nuxt.com).
12
13## Qu'est-ce que Docus ?
14
15Docus est un thème basé sur le [template de documentation UI](https://docs-template.nuxt.dev/). Le style visuel est prêt à l'emploi, votre priorité doit être d'écrire du contenu en utilisant la syntaxe Markdown et [MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax) fournie par [Nuxt Content](https://content.nuxt.com).
16
17Nous utilisons ce thème pour toutes nos documentations de modules Nuxt, y compris :
18
19::card-group
20 :::card
21 ---
22 icon: i-lucide-image
23 target: _blank
24 title: Nuxt Image
25 to: https://image.nuxt.com
26 ---
27 La documentation de `@nuxt/image`
28 :::
29
30 :::card
31 ---
32 icon: i-simple-icons-nuxtdotjs
33 target: _blank
34 title: Nuxt Content
35 to: https://content.nuxt.com
36 ---
37 La documentation de `@nuxt/content`
38 :::
39
40 :::card
41 ---
42 icon: i-simple-icons-supabase
43 target: _blank
44 title: Nuxt Supabase
45 to: https://supabase.nuxtjs.org
46 ---
47 La documentation de `@nuxt/supabase`
48 :::
49
50 :::card
51 ---
52 icon: i-simple-icons-strapi
53 target: _blank
54 title: Nuxt Strapi
55 to: https://strapi.nuxtjs.org
56 ---
57 La documentation de `@nuxt/strapi`
58 :::
59::
60
61## Fonctionnalités clés
62
63Ce thème inclut de nombreuses fonctionnalités pour améliorer la gestion de votre documentation :
64
65- **Propulsé par** **[Nuxt 4](https://nuxt.com)** : Utilise le dernier framework Nuxt pour des performances optimales.
66- **Construit avec** **[Nuxt UI](https://ui.nuxt.com)**: Intègre une suite complète de composants UI.
67- **[Syntaxe MDC](https://content.nuxt.com/usage/markdown)** **via** **[Nuxt Content](https://content.nuxt.com)** : Prend en charge le Markdown avec intégration de composants pour du contenu dynamique.
68- **[Nuxt Studio](https://content.nuxt.com/docs/studio)** **Compatible** : Rédigez et éditez votre contenu visuellement. Aucune connaissance Markdown requise !
69- **Navigation latérale auto-générée** : Génère automatiquement la navigation à partir de la structure du contenu.
70- **Recherche plein texte** : Fonctionnalité de recherche intégrée pour découvrir le contenu.
71- **Typographie optimisée** : Typographie raffinée pour une meilleure lisibilité.
72- **Mode sombre** : Prend en charge le mode sombre selon la préférence utilisateur.
73- **Fonctionnalités étendues** : Explorez le thème pour découvrir toutes ses capacités.
docs/content/fr/1.getting-started/3.installation.md+78−0
@@ -0,0 +1,78 @@
1---
2title: Installation
3description: Commencez avec Docus.
4navigation:
5 icon: i-lucide-download
6seo:
7 description: Démarrez avec le thème de documentation Docus.
8 title: Installation
9---
10
11## CLI `create-docus`
12
13::steps
14### Créez votre dossier de documentation
15
16Utilisez le CLI `create-docus` pour créer un nouveau projet Docus :
17
18```bash [Terminal]
19npx create-docus my-docs
20```
21
22Vous pouvez choisir entre deux templates:
23
24- `default` : Configuration Docus de base pour une documentation monolingue
25- `i18n` : Inclut le support d'internationalisation pour une documentation multilingue
26
27```bash [Terminal]
28# Créer avec le modèle i18n
29npx create-docus my-docs -t i18n
30```
31
32Nous recommandons d'utiliser le gestionnaire de paquets `npm`.
33
34### Démarrez votre serveur de documentation en mode développement
35
36Déplacez-vous dans votre dossier de documentation et démarrez votre serveur:
37
38```bash [Terminal]
39cd my-docs
40npm run dev
41```
42
43Un aperçu de votre documentation sera disponible sur <http://localhost:3000>
44
45### Rédigez votre documentation
46
47Rendez-vous dans la section [Édition](/fr/concepts/edition) pour apprendre à rédiger votre documentation.
48::
49
50## Skill pour assistant IA
51
52Démarrez rapidement avec Docus en ajoutant des connaissances spécialisées à votre assistant IA (Cursor, Claude, etc.) :
53
54```bash [Terminal]
55npx skills add https://docus.dev
56```
57
58Ce skill vous aide à créer de la documentation plus rapidement en fournissant à votre assistant IA :
59- Les meilleures pratiques pour rédiger de la documentation avec Docus
60- L'utilisation des composants MDC et des templates prêts à l'emploi
61- Les guides de rédaction et les modèles de structure de contenu
62- Les conseils de configuration et de personnalisation
63
64Une fois installé, votre assistant IA peut vous aider à créer rapidement de nouveaux projets de documentation, générer des pages avec la bonne structure, et rédiger du contenu en suivant les meilleures pratiques Docus.
65
66::tip{to="/fr/ai/skills"}
67Vous pouvez aussi publier vos propres skills depuis votre site Docus. En savoir plus sur les Agent Skills.
68::
69
70## Intégration du layer Docus
71
72Docus utilise une **approche basée sur les layers Nuxt**, vous pouvez étendre le layer Docus directement dans votre `nuxt.config.ts` avec `extends: ['docus']` :
73
74```ts [nuxt.config.ts]
75export default defineNuxtConfig({
76 extends: ['docus']
77})
78```
docs/content/fr/1.getting-started/4.project-structure.md+158−0
@@ -0,0 +1,158 @@
1---
2title: Structure du projet
3description: Comprendre la structure de projet de Docus.
4navigation:
5 icon: i-lucide-folder-tree
6---
7
8## Structure globale
9
10Docus est un **layer Nuxt** qui étend votre application Nuxt standard avec des fonctionnalités de documentation. Cela vous donne la flexibilité d'un projet Nuxt classique.
11
12Lorsque vous créez un nouveau projet Docus avec `npx create-docus my-docs`, voici la structure de base:
13
14```bash
15my-docs/
16├── content/ # Votre contenu markdown
17│ ├── index.md # Page d'accueil
18│ └── docs/ # Pages de documentation
19├── public/ # Ressources statiques
20└── package.json # Dépendances et scripts
21```
22
23Vous pouvez toujours utiliser n'importe quelle fonctionnalité ou fichier d'un projet Nuxt classique :
24
25```bash
26my-docs/
27├── nuxt.config.ts # Configuration Nuxt (ajouter des modules, composants...)
28├── app/ # Répertoire app
29 ├── app.config.ts # App configuration
30│ ├── components/ # Composants (ajoutez vos propres composants)
31│ ├── layouts/ # Layouts (ajoutez vos propres layouts)
32│ └── pages/ # Pages (ajoutez vos propres pages)
33└── server/ # Code côté serveur (ajoutez votre propre code côté serveur)
34```
35
36### Répertoire `content/`
37
38C'est ici que vous [rédigez vos pages](/fr/concepts/edition) en Markdown. Docus génère automatiquement les routes basées sur votre structure de fichiers.
39
40**Structure monolingue :**
41
42```bash
43content/
44├── index.md # Page d'accueil (/)
45├── getting-started.md # Page de documentation (/getting-started)
46└── guide/
47 ├── introduction.md # Page de documentation (/guide/introduction)
48 └── configuration.md # Page de documentation (/guide/configuration)
49```
50
51::tip{to="/fr/concepts/edition"}
52Vous pouvez séparer vos fichiers de documentation dans un sous-dossier `docs/` pour les rendre accessibles à la route `/docs`. De plus, vous avez la flexibilité de remplacer votre page d'accueil en utilisant des pages Vue personnalisées si désiré.
53::
54
55**Structure multilingue (avec i18n) :**
56
57```bash
58content/
59├── en/
60│ ├── index.md # Page d'accueil anglaise (/en)
61│ └── guide/
62│ └── introduction.md # Page de documentation (/en/guide/introduction)
63└── fr/
64 ├── index.md # Page d'accueil française (/fr)
65 └── guide/
66 └── introduction.md # Page de documentation (/fr/guide/introduction)
67```
68
69::tip{to="/fr/concepts/internationalization"}
70Plus d'informations sur i18n sont disponibles dans la section internationalisation.
71::
72
73### Répertoire `public/`
74
75Les fichiers contenus dans le répertoire `public/` sont servis à la racine et ne sont pas modifiés par le processus de build. C'est ici que vous pouvez placer vos images, icônes et autres ressources statiques.
76
77### `package.json`
78
79Ce fichier contient toutes les dépendances et scripts de votre application. Le `package.json` d'une application Docus est vraiment minimal et ressemble à :
80
81```json [package.json]
82{
83 "name": "my-docs",
84 "scripts": {
85 "build": "nuxt build --extends docus",
86 "dev": "nuxt dev --extends docus",
87 },
88 "dependencies": {
89 "docus": "latest",
90 "better-sqlite3": "^12.2.0",
91 "nuxt": "^4.0.0"
92 }
93}
94```
95
96### `nuxt.config.ts`
97
98*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
99
100Vous pouvez ajouter des modules supplémentaires à votre fichier de configuration Nuxt :
101
102```typescript [nuxt.config.ts]
103export default defineNuxtConfig({
104 extends: ['@vercel/analytics/nuxt/module']
105})
106```
107
108### `app.config.ts`
109
110*Ce fichier n'est pas obligatoire pour démarrer une application Docus.*
111
112::warning
113Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app config. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
114::
115
116C'est ici que vous pouvez [configurer Docus](/fr/concepts/configuration) pour l'adapter à votre marque, gérer le SEO, définir votre locale et adapter les liens et réseaux sociaux.
117
118```ts [app.config.ts]
119export default defineAppConfig({
120 docus: {
121 locale: 'fr', // Définir votre locale monolingue
122 },
123 seo: {
124 title: 'Ma Documentation',
125 description: 'Ma super documentation',
126 },
127 // ... autres configurations
128})
129```
130
131## Structure complète d'un projet Nuxt
132
133Puisque Docus est un layer Nuxt, vous pouvez utiliser **n'importe quelle fonctionnalité** d'un projet Nuxt standard :
134
135::warning
136Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app Nuxt. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
137::
138
139```bash
140my-docs/
141├── app/ # Répertoire app (optionnel)
142│ ├── app.config.ts # App configuration
143│ ├── app.css # Thème personnalisé (auto-importé par Docus)
144│ ├── components/ # Composants Vue personnalisés
145│ ├── layouts/ # Layouts personnalisés
146│ ├── pages/ # Pages Vue personnalisées (en dehors du contenu)
147│ ├── composables/ # Composables Vue
148│ └── middleware/ # Middleware de route
149├── server/ # Code côté serveur
150│ └── api/ # Routes API
151├── plugins/ # Plugins Nuxt
152├── middleware/ # Middleware global
153└── modules/ # Modules Nuxt personnalisés
154```
155
156::tip{to="/fr/concepts/nuxt"}
157Cette approche basée sur les layers offre toutes les fonctionnalités d'un projet Nuxt classique.
158::
docs/content/fr/1.getting-started/5.studio.md+99−0
@@ -0,0 +1,99 @@
1---
2title: Module Studio
3description: Éditez votre site Nuxt Content directement en production avec l'éditeur web Studio auto-hébergé.
4navigation:
5 icon: i-lucide-mouse-pointer-2
6 title: Module Studio
7seo:
8 title: Éditeur web Nuxt Studio
9 description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
10icon:
11 i-lucide-mouse-pointer-2 title: Éditeur web
12 seo:
13 title: Module Nuxt Studio
14 description: Apprenez à utiliser l'éditeur web Nuxt Studio auto-hébergé pour gérer votre contenu directement en production avec prévisualisation en temps réel et intégration GitHub, GitLab et Google.
15---
16
17Le module **Nuxt Studio** est une interface accessible depuis le navigateur permettant d'éditer votre site Nuxt Content directement en production. Accédez-y via une authentification GitHub, GitLab ou Google sur votre site déployé, et commencez à gérer votre contenu sans aucun outil de développement local.
18
19::tip{to="https://nuxt.studio/introduction"}
20Consultez la documentation de Nuxt Studio pour apprendre comment installer le module.
21::
22
23:video{controls loop src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
24
25L'**éditeur Studio** vous permet de gérer entièrement votre contenu depuis votre navigateur sur votre site en production. Pas besoin d'outils de développement local, de commandes Git ou d'accès au terminal. C'est idéal pour les équipes de contenu qui souhaitent éditer et prévisualiser leurs modifications dans un environnement familier.
26
27## Édition visuelle en production pour votre site Nuxt Content
28
29Nuxt Studio offre une **édition visuelle directement en production** pour les sites propulsés par Nuxt Content.
30
31Initialement proposé comme une plateforme premium autonome, Studio est désormais un **module Nuxt gratuit, open-source et auto-hébergeable**. Il permet à toute votre équipe, développeurs comme éditeurs non-techniques, de créer et mettre à jour du contenu en toute sécurité sans quitter votre site en ligne.
32
33## Fonctionnalités actuelles
34
35### ✨ **Éditeur visuel TipTap**
36
37Éditeur Markdown enrichi avec prise en charge complète des composants MDC.
38
39### 💻 **Éditeur de code Monaco**
40
41Éditeur de code avancé pour les fichiers Markdown (MDC), YAML et JSON si vous souhaitez éditer le code brut.
42
43### 📝 **Éditeur basé sur des formulaires**
44
45Éditez les fichiers YAML, JSON et le frontmatter à l'aide de formulaires générés automatiquement selon les schémas de collections.
46
47### 🎨 **Éditeur de props de composants Vue**
48
49Interface visuelle pour éditer les props des composants Vue directement depuis l'éditeur.
50
51### 🔄 **Prévisualisation en temps réel**
52
53Prévisualisez instantanément les modifications de contenu sur votre site en production.
54
55### 🔐 **Authentification multi-fournisseurs**
56
57Authentification OAuth sécurisée avec GitHub, GitLab et Google.
58
59### 🔑 **Authentification personnalisée**
60
61Utilitaires pour implémenter des flux d'authentification personnalisés (mot de passe, SSO, LDAP, etc.).
62
63### 📝 **Gestion des fichiers**
64
65Créez, éditez, renommez et supprimez des fichiers de contenu dans le répertoire `content/`.
66
67### 🖼 **Gestion des médias**
68
69Bibliothèque de médias centralisée avec prise en charge des formats JPEG, PNG, GIF, WebP, AVIF, SVG et plus encore.
70
71### 🌳 **Intégration Git**
72
73Commitez les modifications de contenu directement depuis la production et appuyez-vous sur votre pipeline CI/CD pour les déployer.
74
75### 🚀 **Mode développement**
76
77Éditez les fichiers de contenu et de médias directement depuis votre système de fichiers local via l'interface Studio.
78
79### 🌍 **Internationalisation**
80
81Prise en charge complète de l'i18n pour 17 langues : AR, BG, DE, EN, ES, FA, FI, FR, ID, IT, JA, NL, PL, PT-BR, UA, ZH, ZH-TW.
82
83## Fonctionnalités à venir
84
85### 📂 **Vue des collections**
86
87Gérez et naviguez dans toutes les collections de contenu depuis une interface unifiée.
88
89### 🖼 **Optimisation des médias**
90
91Optimisez les images et ressources médias directement dans l'éditeur.
92
93### 🤖 **Assistant IA pour le contenu**
94
95Obtenez des suggestions intelligentes alimentées par l'IA pour améliorer et accélérer la création de contenu.
96
97### 💡 **Fonctionnalités pilotées par la communauté**
98
99Vous avez une idée ? Partagez vos retours et contribuez à façonner l'avenir de Nuxt Studio.
docs/content/fr/1.getting-started/6.migration.md+41−0
@@ -0,0 +1,41 @@
1---
2title: Migration
3description: Comment migrer votre documentation d'une solution Markdown existante vers Docus
4navigation:
5 icon: i-lucide-replace
6---
7
8## **Migration de Docus v3 vers v4**
9
10Docus v4 introduit une nouvelle version qui exploite le CLI Nuxt au lieu du CLI Docus. Votre contenu et vos configurations existants restent compatibles, il suffit simplement de mettre à jour la commande pour lancer le serveur ou le build.
11
12### ⚠️ Breaking changes
13
14Les principaux changements cassants sont liés aux commandes CLI :
15
16| v3 | v4 |
17| ------------------------ | --------------------------- |
18| `npx docus init my-docs` | `npx create-docus my-docs` |
19| `docus dev` | `nuxt dev --extends docus` |
20| `docus build` | `nuxt build --extends docus` |
21
22::tip
23Votre contenu Markdown existant fonctionnera sans changements. La migration concerne principalement la mise à jour de votre workflow de développement et de build.
24::
25
26## **Migrer vers Docus**
27
28Vous utilisez déjà une solution basée sur Markdown pour votre documentation ? Que ce soit **Docus v1**, le **template de docs Nuxt UI**, ou une autre solution de site statique, migrer vers Docus est simple et direct.
29
30Docus offre une solution propre et maintenable avec une seule dépendance : la bibliothèque Docus elle-même. Plus besoin de gérer de multiples dépendances. Tout est intégré et maintenu ensemble, ce qui facilite la mise à jour de votre documentation.
31
32Pour migrer, déplacez simplement vos fichiers Markdown existants dans le dossier `content/` du starter Docus.
33
34À partir de là, deux scénarios :
35
36- **Si votre documentation actuelle utilise déjà Nuxt Content et la syntaxe MDC**, assurez-vous que les composants utilisés existent dans Nuxt UI. Si certains composants manquent, vous pouvez facilement créer les vôtres.
37- **Si vous utilisez du Markdown standard**, vous pouvez copier vos fichiers tels quels. Ensuite, améliorez progressivement votre documentation en utilisant les [composants intégrés](/fr/essentials/components) fournis par Nuxt UI.
38
39Une fois votre contenu déplacé dans le dossier `content/`, vous pouvez consulter la [section configuration](/fr/concepts/configuration) pour personnaliser facilement votre application.
40
41Docus est conçu pour se concentrer sur la rédaction de contenu, donc si vous utilisez déjà Markdown, vous pouvez facilement passer à Docus.
docs/content/fr/1.getting-started/7.troubleshooting.md+31−0
@@ -0,0 +1,31 @@
1---
2title: Dépannage
3description: Problèmes courants et solutions liés à Docus.
4navigation:
5 icon: i-lucide-wrench
6seo:
7 description: Guide de dépannage pour les problèmes courants de Docus.
8 title: Dépannage
9---
10
11## Problèmes avec `pnpm`
12
13Si vous rencontrez des erreurs lors du build ou du développement avec `pnpm`, en particulier liées à la dépendance `better-sqlite3`, il se peut que vous deviez approuver certains paquets pour qu’ils puissent être compilés.
14
15Exécutez la commande suivante pour approuver les paquets à compiler:
16
17```bash [Terminal]
18pnpm approve-builds
19```
20
21Lorsque vous y êtes invité, sélectionnez `better-sqlite3` et `sharp` dans la liste des packages pour l'approuver pour la compilation.
22
23### Activer le *shameful hoisting* (mode compatibilité)
24
25Si vous voyez des erreurs du type `Can't resolve 'tailwindcss'` ou `Can't resolve '@nuxt/ui'`, vous n’avez pas forcément besoin de les importer. Vous pouvez simplement appliquer une structure flat des `node_modules` (comme avec npm ou yarn).
26
27Vous pouvez activer le mode compatibilité en créant un fichier `.npmrc` contenant :
28
29```js
30shamefully-hoist=true
31```
docs/content/fr/2.concepts/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Concepts clés
2icon: i-lucide-brain
docs/content/fr/2.concepts/2.edition.md+191−0
@@ -0,0 +1,191 @@
1---
2title: Édition
3description: Apprenez à rédiger votre documentation.
4navigation:
5 icon: i-lucide-pencil
6seo:
7 description: Apprenez à rédiger votre documentation avec Docus et Nuxt Content.
8 title: Édition
9---
10
11Docus vous permet d'écrire tout votre contenu en **Markdown** mais offre aussi la possibilité d'intégrer des **composants** grâce à la [syntaxe MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax) fournie par **Nuxt Content**.
12
13::tip{to="/fr/essentials/components"}
14Consultez la liste des composants prose Nuxt UI que vous pouvez intégrer dans votre Markdown.
15::
16
17## Page d'accueil
18
19La page d'accueil est la première page que vos visiteurs voient à la racine `/` de votre site. Par défaut, Docus utilise le fichier `content/index.md` pour afficher cette page.
20
21### Page d'accueil Markdown (par défaut)
22
23Par défaut, la page d'accueil correspond au fichier `content/index.md`. La syntaxe `MDC` vous offre la possibilité d'utiliser des composants Vue, y compris les slots et les props dans vos fichiers `.md`.
24
25Lorsqu'aucune page d'accueil personnalisée n'existe, Docus automatiquement:
26- Crée une collection de contenu `landing` pour `content/index.md`
27- Enregistre la route `/` pour afficher votre page d'accueil Markdown
28
29### Page d'accueil Vue personnalisée
30
31Vous pouvez personnaliser votre page d'accueil en créant une page Vue à `app/pages/index.vue` (ou `app/pages/[[lang]]/index.vue` pour les configurations i18n). Cela vous donne un contrôle total avec les composants Vue, des layouts personnalisés et des interactions `js` avancées.
32
33**Lorsque vous créez** `app/pages/index.vue`, Docus :
34- Ne créera pas la collection `landing`
35- N'enregistrera pas la route d'accueil
36- Utilisera votre page Vue personnalisée comme page d'accueil
37
38::note
39Cette détection automatique fonctionne pour les configurations monolingues et multilingues (i18n).
40::
41
42### Composants
43
44MDC fournit une syntaxe dédiée pour utiliser facilement des composants Vue dans votre contenu :
45
46```mdc [content/index.md]
47:::u-page-feature
48:::
49```
50
51### Slots
52
53Les slots peuvent recevoir du texte ou d'autres composants.
54
55- **Slot par défaut** est rendu directement dans le composant ou avec `#default`.
56- **Slots nommés** sont définis en utilisant le symbole `#` suivi du nom du slot.
57
58```mdc [index.md]
59:::u-page-feature
60 #title
61 Nuxt 4
62
63 #description
64 Propulsé par Nuxt 4 pour des performances et un SEO optimaux.
65:::
66```
67
68### Props
69
70Les props sont passées en syntaxe inline ou via le frontmatter YAML dans le bloc du composant :
71
72::tabs
73 :::tabs-item{icon="i-lucide-braces" label="Inline"}
74 ```mdc [index.md]
75 :::u-page-feature{icon="i-simple-icons-nuxt" to="https://nuxt.com"}
76 #title
77 Nuxt 4
78
79 #description
80 Propulsé par Nuxt 4 pour des performances et un SEO optimaux.
81 :::
82 ```
83 :::
84
85 :::tabs-item{icon="i-lucide-code" label="YAML"}
86 ```mdc [index.md]
87 :::u-page-feature
88 ---
89 icon: i-simple-icons-nuxt
90 to: https://nuxt.com
91 ---
92 #title
93 Nuxt 4
94
95 #description
96 Propulsé par Nuxt 4 pour des performances et un SEO optimaux.
97 :::
98 ```
99 :::
100::
101
102::note{to="https://content.nuxt.com"}
103Consultez la documentation Nuxt Content pour plus de détails sur la syntaxe MDC
104::
105
106## Pages de documentation
107
108::tip
109Il existe une relation un à un entre les fichiers de contenu et les pages de votre site. Chaque page Markdown dans le dossier `content/` correspond directement à une route de page.
110::
111
112### **Sans dossier docs**
113
114Pour commencer, éditez ou ajoutez simplement des fichiers `.md` dans le dossier `content/` pour mettre à jour vos pages. Docus gère automatiquement le routage, la navigation et la recherche plein texte.
115
116```bash
117content/
118├── index.md # Page d'accueil → /
119├── getting-started.md # Documentation → /getting-started
120└── guide/
121 └── introduction.md # Documentation → /guide/introduction
122```
123
124### **Avec dossier docs**
125
126Vous pouvez optionnellement organiser vos fichiers de documentation dans un sous-dossier `docs/`. Lorsque Docus détecte un dossier `docs/` dans votre répertoire `content/`, il préfixe automatiquement toutes les URLs de documentation avec `/docs`.
127
128```bash
129content/
130├── index.md # Page d'accueil → /
131└── docs/
132 ├── getting-started.md # Documentation → /docs/getting-started
133 └── guide/
134 └── introduction.md # Documentation → /docs/guide/introduction
135```
136
137::tip
138Ceci est particulièrement utile lorsque vous souhaitez utiliser Docus comme documentation intégrée aux côtés d'autres pages personnalisées. Vous pouvez créer des pages supplémentaires comme un blog, une page de contact, une page de tarification, ou tout autre contenu personnalisé au niveau racine, tout en gardant votre documentation organisée sous `/docs`.
139::
140
141**Exemple avec contenu mixte :**
142
143Puisque Docus est un layer Nuxt, vous pouvez combiner la documentation Markdown avec des pages Vue personnalisées :
144
145```bash
146├── app/
147│ └── pages/
148│ ├── blog.vue # Page blog personnalisée → /blog
149│ └── contact.vue # Page contact personnalisée → /contact
150└── content/
151 ├── index.md # Page d'accueil → /
152 └── docs/ # Documentation → /docs/*
153 ├── getting-started.md
154 └── api/
155 └── reference.md
156```
157
158Cette structure vous donne la flexibilité de construire un site web complet avec Docus. Utilisez Markdown pour la documentation et des pages Vue pour les fonctionnalités personnalisées comme les blogs, tableaux de bord, ou toute page interactive.
159
160### Frontmatter
161
162Chaque fichier du dossier `content/` commence par la syntaxe `---` en haut de la page. Cela correspond au frontmatter de votre fichier, une convention des CMS basés sur Markdown pour fournir des métadonnées aux pages.
163
164::tabs
165 :::tabs-item{icon="i-lucide-code" label="Code"}
166 ```md [content/getting-started/edition.md]
167 ---
168 title: 'Édition'
169 description: 'Apprenez à rédiger votre documentation.'
170 ---
171
172 <!-- Contenu de la page en pur Markdown -->
173 ```
174 :::
175
176 :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
177 ![Frontmatter titre et description](/documentation/frontmatter-preview-title-description.png)
178 :::
179::
180
181### Paramètres
182
183Les pages du répertoire `/content` sont définies comme type [page](https://content.nuxt.com/docs/collections/types#page-type) dans Nuxt Content. Elles suivent toutes la même structure avec les clés de frontmatter existantes :
184
185| | | | |
186| ------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | - |
187| Clé | Type | Description | |
188| `title` | `string` | Titre de la page. Affiché en haut de la page. Utilisé comme titre SEO si la clé `seo` n'est pas fournie. | |
189| `description` | `string` | Description de la page. Affichée sous le titre en haut de la page. Utilisée comme description SEO si la clé `seo` n'est pas fournie. | |
190| `navigation` | `boolean` | Définit si la page est incluse dans la navigation latérale gauche. | |
191| `seo` | `{ title: string, description: string }` | Métadonnées SEO de votre page. | |
docs/content/fr/2.concepts/3.configuration.md+364−0
@@ -0,0 +1,364 @@
1---
2title: Configuration
3description: "Personnalisez votre documentation Docus depuis le fichier de configuration Nuxt de l'application. "
4navigation:
5 icon: i-lucide-settings
6seo:
7 description: Personnalisez votre documentation Docus depuis le fichier de configuration Nuxt de l'application.
8 title: Configuration
9---
10
11Docus vous permet de configurer votre documentation via le fichier [app.config.ts](https://nuxt.com/docs/guide/directory-structure/app-config) fourni par Nuxt.
12
13::warning
14Un fichier `nuxt.config.ts` doit être existant pour surcharger votre app config. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
15::
16
17## SEO
18
19Le SEO technique est complexe et fastidieux. Docus propose une configuration par défaut solide et optionnelle qui fonctionne immédiatement, tout en vous laissant la possibilité de personnaliser entièrement vos métadonnées SEO, des titres de page aux images de partage social.
20
21### Métadonnées
22
23Docus offre une configuration flexible des métadonnées `SEO`, vous permettant de facilement surcharger les valeurs globalement ou page par page.
24
25#### Configuration globale
26
27Définissez les métadonnées `SEO` par défaut pour toute votre documentation dans `app.config.ts`. Ces valeurs seront utilisées comme valeurs de repli pour les pages qui ne spécifient pas leurs propres valeurs dans le frontmatter, comme décrit dans la section suivante.
28
29Vous pouvez aussi configurer la valeur `site.name` depuis votre fichier `nuxt.config.ts`, la valeur par défaut étant basée sur le nom de votre `package.json`.
30
31::code-group
32```ts [app.config.ts]
33export default defineAppConfig({
34 seo: {
35 // Par défaut : `%s - ${site.name}`
36 titleTemplate: ''
37 // Par défaut : nom du package.json
38 title: '',
39 // Par défaut : description du package.json
40 description: ''
41 },
42})
43```
44
45```ts [nuxt.config.ts]
46export default defineNuxtConfig({
47 site: {
48 name: 'Docus',
49 },
50})
51```
52::
53
54#### Configuration par page
55
56Chaque fichier Markdown du dossier `content/` commence par un bloc frontmatter (`---`). Vous pouvez définir les métadonnées `SEO` par page en utilisant la clé `seo` :
57
58```md [content/concepts/configuration.md]
59---
60seo:
61 title: 'Configuration'
62 description: 'Personnalisez votre documentation Docus depuis le fichier de configuration Nuxt de l'application.'
63---
64
65<!-- Contenu de la page -->
66```
67
68::tip{to="/fr/concepts/edition#frontmatter"}
69Pour plus de détails sur le frontmatter, consultez le guide d'édition.
70::
71
72### **Image de partage social (OG)**
73
74Lorsque vous partagez un lien de votre documentation sur les réseaux sociaux ou certaines plateformes de chat, le lien est **déployé** (unfurled), c'est-à-dire qu'il affiche un aperçu avec un titre, une description et une image. Tout cela est géré par le **protocole Open Graph**.
75
76#### Pages de documentation
77
78Nous utilisons [Nuxt OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction) pour générer automatiquement une image OG pour chaque page de documentation à partir du titre et de la description fournis. Par exemple, l'image OG pour la page actuelle est :
79
80![og image documentation page](https://docus.dev/_og/s/c_Docs,headline_Core+Concepts,title_Configuration,description_Customize+your+Docus+documentation+from+Nuxt+application+configuration+file.,p_Ii9lbi9jb25jZXB0cy9jb25maWd1cmF0aW9uIg.png)
81
82#### Page d'accueil
83
84Comme pour les pages de documentation, la page d'accueil utilise le même générateur d'image OG basé sur le titre et la description fournis.
85
86![og image landing page](https://docus.dev/_og/s/c_Landing,title_Write+beautiful+docs+with+Markdown,description_Ship+fast+flexible+and+SEO-optimized+documentation+with+beautiful+design+out+of+the+box.+Docus+brings+together+the+best+of+the+Nuxt+ecosystem.+Powered+by+Nuxt+UI.,p_Ii9lbiI.png)
87
88Cependant, si vous souhaitez personnaliser l'image OG de votre page d'accueil, vous pouvez le faire en ajoutant un chemin **absolu** vers une image dans la clé `seo.ogImage` de votre frontmatter.
89
90```md [content/index.md]
91---
92seo:
93 ogImage: '/social-card.png'
94---
95```
96
97Nous recommandons d'utiliser une image **1280×640** pour un affichage optimal sur les plateformes sociales.
98
99::tip
100Les images OG doivent être servies avec des URLs absolues. Par défaut, l'URL du site est déduite de votre plateforme de déploiement, mais vous pouvez la surcharger en définissant la variable d'environnement `NUXT_SITE_URL`.
101::
102
103::tip
104Puisque Docus est un [layer Nuxt](https://nuxt.com/docs/guide/going-further/layers), vous pouvez surcharger les templates OG des pages de documentation ou de la page d'accueil en créant un fichier du même nom dans votre propre répertoire `components/OgImage/`.
105
106```
107components/
108 OgImage/
109 Docs.takumi.vue # surcharge l'image OG des pages de documentation
110 Landing.takumi.vue # surcharge l'image OG de la page d'accueil
111```
112
113Votre composant reçoit `title`, `description` et `headline` (pages de documentation uniquement) en tant que props et peut utiliser n'importe quel style Tailwind CSS ou inline supporté par le [renderer Takumi](https://nuxtseo.com/docs/og-image/guides/renderers).
114::
115
116### Sitemap
117
118Docus génère automatiquement un sitemap à `/sitemap.xml` contenant toutes les pages de votre documentation. Cela aide les moteurs de recherche à découvrir et indexer votre contenu.
119
120#### Exclure des pages
121
122Pour exclure une page spécifique du sitemap, ajoutez `sitemap: false` à son frontmatter :
123
124```md [content/draft-page.md]
125---
126sitemap: false
127---
128
129Cette page n'apparaîtra pas dans le sitemap.
130```
131
132#### URL du site
133
134Pour des URLs de sitemap correctes, définissez la variable d'environnement `NUXT_SITE_URL` :
135
136```bash
137NUXT_SITE_URL=https://votre-site.com
138```
139
140## En-tête
141
142Configurez le `title` ou le `logo` de votre site de documentation :
143
144```ts [app.config.ts]
145export default defineAppConfig({
146 header: {
147 title: '',
148 logo: {
149 light: '',
150 dark: '',
151 alt: '',
152 },
153 },
154})
155```
156
157### Brand Assets
158
159Vous pouvez configurer des assets de marque additionnels pour votre logo. Un clic droit sur le logo dans l'en-tête ouvre un menu contextuel avec des actions de copie et de téléchargement.
160
161```ts [app.config.ts]
162export default defineAppConfig({
163 header: {
164 title: 'Mon Projet',
165 logo: {
166 light: '/logo/logo-dark.svg',
167 dark: '/logo/logo-light.svg',
168 alt: 'Logo Mon Projet',
169 wordmark: {
170 light: '/logo/wordmark-dark.svg',
171 dark: '/logo/wordmark-light.svg',
172 },
173 favicon: '/favicon.svg',
174 brandAssetsUrl: 'https://example.com/brand',
175 },
176 },
177})
178```
179
180| Champ | Description |
181| --- | --- |
182| `logo.wordmark.light` / `dark` | Wordmark complet (icône + texte) pour chaque mode couleur. |
183| `logo.display` | Variante à afficher dans l'en-tête : `'logo'` (défaut) ou `'wordmark'`. |
184| `logo.class` | Classes CSS additionnelles sur l'image du logo (ex. `'h-8'`). |
185| `logo.favicon` | Chemin vers le fichier favicon. Par défaut `/favicon.ico`. |
186| `logo.brandAssetsUrl` | Lien vers votre page de brand assets, affiché dans le menu. |
187
188Quand le logo est un SVG, le menu contextuel propose des actions **Copier le logo** et **Copier le wordmark** qui copient le SVG brut avec des fills `currentColor`, prêt à coller dans Figma ou tout outil de design. Pour les formats non-SVG (PNG, etc.), seules les actions de téléchargement sont disponibles.
189
190## Mode couleur
191
192Par défaut, Docus inclut un bouton de changement de mode couleur dans l'en-tête et le pied de page, permettant de basculer entre les modes clair et sombre.
193
194Si votre documentation n'utilise qu'un seul thème, vous pouvez le forcer en définissant l'option `colorMode` :
195
196```ts [app.config.ts]
197export default defineAppConfig({
198 docus: {
199 colorMode: 'dark'
200 }
201})
202```
203
204| Valeur | Comportement |
205| --- | --- |
206| `''` (défaut) | Préférence système avec bouton de bascule |
207| `'light'` | Force le mode clair, masque le bouton |
208| `'dark'` | Force le mode sombre, masque le bouton |
209
210### Raccourci clavier
211
212Appuyez sur :kbd{value="D"} pour basculer entre les modes clair et sombre lorsque le bouton de mode couleur est visible.
213
214Vous pouvez personnaliser ou désactiver ce raccourci dans `app.config.ts` :
215
216```ts [app.config.ts]
217export default defineAppConfig({
218 docus: {
219 shortcuts: {
220 toggleColorMode: 'd', // Par défaut
221 },
222 },
223})
224```
225
226Définissez `toggleColorMode` sur une chaîne vide pour désactiver le raccourci. Consultez la page [Assistant](/fr/ai/assistant#raccourcis-clavier) pour le format des raccourcis (`meta_d`, `ctrl_shift_p`, etc.).
227
228Lorsqu'un mode couleur est forcé, le bouton de bascule est masqué de l'en-tête et du pied de page, et les commandes de mode couleur sont retirées de la palette de commandes.
229
230## Navigation
231
232### Sous-navigation
233
234Pour les sites de documentation avec de nombreuses sections, vous pouvez activer une sous-navigation qui divise vos dossiers de premier niveau en sections et filtre la barre latérale gauche pour n'afficher que les pages de la section active.
235
236Deux modes d'affichage sont disponibles :
237
238- **`header`** — affiche une barre d'onglets secondaire sous l'en-tête (desktop uniquement, avec un tiroir sur mobile)
239- **`aside`** — affiche des ancres de section en haut de la barre latérale gauche (avec un tiroir sur mobile)
240
241```ts [app.config.ts]
242export default defineAppConfig({
243 navigation: {
244 sub: 'header', // or 'aside'
245 },
246})
247```
248
249:video{src="https://res.cloudinary.com/nuxt/video/upload/v1773263594/docus/subnav_idh2ae.mp4"}
250
251::note
252Les onglets sont automatiquement générés à partir de vos dossiers de premier niveau dans `content/`. Le titre et l'icône de chaque dossier sont lus depuis son fichier `.navigation.yml`
253::
254
255## Recherche
256
257Docus inclut une recherche plein texte intégrée alimentée par [Nuxt UI ContentSearch](https://ui.nuxt.com/docs/components/content-search). Par défaut, elle utilise le filtrage côté client avec [Fuse.js](https://www.fusejs.io/) qui charge toutes les sections de recherche au démarrage.
258
259### Recherche plein texte FTS5
260
261Vous pouvez passer à [SQLite FTS5](https://content.nuxt.com/docs/utils/use-search-collection) pour une recherche indexée plus rapide avec mise en évidence des extraits intégrée. Cela construit un index FTS5 dans le navigateur via SQLite WASM et n'exécute la recherche que lorsqu'une requête est saisie, au lieu de charger toutes les sections au démarrage.
262
263```ts [app.config.ts]
264export default defineAppConfig({
265 search: {
266 fts: true
267 }
268})
269```
270
271| Mode | Index | Vitesse | Tolérance aux fautes | Chargement initial |
272| --- | --- | --- | --- | --- |
273| Fuse.js (défaut) | Scan JS en mémoire | O(n) par requête | Fuzzy complet | Toutes les sections |
274| FTS5 | Index inversé SQLite | O(log n) | Préfixe uniquement | Aucun |
275
276## Liens sociaux
277
278Ajoutez vos liens de réseaux sociaux dans le pied de page en utilisant un `Record<string, string>` où la clé correspond à une icône de la bibliothèque [Simple Icons](https://simpleicons.org/).
279
280```ts [app.config.ts]
281export default defineAppConfig({
282 socials: {
283 x: 'https://x.com/nuxt_js',
284 discord: 'https://discord.com/invite/ps2h6QT',
285 nuxt: 'https://nuxt.com',
286 }
287})
288```
289
290## Table des matières
291
292Vous pouvez personnaliser la table des matières dans la barre latérale droite de chaque page.
293
294```ts [app.config.ts]
295export default defineAppConfig({
296 toc: {
297 // Renommer le titre de la table des matières
298 title: 'Sur cette page',
299 // Ajouter une section en bas de la table des matières
300 bottom: {
301 title: 'Communauté',
302 links: [{
303 icon: 'i-lucide-book-open',
304 label: 'Docs Nuxt UI',
305 to: 'https://ui.nuxt.com/getting-started/installation/nuxt',
306 target: '_blank'
307 }]
308 }
309 }
310})
311```
312
313## Locale
314
315Pour une documentation monolingue (sans le module complet `@nuxtjs/i18n`), vous pouvez configurer la locale via `app.config.ts` :
316
317```ts [app.config.ts]
318export default defineAppConfig({
319 docus: {
320 locale: 'fr', // Par défaut : 'en'
321 }
322})
323```
324
325Ceci définit la langue pour :
326
327- Les traductions des composants UI
328- Les attributs `lang` et `dir` sur la balise `<html>`
329- Les chaînes d'interface intégrées de Docus
330
331::tip{to="/fr/concepts/internationalization"}
332Pour une documentation multilingue avec changement de langue, consultez le [guide d'internationalisation](/fr/concepts/internationalization).
333::
334
335## Intégration GitHub
336
337Docus lit votre dossier `.git/` pour obtenir l'`url` et la `branch` de votre dépôt afin d'ajouter :
338
339- Icône GitHub dans l'en-tête et le pied de page
340- Liens « Modifier cette page » et « Signaler un problème » dans le pied de page de chaque page.
341
342Vous pouvez personnaliser l'`url`, la `branch` et le `rootDir` de votre application docs en ajoutant la configuration suivante à votre fichier `app.config.ts` :
343
344```ts [app.config.ts]
345export default defineAppConfig({
346 github: {
347 url: 'https://github.com/nuxt-content/docus',
348 branch: 'main',
349 rootDir: 'docs'
350 }
351})
352```
353
354Si vous ne souhaitez pas utiliser GitHub, vous pouvez définir la clé `github` à `false` pour désactiver l'intégration GitHub.
355
356```ts [app.config.ts]
357export default defineAppConfig({
358 github: false
359})
360```
361
362::tip{to="/fr/getting-started/studio"}
363Ces configurations peuvent aussi être gérées dans l'éditeur Studio, essayez-le !
364::
docs/content/fr/2.concepts/4.theme.md+136−0
@@ -0,0 +1,136 @@
1---
2title: Thème
3description: Personnalisez l'apparence de votre documentation Docus grâce au système de thème flexible de Nuxt UI.
4navigation:
5 icon: i-lucide-paint-roller
6---
7
8Docus est construit sur Nuxt UI et tire pleinement parti de Tailwind CSS v4 et des variables CSS. L'API Tailwind Variants offre un système de thème flexible et évolutif.
9
10::tip{to="https://ui.nuxt.com/getting-started/theme"}
11Pour un aperçu complet du système de thème Nuxt UI, consultez la documentation Nuxt UI.
12::
13
14## Surcharger avec `@theme`
15
16Vous pouvez personnaliser votre thème avec des variables CSS à l'intérieur d'une directive `@theme` pour définir les tokens de design personnalisés de votre projet, comme les polices, couleurs et breakpoints.
17
18Pour surcharger le thème, créez un fichier `app/app.css` dans votre projet :
19
20```css [app/app.css]
21@theme {
22 --font-sans: 'Public Sans', sans-serif;
23
24 --breakpoint-3xl: 1920px;
25
26 --color-green-50: #EFFDF5;
27 --color-green-100: #D9FBE8;
28 --color-green-200: #B3F5D1;
29 --color-green-300: #75EDAE;
30 --color-green-400: #00DC82;
31 --color-green-500: #00C16A;
32 --color-green-600: #00A155;
33 --color-green-700: #007F45;
34 --color-green-800: #016538;
35 --color-green-900: #0A5331;
36 --color-green-950: #052E16;
37}
38```
39
40::warning
41Docus importe automatiquement `app/app.css` — vous n'avez pas besoin de l'ajouter au tableau `css` dans `nuxt.config.ts`, et vous ne devez **pas** inclure `@import "tailwindcss"` dans ce fichier car Docus s'en charge pour vous.
42::
43
44## Couleurs
45
46Docus utilise des alias de couleurs préconfigurés qui servent à styliser les composants et à alimenter les props `color` dans toute l'UI.
47
48Chaque badge ci-dessous représente un alias par défaut :
49
50- :u-badge{label="primary" variant="outline"} → Couleur principale de la marque, utilisée par défaut pour les composants :br [(défaut : vert)]{.text-xs,text-muted}
51- :u-badge{color="secondary" label="secondary" variant="outline"} → Couleur secondaire pour compléter la couleur principale :br [(défaut : bleu)]{.text-xs,text-muted}
52- :u-badge{color="success" label="success" variant="outline"} → Utilisée pour les états de succès :br [(défaut : vert)]{.text-xs,text-muted}
53- :u-badge{color="info" label="info" variant="outline"} → Utilisée pour les états d'information :br [(défaut : bleu)]{.text-xs,text-muted}
54- :u-badge{color="warning" label="warning" variant="outline"} → Utilisée pour les avertissements :br [(défaut : jaune)]{.text-xs,text-muted}
55- :u-badge{color="error" label="error" variant="outline"} → Utilisée pour les erreurs de validation de formulaire :br [(défaut : rouge)]{.text-xs,text-muted}
56- :u-badge{color="neutral" label="neutral" variant="outline"} → Couleur neutre pour les fonds, textes, etc. :br [(défaut : ardoise)]{.text-xs,text-muted}
57
58Vous pouvez personnaliser ces couleurs globalement en mettant à jour le fichier `app.config.ts` sous la clé `ui.colors` :
59
60```ts [app.config.ts]
61export default defineAppConfig({
62 ui: {
63 colors: {
64 primary: 'blue',
65 neutral: 'zinc'
66 }
67 }
68})
69```
70
71## Composants
72
73Au-delà des couleurs, tous les [composants Nuxt UI](https://ui.nuxt.com/components) peuvent être thématisés globalement via `app.config.ts`.
74
75Vous pouvez surcharger l'apparence de n'importe quel composant en utilisant la même structure que l'objet de thème interne du composant (affiché [en bas de chaque page de composant](https://ui.nuxt.com/components/card#theme)).
76
77Par exemple, pour changer l'épaisseur de police de tous les boutons :
78
79```ts [app.config.ts]
80export default defineAppConfig({
81 ui: {
82 button: {
83 slots: {
84 base: 'font-bold'
85 }
86 }
87 }
88})
89```
90
91Dans cet exemple, la classe `font-bold` remplacera la classe par défaut `font-medium` sur tous les boutons.
92
93::note{to="https://ui.nuxt.com/components/button#theme"}
94Pour explorer les options de thème disponibles pour chaque composant, consultez la section **Thème** dans la page de documentation Nuxt UI correspondante.
95::
96
97## Sous-composants Docus
98
99Docus utilise plusieurs composants Nuxt UI en interne pour la navigation, la table des matières et la sous-navigation. Vous pouvez personnaliser leurs variantes par défaut via `app.config.ts` en utilisant la clé `defaultVariants`, sans avoir à surcharger le composant entier.
100
101Les composants suivants sont configurables :
102
103| Composant | Clé | Défauts |
104|---|---|---|
105| [ContentToc](https://ui.nuxt.com/components/content-toc) | `ui.contentToc` | `highlight: true` |
106| [ContentNavigation](https://ui.nuxt.com/components/content-navigation) | `ui.contentNavigation` | `variant: 'link'`, `highlight: true` |
107| [NavigationMenu](https://ui.nuxt.com/components/navigation-menu) | `ui.navigationMenu` | `variant: 'pill'`, `highlight: true` |
108
109Par exemple, pour changer le style de surlignage de la table des matières en `circuit` et basculer la variante de la navigation latérale en `pill` :
110
111```ts [app.config.ts]
112export default defineAppConfig({
113 ui: {
114 contentToc: {
115 defaultVariants: {
116 highlightVariant: 'circuit',
117 highlightColor: 'secondary'
118 }
119 },
120 contentNavigation: {
121 defaultVariants: {
122 variant: 'pill',
123 highlight: false
124 }
125 }
126 }
127})
128```
129
130Chaque composant supporte les options de variantes suivantes :
131
132- **`highlight`** — Afficher une ligne d'indicateur actif (`true` ou `false`)
133- **`highlightColor`** — Couleur de l'indicateur (`primary`, `secondary`, `neutral`, etc.)
134- **`variant`** — Style visuel (`pill` ou `link`, selon le composant)
135- **`highlightVariant`** — Style de l'indicateur (`straight` ou `circuit`, ContentToc uniquement)
136- **`color`** — Couleur de base du lien actif
docs/content/fr/2.concepts/5.customization.md+246−0
@@ -0,0 +1,246 @@
1---
2title: Personnalisation
3description: Découvrez comment surcharger les composants intégrés dans Docus pour personnaliser votre documentation.
4navigation:
5 icon: i-lucide-pen-tool
6---
7
8Docus est construit sur Nuxt 4 qui offre un système de couches de composants flexible permettant de surcharger certaines parties de l'UI en redéfinissant des composants spécifiques dans votre propre application. Cela facilite la personnalisation complète de l'apparence visuelle et du comportement de votre documentation sans toucher au thème principal.
9
10Pour surcharger un composant, créez simplement un fichier Vue du même nom dans le dossier `components/`. Docus utilisera automatiquement votre version à la place de celle par défaut.
11
12## En-tête de l'application
13
14Vous pouvez personnaliser différentes parties du header en surchargant les composants suivants :
15
16### `AppHeaderLogo`
17
18Pour des ajustements simples comme changer la taille du logo, vous pouvez utiliser l'option `logo.class` dans `app.config.ts` sans surcharger le composant (ex. `class: 'h-8'`).
19
20Pour remplacer entièrement le logo par défaut dans l'en-tête, créez le fichier `components/AppHeaderLogo.vue`. Votre composant remplacera celui fourni par le thème Docus. Vous pouvez utiliser le composable `useLogoAssets()` pour conserver le menu contextuel de clic droit avec les actions de copie et téléchargement.
21
22![Visualisation du logo d'en-tête](/documentation/app-header-logo.webp)
23
24::u-button
25---
26color: neutral
27icon: i-lucide-code-xml
28to: https://github.com/nuxt-content/docus/blob/app/components/app/AppHeaderLogo.vue
29variant: link
30---
31Code du composant par défaut
32::
33
34### `AppHeaderLeft`
35
36Le logo est placé dans un lien d'accueil par défaut. Pour modifier ce lien (URL, attributs) ou la mise en page autour de `AppHeaderLogo`, surchargez plutôt `components/AppHeaderLeft.vue`.
37
38::u-button
39---
40color: neutral
41icon: i-lucide-code-xml
42to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderLeft.vue
43variant: link
44---
45Code du composant par défaut
46::
47
48### `AppHeaderCTA`
49
50Pour personnaliser la zone d'appel à l'action dans l'en-tête (par exemple, ajouter un bouton « Commencer » ou un lien externe), surchargez le composant `components/AppHeaderCTA.vue`.
51
52![Visualisation du CTA d'en-tête](/documentation/app-header-cta.webp)
53
54::note
55---
56to: https://github.com/nuxt-content/docus/blob/docs/components/AppHeaderCTA.vue
57---
58Par défaut, ce composant est vide mais vous pouvez voir comment nous le surchargeons sur la documentation Docus elle-même.
59::
60
61### `AppHeaderCenter`
62
63Pour personnaliser la zone centrale du header, surchargez le composant `components/AppHeaderCenter.vue`. Votre composant remplacera la barre de recherche fournie par le thème Docus.
64
65![Visualisation du centre d'en-tête](/documentation/app-header-center.webp)
66
67::u-button
68---
69color: neutral
70icon: i-lucide-code-xml
71to: https://github.com/nuxt-content/docus/blob/app/components/app/AppHeaderCenter.vue
72variant: link
73---
74Code du composant par défaut
75::
76
77### `AppHeaderBody`
78
79Par défaut, lorsque vous ouvrez le menu en vue mobile, Docus affiche l'arborescence de votre dossier `content/` comme menu avec le composant [ContentNavigation](https://ui.nuxt.com/components/content-navigation). Vous pouvez surcharger ce menu avec le composant `components/AppHeaderBody.vue` et remplir le corps du menu (sous l'en-tête) en mobile.
80
81![Visualisation du menu mobile](/documentation/app-header-body.webp)
82
83::u-button
84---
85color: neutral
86icon: i-lucide-code-xml
87to: https://github.com/nuxt-content/docus/blob/app/components/app/AppHeaderBody.vue
88variant: link
89---
90Code du composant par défaut
91::
92
93### `AppHeaderBottomRight`
94
95Lorsque [`navigation.sub`](/fr/concepts/configuration#sous-navigation) est défini sur `'header'`, Docus affiche une barre d'onglets secondaire sous l'en-tête. Pour ajouter du contenu personnalisé à droite de cette barre (ex. un toggle, un badge), créez un composant `components/AppHeaderBottomRight.vue`.
96
97::note
98---
99to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppHeaderBottom.vue
100---
101Pour remplacer entièrement la barre de sous-navigation, surchargez le composant `AppHeaderBottom.vue` à la place.
102::
103
104::tip{to="/fr/concepts/nuxt"}
105Si vous souhaitez personnaliser tout le header, vous devriez peut-être envisager d'utiliser un layout personnalisé.
106::
107
108## Footer
109
110Vous pouvez personnaliser différentes parties du footer en surchargant les composants suivants :
111
112### `AppFooterLeft`
113
114Pour remplacer le côté gauche du footer, créez le fichier `components/AppFooterLeft.vue`. Votre composant remplacera celui par défaut fourni par le thème Docus.
115
116![Visualisation du footer gauche](/documentation/app-footer-left.webp)
117
118::u-button
119---
120color: neutral
121icon: i-lucide-code-xml
122to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterLeft.vue
123variant: link
124---
125Code du composant par défaut
126::
127
128### `AppFooterRight`
129
130Pour personnaliser le côté droit du footer, surchargez le composant `components/AppFooterRight.vue`.
131
132![Visualisation du footer droit](/documentation/app-footer-right.webp)
133
134::u-button
135---
136color: neutral
137icon: i-lucide-code-xml
138to: https://github.com/nuxt-content/docus/blob/main/layer/app/components/app/AppFooterRight.vue
139variant: link
140---
141Code du composant par défaut
142::
143
144::tip{to="/fr/concepts/nuxt"}
145Si vous souhaitez personnaliser tout le footer, vous devriez peut-être envisager d'utiliser un layout personnalisé.
146::
147
148## Docs
149
150Vous pouvez aussi personnaliser l'en-tête et les deux asides des pages de documentation.
151
152### `DocsPageHeaderLinks`
153
154Dans la partie droite du header de votre page de documentation, le comportement par défaut de Docus est d'afficher un menu déroulant avec des actions rapides liées à la source Markdown de la page courante. Cela permet au lecteur de :
155
156- **Copier un lien direct** vers le fichier `.md` brut dans le presse-papiers.
157- **Voir la source Markdown** dans un nouvel onglet du navigateur.
158- **Ouvrir le contenu de la page dans ChatGPT ou Claude**, pré-rempli avec une invite pour analyser le fichier Markdown.
159
160Ces actions sont particulièrement utiles pour les contributeurs, lecteurs ou workflows assistés par IA, mais vous pouvez créer votre propre composant `components/DocsPageHeaderLinks.vue` pour le surcharger.
161
162![App Page Header Links](/documentation/app-page-header-links.webp)
163
164::u-button
165---
166color: neutral
167icon: i-lucide-code-xml
168to: https://github.com/nuxt-content/docus/blob/app/components/docs/DocsHeaderRight.vue
169variant: link
170---
171Code du composant par défaut
172::
173
174### `DocsAsideRightBottom`
175
176Pour personnaliser la partie basse de l'aside droit des pages de documentation, créez le composant `components/DocsAsideRightBottom.vue`. Votre composant remplacera la table des matières basse fournie par le thème Docus.
177
178![Docs aside droit bas](/documentation/docs-aside-right-bottom.webp)
179
180::u-button
181---
182color: neutral
183icon: i-lucide-code-xml
184to: https://github.com/nuxt-content/docus/blob/app/components/docs/DocsAsideRightBottom.vue
185variant: link
186---
187Code du composant par défaut
188::
189
190### `DocsAsideLeftTop`
191
192Pour personnaliser la partie haute de l'aside gauche des pages de documentation, créez le composant `components/DocsAsideLeftTop.vue`.
193
194![Docs Aside Left Top](/documentation/docs-aside-left-top.webp)
195
196::note
197---
198to: https://github.com/nuxt/image/blob/docs/docus/docus/app/components/DocsAsideLeftTop.vue
199---
200Par défaut, ce composant est vide mais vous pouvez voir comment nous le surchargeons sur la documentation Nuxt Image.
201::
202
203## Icônes personnalisées
204
205Docus utilise [Nuxt Icon](https://github.com/nuxt/icon) avec le fournisseur [Iconify](https://iconify.design/), vous donnant accès à des milliers d'icônes prêtes à l'emploi (ex. `i-lucide-arrow-right`, `i-simple-icons-github`).
206
207Pour ajouter vos propres icônes, placez des fichiers SVG dans le dossier `assets/icons/` de votre application. Ils sont automatiquement enregistrés sous le préfixe `custom` et disponibles partout dans votre projet.
208
209```
210assets/
211 icons/
212 my-logo.svg
213```
214
215Vous pouvez ensuite les utiliser avec le préfixe `i-custom:` :
216
217```md [content/getting-started.md]
218---
219navigation:
220 icon: i-custom:my-logo
221---
222```
223
224```ts [app.config.ts]
225export default defineAppConfig({
226 toc: {
227 bottom: {
228 links: [{
229 icon: 'i-custom:my-logo',
230 label: 'Aperçu',
231 to: '/preview'
232 }]
233 }
234 }
235})
236```
237
238```vue [components/MyComponent.vue]
239<template>
240 <UIcon name="i-custom:my-logo" />
241</template>
242```
243
244::tip{to="https://iconify.design/docs/icons/icon-set-basics.html"}
245Les fichiers SVG doivent utiliser `currentColor` pour les remplissages et contours afin que l'icône s'adapte à la couleur du texte.
246::
docs/content/fr/2.concepts/6.internationalization.md+96−0
@@ -0,0 +1,96 @@
1---
2title: Internationalisation
3description: Créez une documentation multilingue avec le support i18n intégré de Docus.
4navigation:
5 icon: i-lucide-globe
6seo:
7 description: Apprenez à configurer et gérer une documentation multilingue avec le support i18n intégré de Docus.
8 title: Internationalisation
9---
10
11Docus introduit un **support d'internationalisation natif** basé sur le module `@nuxtjs/i18n`, vous permettant de créer une documentation en plusieurs langues avec un routage automatique et une gestion de contenu.
12
13## Fonctionnalités
14
15- **Module i18n intégré** : Intégration native avec `@nuxtjs/i18n`
16- **Routage de locale dynamique** : Préfixage automatique des URL avec les codes de langue (`/en/docs`, `/fr/docs`)
17- **Collections de contenu par locale** : Gestion séparée du contenu pour chaque langue
18- **Sélecteur de langue** : Composant intégré pour basculer entre les locales
19- **Configuration monolingue** : Configuration simple de la locale pour les sites monolingues via `app.config.ts`
20
21## Configuration monolingue
22
23Si vous créez une documentation dans une seule langue (sans le module complet `@nuxtjs/i18n`), vous pouvez configurer la locale via `app.config.ts`. Ceci est utile pour définir la langue des composants UI et localiser les chaînes intégrées.
24
25```ts [app.config.ts]
26export default defineAppConfig({
27 docus: {
28 locale: 'fr', // Définissez votre locale (par défaut : 'en')
29 }
30})
31```
32
33Cette configuration affecte :
34
35- Les traductions des composants UI (boutons, étiquettes, etc.)
36- Les attributs `lang` et `dir` sur la balise `<html>`
37- Les chaînes d'interface intégrées de Docus
38
39## Configuration multilingue
40
41Pour une documentation multilingue, utilisez l'intégration complète `@nuxtjs/i18n` comme décrit ci-dessous.
42
43### Configurer un projet existant
44
45Pour activer l'i18n dans votre projet Docus, ajoutez le module `@nuxtjs/i18n` à votre `nuxt.config.ts` et définissez vos locales :
46
47```typescript [nuxt.config.ts]
48export default defineNuxtConfig({
49 modules: ['@nuxtjs/i18n'],
50 i18n: {
51 defaultLocale: 'en',
52 locales: [
53 { code: 'en', name: 'English' },
54 { code: 'fr', name: 'Français' },
55 ],
56 }
57})
58```
59
60::warning
61Docus surcharge la stratégie `@nuxtjs/i18n` en `prefix`.
62::
63
64## Créer un nouveau projet avec le modèle i18n
65
66Lors de la création d'un nouveau projet, vous pouvez choisir le modèle i18n pour une internationalisation préconfigurée :
67
68```bash [Terminal]
69npx create-docus my-docs -t i18n
70```
71
72## Structure des répertoires
73
74Lorsque l'i18n est activé, organisez votre contenu par locale dans le répertoire `content/` :
75
76```text
77content/
78├── en/ # Contenu anglais
79│ ├── index.md # Page d'accueil anglaise
80│ ├── getting-started/
81│ │ ├── installation.md
82│ │ └── configuration.md
83│ └── guide/
84│ └── advanced.md
85├── fr/ # Contenu français
86│ ├── index.md # Page d'accueil française
87│ ├── getting-started/
88│ │ ├── installation.md
89│ │ └── configuration.md
90│ └── guide/
91│ └── advanced.md
92```
93
94::warning
95Chaque locale doit refléter la même structure de répertoires pour maintenir une navigation cohérente entre les langues.
96::
docs/content/fr/2.concepts/8.nuxt.md+135−0
@@ -0,0 +1,135 @@
1---
2title: Nuxt
3description: Créez des éléments interactifs et réutilisables avec les composants Nuxt
4navigation:
5 icon: i-simple-icons-nuxt
6---
7
8## Application Nuxt
9
10Docus est construit sur **Nuxt 4**, ce qui signifie que votre projet de documentation est une application Nuxt complète. Lorsque vous générez un projet avec le **CLI Docus**, il ajoute une couche par défaut vous offrant toute la flexibilité d'une application Nuxt standard.
11
12Par défaut, le starter Docus ne contient qu'un dossier `content/`, un dossier `public/` et un `package.json`. C'est tout ce dont vous avez besoin pour commencer à rédiger votre documentation. Vous pouvez aller plus loin et utiliser n'importe quelle fonctionnalité d'un projet Nuxt, du [nuxt.config.ts](https://nuxt.com/docs/guide/directory-structure/nuxt-config) aux [components](https://nuxt.com/docs/guide/directory-structure/nuxt-config) ou [plugins](https://nuxt.com/docs/guide/directory-structure/plugins).
13
14::note
15Vous pouvez utiliser la [nouvelle structure de répertoires de Nuxt 4](https://nuxt.com/docs/getting-started/upgrade#new-directory-structure) fournie par la [version de compatibilité 4 .]() Tous les fichiers liés au code front vont dans le dossier `app/` pour une organisation plus claire et de meilleures performances IDE.
16::
17
18## Modules Nuxt
19
20Vous souhaitez enrichir votre documentation avec des fonctionnalités personnalisées ? Vous pouvez installer et configurer des [modules Nuxt](https://nuxt.com/modules) comme dans toute application Nuxt.
21
22Pour ajouter [Vercel Web Analytics](https://vercel.com/docs/analytics) à votre documentation :
23
24::steps
25### Installez `@vercel/analytics`
26
27```bash [Terminal]
28npm install @vercel/analytics
29```
30
31### Activez Web Analytics dans `nuxt.config.ts`
32
33Pour Nuxt, vous pouvez activer Vercel Analytics sans configuration supplémentaire en utilisant la déclaration de module inline :
34
35```ts [nuxt.config.ts]
36export default defineNuxtConfig({
37 modules: ['@vercel/analytics/nuxt/module'],
38})
39```
40::
41
42## Composants personnalisés
43
44Grâce à la puissance de `Nuxt Content` et `Nuxt UI`, et avec l'aide de la syntaxe `MDC`, vous pouvez utiliser les [composants Nuxt UI](/fr/essentials/components) directement dans votre Markdown sans configuration supplémentaire.
45
46Cependant, vous n'êtes pas limité aux composants préconçus. Docus facilite la création de vos propres composants Vue dans votre application Nuxt et leur utilisation dans votre contenu.
47
48Voici un exemple simple d'un composant personnalisé `BrowserFrame` créé dans le dossier `components` de votre application Nuxt et intégré dans du Markdown :
49
50::tabs
51 :::tabs-item{.my-5 icon="i-lucide-code" label="Code"}
52 ```vue [components/content/BrowserFrame.vue]
53 <script setup lang="ts">
54 defineProps<{
55 title?: string
56 }>()
57 </script>
58
59 <template>
60 <div class="w-fit rounded-xl border border-muted bg-accented shadow-md overflow-hidden px-2 pb-2">
61 <div class="flex justify-between items-center px-2 py-2 bg-accented border-accented border-b">
62 <div class="flex items-center gap-2">
63 <span class="w-3 h-3 bg-red-500 rounded-full" />
64 <span class="w-3 h-3 bg-yellow-500 rounded-full" />
65 <span class="w-3 h-3 bg-green-500 rounded-full" />
66 </div>
67 <div class="text-muted">
68 {{ title }}
69 </div>
70 </div>
71 <slot mdc-unwrap="p" />
72 </div>
73 </template>
74 ```
75 :::
76
77 :::tabs-item{icon="i-simple-icons-markdown" label="Markdown"}
78 ```mdc
79 ::browser-frame{title="Les Alpes"}
80 ![paysage de montagnes](/mountains.webp)
81 ::
82 ```
83 :::
84
85 :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
86 ::::browser-frame{title="Les Alpes"}
87 ![paysage de montagnes](/documentation/mountains.webp)
88 ::::
89 :::
90::
91
92Cette approche vous permet de créer une documentation dynamique propulsée par les composants Nuxt en Markdown.
93
94## Vue Pages
95
96En plus des pages Markdown, vous pouvez également créer des pages Vue dans le répertoire `pages/`.
97
98```vue [pages/hello.vue]
99<template>
100 <div>
101 <h1>Bonjour</h1>
102 </div>
103</template>
104```
105
106Vous pouvez également utiliser la fonction `definePageMeta` pour définir les métadonnées de la page, comme l'utilisation du layout `default` ou `docs`, mais aussi pour définir si la page doit afficher l'en-tête et le pied de page :
107
108```vue [pages/hello.vue]
109<script setup lang="ts">
110definePageMeta({
111 layout: 'default',
112 // Supprimer l'en-tête
113 header: false,
114 // Supprimer le pied de page
115 footer: false,
116})
117</script>
118```
119
120## Layouts personnalisées
121
122Docus utilise deux layouts :
123
124- Le layout `default` pour la page d'accueil et les pages Vue personnalisées
125- Le layout `docs` pour les pages de documentation
126
127Si vous souhaitez utiliser une mise en page différente, vous pouvez en créer une dans le répertoire `app/layouts/`.
128
129```vue [app/layouts/custom.vue]
130<template>
131 <main class="custom-layout">
132 <slot />
133 </main>
134</template>
135```
docs/content/fr/3.essentials/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: Essentiels
2icon: i-lucide-book-open
docs/content/fr/3.essentials/1.markdown-syntax.md+224−0
@@ -0,0 +1,224 @@
1---
2title: Syntaxe Markdown
3description: Texte, titres et mise en forme en markdown standard.
4navigation:
5 icon: i-lucide-heading-1
6links: []
7---
8
9## Titres
10
11Utilisez des titres pour introduire les sections principales. Ils structurent votre documentation et aident les utilisateurs à naviguer dans le contenu.
12
13::code-preview
14---
15class: "[&>div]:*:my-0"
16---
17## Titres
18
19#code
20```mdc
21## Titres
22```
23::
24
25### Sous-titres
26
27Utilisez des sous-titres pour diviser davantage les sections. Ils créent une hiérarchie de contenu plus détaillée pour une meilleure lisibilité.
28
29::code-preview
30---
31class: "[&>div]:*:my-0"
32---
33### Sous-titres
34
35#code
36```mdc
37### Sous-titres
38```
39::
40
41::tip
42Chaque titre et sous-titre crée une ancre et apparaît automatiquement dans la table des matières.
43::
44
45## Mise en forme du texte
46
47Docus prend en charge la plupart des options de mise en forme Markdown.
48
49| Style | Syntaxe | Résultat |
50| -------- | ------------ | ---------- |
51| Gras | `**gras**` | **Gras** |
52| Italique | `*italique*` | *Italique* |
53| Barré | `~~barré~~` | ~~Barré~~ |
54
55Combinez les styles pour enrichir le texte et mettre en valeur des éléments.
56
57| Style | Syntaxe | Résultat |
58| -------------- | --------------------- | ------------------- |
59| Gras Italique | `**_gras italique_**` | ***Gras Italique*** |
60| Gras Barré | `~~**gras**~~` | ~~**Gras**~~ |
61| Italique Barré | `~~*italique*~~` | ~~*Italique*~~ |
62
63## Liens
64
65Les liens relient différentes parties de votre documentation et des ressources externes, essentiels pour la navigation et les références.
66Pour créer un lien, entourez le texte du lien avec des crochets `[]()`.
67
68::code-preview
69---
70class: "[&>div]:*:my-0"
71---
72[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
73
74#code
75```mdc
76[Nuxt UI](https://ui.nuxt.com/getting-started/installation/nuxt)
77```
78::
79
80### Liens internes
81
82Pour lier des pages de votre documentation, utilisez des chemins relatifs à la racine comme `/getting-started/installation`.
83
84::code-preview
85---
86class: "[&>div]:*:my-0"
87---
88[Installation](/fr/getting-started/installation)
89
90#code
91```mdc
92[Installation](/fr/getting-started/installation)
93```
94::
95
96## Listes
97
98Organisez des éléments liés dans un format structuré et lisible. Markdown prend en charge les listes non ordonnées, ordonnées et imbriquées pour divers besoins.
99
100### Non ordonnée
101
102Utilisez des listes non ordonnées pour des éléments sans ordre particulier. Commencez chaque élément par un symbole `-`.
103
104::code-preview
105---
106class: "[&>div]:*:my-0"
107---
108- Je suis un élément de liste.
109- Je suis un autre élément de liste.
110- Je suis le dernier élément de liste.
111
112#code
113```mdc
114- Je suis un élément de liste.
115- Je suis un autre élément de liste.
116- Je suis le dernier élément de liste.
117```
118::
119
120### Ordonnée
121
122Utilisez des listes ordonnées lorsque l'ordre des éléments est important, comme des étapes d'un processus. Commencez chaque élément par un numéro.
123
124::code-preview
125---
126class: "[&>div]:*:my-0"
127---
1281. Je suis un élément de liste.
1292. Je suis un autre élément de liste.
1303. Je suis le dernier élément de liste.
131
132#code
133```mdc
1341. Je suis un élément de liste.
1352. Je suis un autre élément de liste.
1363. Je suis le dernier élément de liste.
137```
138::
139
140### Imbriquée
141
142Créez des listes hiérarchiques avec des sous-éléments pour des structures complexes. Indentez les sous-éléments de quatre espaces pour l'imbrication.
143
144::code-preview
145---
146class: "[&>div]:*:my-0"
147---
148- Je suis un élément de liste.
149 - Je suis un élément de liste imbriqué.
150 - Je suis un autre élément de liste imbriqué.
151- Je suis un autre élément de liste.
152
153#code
154```mdc
155- Je suis un élément de liste.
156 - Je suis un élément de liste imbriqué.
157 - Je suis un autre élément de liste imbriqué.
158- Je suis un autre élément de liste.
159```
160::
161
162## Tableaux
163
164Présentez des données structurées en lignes et colonnes. Les tableaux sont idéaux pour comparer des données ou lister des propriétés.
165
166::code-preview
167---
168class: "[&>div]:*:my-0 [&>div]:*:w-full"
169---
170| Prop | Défaut | Type |
171| ------- | --------- | -------- |
172| `name` | | `string` |
173| `size` | `md` | `string` |
174| `color` | `neutral` | `string` |
175
176#code
177```mdc
178| Prop | Défaut | Type |
179|---------|-----------|--------------------------|
180| `name` | | `string`{lang="ts-type"} |
181| `size` | `md` | `string`{lang="ts-type"} |
182| `color` | `neutral` | `string`{lang="ts-type"} |
183```
184::
185
186## Citations
187
188Mettez en avant des citations, références ou textes importants. Les citations distinguent visuellement le contenu cité.
189
190### Une ligne
191
192Les citations sur une seule ligne sont idéales pour des citations courtes et percutantes. Ajoutez un `>` devant un paragraphe. Idéal pour les citations courtes.
193
194::code-preview
195---
196class: "[&>div]:*:my-0"
197---
198> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
199
200#code
201```mdc
202> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
203```
204::
205
206### Multiligne
207
208Les citations multiligne conviennent aux citations plus longues ou pour inclure plusieurs paragraphes dans une seule citation.
209
210::code-preview
211---
212class: "[&>div]:*:my-0"
213---
214> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
215>
216> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
217
218#code
219```mdc
220> Nuxt UI est une collection de composants Vue, de composables et d'utilitaires construits sur Nuxt UI, orientés structure et layout, conçus comme des blocs de construction pour votre application.
221>
222> Créez de belles applications Vue réactives et accessibles avec Nuxt UI.
223```
224::
docs/content/fr/3.essentials/2.code-blocks.md+398−0
@@ -0,0 +1,398 @@
1---
2title: Blocs de code
3description: Affichez du code en ligne et des blocs de code dans votre documentation.
4links: []
5navigation:
6 icon: i-lucide-code-xml
7---
8
9## Basique
10
11### Code en ligne
12
13Utilisez le code en ligne pour afficher des extraits de code dans les paragraphes. Idéal pour référencer des éléments de code directement dans les phrases.
14
15::code-preview
16---
17class: "[&>div]:*:my-0"
18---
19`code en ligne`
20
21#code
22```mdc
23`code en ligne`
24```
25::
26
27### Blocs de code
28
29Utilisez les blocs de code pour afficher des extraits de code multi-lignes avec coloration syntaxique. Les blocs de code sont essentiels pour présenter clairement des exemples de code.
30
31::code-preview
32---
33class: "[&>div]:*:my-0 [&>div]:*:w-full"
34---
35```ts
36export default defineNuxtConfig({
37 modules: ['@nuxt/ui']
38})
39```
40
41#code
42````mdc
43```ts
44export default defineNuxtConfig({
45 modules: ['@nuxt/ui']
46})
47```
48````
49::
50
51Lorsque vous écrivez un bloc de code, vous pouvez spécifier un nom de fichier qui sera affiché au-dessus du bloc. Une icône sera automatiquement affichée selon l'extension ou le nom.
52Les noms de fichiers aident les utilisateurs à comprendre l'emplacement et le but du code dans un projet.
53
54::code-preview
55---
56class: "[&>div]:*:my-0 [&>div]:*:w-full"
57---
58```ts [nuxt.config.ts]
59export default defineNuxtConfig({
60 modules: ['@nuxt/ui']
61})
62```
63
64#code
65````mdc
66```ts [nuxt.config.ts]
67export default defineNuxtConfig({
68 modules: ['@nuxt/ui']
69})
70```
71````
72::
73
74Chaque bloc de code possède un bouton de copie intégré qui permet de copier le code dans le presse-papiers.
75
76::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"}
77Les icônes sont déjà définies par défaut, mais vous pouvez les personnaliser dans votre `app.config.ts` :
78
79```ts [app.config.ts]
80export default defineAppConfig({
81 ui: {
82 prose: {
83 codeIcon: {
84 terminal: 'i-ph-terminal-window-duotone'
85 }
86 }
87 }
88})
89```
90::
91
92## Avancé
93
94### CodeGroup
95
96Groupez des blocs de code dans des onglets avec `code-group`. `code-group` est parfait pour montrer des exemples de code dans plusieurs langages ou gestionnaires de paquets.
97
98::code-preview
99---
100class: "[&>div]:*:my-0 [&>div]:*:w-full"
101---
102 :::code-group{.w-full}
103 ```bash [pnpm]
104 pnpm add @nuxt/ui
105 ```
106
107 ```bash [yarn]
108 yarn add @nuxt/ui
109 ```
110
111 ```bash [npm]
112 npm install @nuxt/ui
113 ```
114
115 ```bash [bun]
116 bun add @nuxt/ui
117 ```
118 :::
119
120#code
121````mdc
122::code-group
123
124```bash [pnpm]
125pnpm add @nuxt/ui
126```
127
128```bash [yarn]
129yarn add @nuxt/ui
130```
131
132```bash [npm]
133npm install @nuxt/ui
134```
135
136```bash [bun]
137bun add @nuxt/ui
138```
139
140::
141````
142::
143
144### CodeTree
145
146Affichez des blocs de code dans une vue arborescente avec `code-tree`. `code-tree` est excellent pour présenter des structures de projet et des relations de fichiers.
147
148::code-preview
149---
150class: "[&>div]:*:my-0 [&>div]:*:w-full"
151---
152 :::code-tree{default-value="app/app.config.ts"}
153 ```ts [nuxt.config.ts]
154 export default defineNuxtConfig({
155 modules: ['@nuxt/ui'],
156
157 css: ['~/assets/css/main.css']
158 })
159 ```
160
161 ```css [app/assets/css/main.css]
162 @import "tailwindcss";
163 @import "@nuxt/ui";
164 ```
165
166 ```ts [app/app.config.ts]
167 export default defineAppConfig({
168 ui: {
169 colors: {
170 primary: 'sky',
171 colors: 'slate'
172 }
173 }
174 })
175 ```
176
177 ```vue [app/app.vue]
178 <template>
179 <UApp>
180 <NuxtPage />
181 </UApp>
182 </template>
183 ```
184
185 ```json [package.json]
186 {
187 "name": "nuxt-app",
188 "private": true,
189 "type": "module",
190 "scripts": {
191 "build": "nuxt build",
192 "dev": "nuxt dev",
193 "generate": "nuxt generate",
194 "preview": "nuxt preview",
195 "postinstall": "nuxt prepare",
196 "lint": "eslint .",
197 "lint:fix": "eslint --fix ."
198 },
199 "dependencies": {
200 "@iconify-json/lucide": "^1.2.18",
201 "@nuxt/ui": "^4.0.0",
202 "nuxt": "^4.1.0"
203 },
204 "devDependencies": {
205 "eslint": "^9.34.0",
206 "typescript": "^5.9.3",
207 "vue-tsc": "^3.0.6"
208 }
209 }
210 ```
211
212 ```json [tsconfig.json]
213 {
214 "extends": "./.nuxt/tsconfig.json"
215 }
216 ```
217
218 ````md [README.md]
219 # Nuxt 4 Minimal Starter
220
221 Consultez la [documentation Nuxt 4](https://nuxt.com/docs/getting-started/introduction) pour en savoir plus.
222
223 ## Installation
224
225 Assurez-vous d'installer les dépendances :
226
227 ```bash
228 # npm
229 npm install
230
231 # pnpm
232 pnpm install
233
234 # yarn
235 yarn install
236
237 # bun
238 bun install
239 ```
240
241 ## Serveur de développement
242
243 Démarrez le serveur de développement sur `http://localhost:3000` :
244
245 ```bash
246 # npm
247 npm run dev
248
249 # pnpm
250 pnpm run dev
251
252 # yarn
253 yarn dev
254
255 # bun
256 bun run dev
257 ```
258
259 ## Production
260
261 Construisez l'application pour la production :
262
263 ```bash
264 # npm
265 npm run build
266
267 # pnpm
268 pnpm run build
269
270 # yarn
271 yarn build
272
273 # bun
274 bun run build
275 ```
276
277 Prévisualisez localement la build de production :
278
279 ```bash
280 # npm
281 npm run preview
282
283 # pnpm
284 pnpm run preview
285
286 # yarn
287 yarn preview
288
289 # bun
290 bun run preview
291 ```
292
293 Consultez la [documentation de déploiement](https://nuxt.com/docs/getting-started/deployment) pour plus d'informations.
294 ````
295 :::
296::
297
298### `CodePreview`
299
300Utilisez `code-preview` pour afficher le résultat du code à côté du code. `code-preview` est idéal pour les exemples interactifs et la démonstration de résultats de code.
301Écrivez le code à prévisualiser dans le slot `default` et le code réel dans le slot `code`.
302
303::code-preview
304---
305class: "[&>div]:*:my-0 [&>div]:*:w-full"
306label: Aperçu
307---
308 :::code-preview
309 ---
310 class: "[&>div]:*:my-0"
311 ---
312 `code en ligne`
313
314 #code
315 ```mdc
316 `code en ligne`
317 ```
318 :::
319
320#code
321````mdc
322::code-preview
323`code en ligne`
324
325#code
326```mdc
327`code en ligne`
328```
329::
330````
331::
332
333### `CodeCollapse`
334
335Utilisez `code-collapse` pour les longs blocs de code afin de garder les pages propres. `code-collapse` permet aux utilisateurs de déplier les blocs de code uniquement si besoin, améliorant ainsi la lisibilité.
336
337::code-preview
338---
339class: "[&>div]:*:my-0 [&>div]:*:w-full"
340---
341 :::code-collapse
342 ---
343 class: "[&>div]:my-0"
344 ---
345 ```css [main.css]
346 @import "tailwindcss";
347 @import "@nuxt/ui";
348
349 @theme {
350 --font-sans: 'Public Sans', sans-serif;
351
352 --breakpoint-3xl: 1920px;
353
354 --color-green-50: #EFFDF5;
355 --color-green-100: #D9FBE8;
356 --color-green-200: #B3F5D1;
357 --color-green-300: #75EDAE;
358 --color-green-400: #00DC82;
359 --color-green-500: #00C16A;
360 --color-green-600: #00A155;
361 --color-green-700: #007F45;
362 --color-green-800: #016538;
363 --color-green-900: #0A5331;
364 --color-green-950: #052E16;
365 }
366 ```
367 :::
368
369#code
370````mdc
371::code-collapse
372
373```css [main.css]
374@import "tailwindcss";
375@import "@nuxt/ui";
376
377@theme {
378--font-sans: 'Public Sans', sans-serif;
379
380--breakpoint-3xl: 1920px;
381
382--color-green-50: #EFFDF5;
383--color-green-100: #D9FBE8;
384--color-green-200: #B3F5D1;
385--color-green-300: #75EDAE;
386--color-green-400: #00DC82;
387--color-green-500: #00C16A;
388--color-green-600: #00A155;
389--color-green-700: #007F45;
390--color-green-800: #016538;
391--color-green-900: #0A5331;
392--color-green-950: #052E16;
393}
394```
395
396::
397````
398::
docs/content/fr/3.essentials/3.components.md+421−0
@@ -0,0 +1,421 @@
1---
2title: Composants Markdown
3description: Utilisez les composants Markdown pour structurer votre contenu, avec l'aide de Nuxt UI.
4navigation:
5 icon: i-lucide-component
6 title: Composants
7---
8
9Les composants prose sont des remplacements pour les balises de typographie HTML. Ils offrent un moyen simple de personnaliser votre interface lors de l'utilisation de Markdown.
10
11**Docus et Nuxt UI** fournissent un ensemble de composants prose stylés et élégants pour vous aider à rédiger votre documentation avec la [syntaxe MDC](https://content.nuxt.com/docs/files/markdown#mdc-syntax).
12
13::note{to="https://ui.nuxt.com/getting-started"}
14Cette page met en avant uniquement les composants prose les plus adaptés à la rédaction de documentation. Cependant, vous pouvez utiliser **n'importe quel composant Nuxt UI** dans votre Markdown. Pour la liste complète des composants disponibles, consultez la documentation Nuxt UI.
15::
16
17### `Accordion`
18
19Utilisez les composants `accordion` et `accordion-item` pour afficher un [Accordion](https://ui.nuxt.com/components/accordion) dans votre contenu.
20
21::tabs
22 :::tabs-item{icon="i-lucide-eye" label="Aperçu"}
23 ::::accordion
24 :::::accordion-item
25 ---
26 icon: i-lucide-circle-help
27 label: Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?
28 ---
29 Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
30 :::::
31
32 :::::accordion-item
33 ---
34 icon: i-lucide-circle-help
35 label: Comment démarrer avec Docus ?
36 ---
37 La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
38 :::::
39
40 :::::accordion-item{icon="i-lucide-circle-help" label="Qu'est-ce que Nuxt UI ?"}
41 Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
42 :::::
43 ::::
44 :::
45
46 :::tabs-item{icon="i-lucide-code" label="Code"}
47```mdc
48 ::accordion
49
50 :::accordion-item{label="Qu'est-ce que Docus et quelles sont ses fonctionnalités clés ?" icon="i-lucide-circle-help"}
51 Docus est une solution de documentation entièrement intégrée construite avec Nuxt UI. C'est un thème inspiré du template de documentation Nuxt UI qui fournit un visuel prêt à l'emploi. L'utilisateur peut se concentrer sur le contenu en utilisant Markdown et la syntaxe MDC.
52 :::
53
54 :::accordion-item{label="Comment démarrer avec Docus ?" icon="i-lucide-circle-help"}
55 La seule chose dont vous avez besoin pour démarrer un projet Docus est un dossier `content/`. Consultez le starter pour un démarrage rapide.
56 :::
57
58 :::accordion-item{label="Qu'est-ce que Nuxt UI ?" icon="i-lucide-circle-help"}
59 Nuxt UI est une collection de composants Vue premium, de composables et d'utilitaires construits sur [Nuxt UI](https://ui.nuxt.com/). Nuxt UI est gratuit en développement, mais nécessite une licence pour la production.
60 :::
61 ::
62```
63 :::
64::
65
66### `Badge`
67
68Utilisez du markdown dans le slot par défaut du composant `badge` pour afficher un [Badge](https://ui.nuxt.com/components/badge) dans votre contenu.
69
70::tabs
71 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
72 ::::badge
73 **v3.0.0**
74 ::::
75 :::
76
77 :::tabs-item{icon="i-lucide-code" label="Code"}
78```mdc
79 ::badge
80 **v3.0.0**
81 ::
82```
83 :::
84::
85
86### `Callout`
87
88Utilisez du markdown dans le slot par défaut du composant `callout` pour ajouter un contexte visuel à votre contenu.
89
90Utilisez les props `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
91
92Vous pouvez également utiliser les raccourcis `note`, `tip`, `warning` et `caution` avec des icônes et couleurs prédéfinies.
93
94::tabs
95 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
96 ::::div{.flex.flex-col.gap-4.w-full}
97 :::::note{.w-full.my-0}
98 Voici des informations supplémentaires pour vous.
99 :::::
100
101 :::::tip{.w-full.my-0}
102 Voici une suggestion utile.
103 :::::
104
105 :::::warning{.w-full.my-0}
106 Faites attention à cette action car elle pourrait avoir des résultats inattendus.
107 :::::
108
109 :::::caution{.w-full.my-0}
110 Cette action est irréversible.
111 :::::
112 ::::
113 :::
114
115 :::tabs-item{icon="i-lucide-code" label="Code"}
116```mdc
117 ::note
118 Voici des informations supplémentaires.
119 ::
120
121 ::tip
122 Voici une suggestion utile.
123 ::
124
125 ::warning
126 Faites attention à cette action car elle pourrait avoir des résultats inattendus.
127 ::
128
129 ::caution
130 Cette action est irréversible.
131 ::
132```
133 :::
134::
135
136### `Card` et `CardGroup`
137
138Utilisez du markdown dans le slot par défaut du composant `card` pour mettre en avant votre contenu.
139
140Utilisez les props `title`, `icon` et `color` pour le personnaliser. Vous pouvez aussi passer n'importe quelle propriété du composant `<NuxtLink>`.
141
142Regroupez vos composants `card` avec le composant `card-group` pour les afficher en grille.
143
144::tabs
145 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
146 ::::card-group{.w-full.my-0}
147 :::::card
148 ---
149 icon: i-simple-icons-github
150 target: _blank
151 title: Tableau de bord
152 to: https://github.com/nuxt-ui-templates/dashboard
153 ---
154 Un tableau de bord avec une mise en page multi-colonnes.
155 :::::
156
157 :::::card
158 ---
159 icon: i-simple-icons-github
160 target: _blank
161 title: SaaS
162 to: https://github.com/nuxt-ui-templates/saas
163 ---
164 Un template avec landing, pricing, docs et blog.
165 :::::
166
167 :::::card
168 ---
169 icon: i-simple-icons-github
170 target: _blank
171 title: Docs
172 to: https://github.com/nuxt-ui-templates/docs
173 ---
174 Une documentation avec `@nuxt/content`.
175 :::::
176
177 :::::card
178 ---
179 icon: i-simple-icons-github
180 target: _blank
181 title: Landing
182 to: https://github.com/nuxt-ui-templates/landing
183 ---
184 Une page d'accueil à utiliser comme point de départ.
185 :::::
186 ::::
187 :::
188
189 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
190```mdc
191 :::card-group
192
193 ::card
194 ---
195 title: Tableau de bord
196 icon: i-simple-icons-github
197 to: https://github.com/nuxt-ui-templates/dashboard
198 target: _blank
199 ---
200 Un tableau de bord avec une mise en page multi-colonnes.
201 ::
202
203 ::card
204 ---
205 title: SaaS
206 icon: i-simple-icons-github
207 to: https://github.com/nuxt-ui-templates/saas
208 target: _blank
209 ---
210 Un template avec landing, pricing, docs et blog.
211 ::
212
213 ::card
214 ---
215 title: Docs
216 icon: i-simple-icons-github
217 to: https://github.com/nuxt-ui-templates/docs
218 target: _blank
219 ---
220 Une documentation avec `@nuxt/content`.
221 ::
222
223 ::card
224 ---
225 title: Landing
226 icon: i-simple-icons-github
227 to: https://github.com/nuxt-ui-templates/landing
228 target: _blank
229 ---
230 Une page d'accueil à utiliser comme point de départ.
231 ::
232
233 :::
234```
235 :::
236::
237
238### `Collapsible`
239
240Enveloppez votre contenu avec le composant `collapsible` pour afficher un [Collapsible](https://ui.nuxt.com/components/collapsible) dans votre contenu.
241
242::tabs
243 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
244 ::::collapsible
245 | Prop | Défaut | Type |
246 | ------- | --------- | -------- |
247 | `name` | | `string` |
248 | `size` | `md` | `string` |
249 | `color` | `neutral` | `string` |
250 ::::
251 :::
252
253 :::tabs-item{icon="i-lucide-code" label="Code"}
254```mdc
255 ::collapsible
256
257 | Prop | Défaut | Type |
258 |---------|-----------|--------------------------|
259 | `name` | | `string`{lang="ts-type"} |
260 | `size` | `md` | `string`{lang="ts-type"} |
261 | `color` | `neutral` | `string`{lang="ts-type"} |
262
263 ::
264```
265 :::
266::
267
268### `Field` et `FieldGroup`
269
270Un `field` est une prop ou un paramètre à afficher dans votre contenu. Vous pouvez les regrouper avec `field-group` dans une liste.
271
272::tabs
273 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
274 ::::field-group{.my-0}
275 :::::field{name="analytics" type="boolean"}
276 Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
277 :::::
278
279 :::::field{name="blob" type="boolean"}
280 Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
281 :::::
282
283 :::::field{name="cache" type="boolean"}
284 Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
285 :::::
286
287 :::::field{name="database" type="boolean"}
288 Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
289 :::::
290 ::::
291 :::
292
293 :::tabs-item{icon="i-lucide-code" label="Code"}
294```mdc
295 ::field-group
296 ::field{name="analytics" type="boolean"}
297 Par défaut à `false` - Active l'analytics pour votre projet (bientôt disponible).
298 ::
299
300 ::field{name="blob" type="boolean"}
301 Par défaut à `false` - Active le stockage blob pour stocker des assets statiques, comme des images, vidéos et plus.
302 ::
303
304 ::field{name="cache" type="boolean"}
305 Par défaut à `false` - Active le cache pour mettre en cache les réponses de vos routes serveur ou fonctions avec `cachedEventHandler` et `cachedFunction` de Nitro.
306 ::
307
308 ::field{name="database" type="boolean"}
309 Par défaut à `false` - Active la base de données SQL pour stocker les données de votre application.
310 ::
311 ::
312```
313 :::
314::
315
316### `Icon`
317
318Utilisez le composant `icon` pour afficher une [Icône](https://ui.nuxt.com/components/icon) dans votre contenu.
319
320::code-preview
321:icon{name="i-simple-icons-nuxtdotjs"}
322
323#code
324```mdc
325:icon{name="i-simple-icons-nuxtdotjs"}
326```
327::
328
329### `Kbd`
330
331Utilisez le composant `kbd` pour afficher un [Kbd](https://ui.nuxt.com/components/kbd) dans votre contenu.
332
333::code-preview
334#code
335```mdc
336:kbd{value="meta"} :kbd{value="K"}
337```
338::
339
340### `Tabs`
341
342Utilisez les composants `tabs` et `tabs-item` pour afficher des [Onglets](https://ui.nuxt.com/components/tabs) dans votre contenu.
343
344::code-preview
345 :::tabs{.w-full}
346 ::::tabs-item{icon="i-lucide-code" label="Code"}
347 ```mdc
348 ::callout
349 Lorem velit voluptate ex reprehenderit ullamco et culpa.
350 ::
351 ```
352 ::::
353
354 ::::tabs-item{icon="i-lucide-eye" label="Aperçu"}
355 :::::callout
356 Lorem velit voluptate ex reprehenderit ullamco et culpa.
357 :::::
358 ::::
359 :::
360
361#code
362````mdc
363::tabs{.w-full}
364 :::tabs-item{icon="i-lucide-code" label="Code"}
365 ```mdc
366 ::::callout
367 Lorem velit voluptate ex reprehenderit ullamco et culpa.
368 ::::
369 ```
370 ::::
371
372:::tabs-item{icon="i-lucide-eye" label="Aperçu"}
373 :::::callout
374 Lorem velit voluptate ex reprehenderit ullamco et culpa.
375 :::::
376:::
377::
378````
379::
380
381### `Steps`
382
383Enveloppez vos titres avec le composant Steps pour afficher une liste d'étapes.
384
385Utilisez la prop `level` pour définir quel titre sera utilisé pour les étapes.
386
387::tabs
388 :::tabs-item{.my-5 icon="i-lucide-eye" label="Aperçu"}
389 ::::steps{level="4"}
390 #### Démarrer un nouveau projet
391
392 ```bash [Terminal]
393 npm create nuxt@latest -- -t github:nuxt-content/docus
394 ```
395
396 #### Lancer le CLI docus pour démarrer votre serveur de dev
397
398 ```bash [Terminal]
399 docus dev
400 ```
401 ::::
402 :::
403
404 :::tabs-item{icon="i-lucide-code" label="Code"}
405````mdc
406 ::steps{level="4"}
407 #### Démarrer un nouveau projet
408
409 ```bash [Terminal]
410 npm create nuxt@latest -- -t github:nuxt-content/docus
411 ```
412
413 #### Lancer le CLI docus pour démarrer votre serveur de dev
414
415 ```bash [Terminal]
416 docus dev
417 ```
418 ::
419````
420 :::
421::
docs/content/fr/3.essentials/4.images-embeds.md+52−0
@@ -0,0 +1,52 @@
1---
2title: Images et intégrations
3description: Ajoutez des images, vidéos et autres éléments HTML
4navigation:
5 icon: i-lucide-image
6seo:
7 description: Ajoutez des images, vidéos et autres éléments HTML avec le thème Docus
8 title: Images et intégrations
9---
10
11## Markdown
12
13Affichez des images ou des vidéos en utilisant la syntaxe Markdown standard.
14
15### Images
16
17::code-preview
18![Image Nuxt Social](https://nuxt.com/new-social.jpg)
19
20#code
21```mdc
22![Image Nuxt Social](https://nuxt.com/new-social.jpg)
23```
24::
25
26Ou avec vos images locales
27
28::code-preview
29![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
30
31#code
32```mdc
33![Montagnes enneigées dans une mer de nuages au coucher du soleil](/mountains.webp)
34```
35::
36
37::note{to="https://image.nuxt.com/"}
38Docus utilisera le composant `<NuxtImg>` sous le capot à la place de la balise native `img`.
39::
40
41### Vidéos
42
43::code-preview
44:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
45
46#code
47```mdc
48:video{autoplay controls loop src="https://res.cloudinary.com/dcrl8q2g3/video/upload/v1745404403/landing_od8epr.mp4"}
49```
50::
51
52###
docs/content/fr/4.ai/.navigation.yml+2−0
@@ -0,0 +1,2 @@
1title: IA
2icon: i-lucide-sparkles
docs/content/fr/4.ai/1.assistant.md+383−0
@@ -0,0 +1,383 @@
1---
2title: Assistant
3description: Ajoutez un chat propulsé par l'IA à votre documentation qui répond aux questions, cite les sources et génère des exemples de code.
4navigation:
5 icon: i-lucide-sparkles
6---
7
8## À propos de l'Assistant
9
10L'assistant répond aux questions sur votre documentation via des requêtes en langage naturel. Il est intégré directement dans votre site de documentation, permettant aux utilisateurs de trouver rapidement des réponses.
11
12Lorsque les utilisateurs posent des questions, l'assistant :
13
14- **Recherche et récupère** le contenu pertinent de votre documentation en utilisant un [serveur MCP](/fr/ai/mcp).
15- **Cite les sources** avec des liens navigables vers les pages référencées.
16- **Génère des exemples de code** copiables pour aider les utilisateurs à implémenter les solutions.
17
18## Comment ça fonctionne
19
20L'assistant utilise une architecture multi-agents :
21
221. **Agent principal** - Reçoit les questions des utilisateurs et décide quand rechercher dans la documentation
232. **Agent de recherche** - Utilise les outils du [serveur MCP](/fr/ai/mcp) pour trouver le contenu pertinent
243. **Génération de réponse** - Synthétise les informations en réponses utiles et conversationnelles
25
26Par défaut, l'assistant se connecte au serveur MCP intégré de votre documentation à `/mcp`, lui donnant accès à toutes vos pages sans configuration supplémentaire. Vous pouvez également vous connecter à un serveur MCP externe si nécessaire.
27
28## Démarrage rapide
29
30### 1. Installer les dépendances
31
32::code-group
33
34```bash [npm]
35npm install ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
36```
37
38```bash [pnpm]
39pnpm add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
40```
41
42```bash [yarn]
43yarn add ai @ai-sdk/vue @ai-sdk/gateway @ai-sdk/mcp @comark/nuxt
44```
45
46::
47
48### 2. Configurer l'authentification AI Gateway
49
50Choisissez **une** de ces méthodes :
51
52**Clé API** — Créez une clé dans [Vercel AI Gateway](https://vercel.com/~/ai/api-keys) et ajoutez-la à votre environnement :
53
54```bash [.env]
55AI_GATEWAY_API_KEY=votre-cle-api
56```
57
58**OIDC (uniquement sur Vercel)** — `VERCEL_OIDC_TOKEN` est injecté automatiquement. Rien à ajouter en production. En local, lancez `vercel env pull` sur un [projet lié](https://vercel.com/docs/cli/link).
59
60### 3. Déployer
61
62Déployez votre site — l'assistant est disponible dès que l'authentification est configurée.
63
64## Utiliser l'Assistant
65
66Les utilisateurs peuvent interagir avec l'assistant de plusieurs façons :
67
68### Input flottant
69
70Sur les pages de documentation, un champ de saisie flottant apparaît en bas de l'écran. Les utilisateurs peuvent taper leurs questions directement et appuyer sur Entrée pour obtenir des réponses.
71
72::tip
73Utilisez le raccourci clavier :kbd{value="meta"} :kbd{value="I"} pour activer l'input flottant.
74::
75
76### Expliquer avec l'IA
77
78Chaque page de documentation inclut un bouton **Explain with AI** dans la barre latérale de la table des matières. Cliquer sur ce bouton ouvre l'assistant avec la page actuelle comme contexte.
79
80### Chat en panneau latéral
81
82Lorsqu'une conversation commence, un panneau coulissant s'ouvre sur le côté droit de l'écran. Ce panneau affiche l'historique de la conversation et permet aux utilisateurs de continuer à poser des questions.
83
84## Configuration
85
86Configurez l'assistant via `app.config.ts` :
87
88```ts [app.config.ts]
89export default defineAppConfig({
90 assistant: {
91 // Afficher l'input flottant sur les pages de documentation
92 floatingInput: true,
93
94 // Afficher le bouton "Expliquer avec l'IA" dans la barre latérale
95 explainWithAi: true,
96
97 // Questions FAQ à afficher quand le chat est vide
98 faqQuestions: [],
99
100 // Raccourcis clavier
101 shortcuts: {
102 focusInput: 'meta_i'
103 },
104
105 // Icônes personnalisées
106 icons: {
107 trigger: 'i-lucide-sparkles',
108 explain: 'i-lucide-brain'
109 }
110 }
111})
112```
113
114### Questions FAQ
115
116Affichez des questions suggérées quand le chat est vide. Cela aide les utilisateurs à découvrir ce qu'ils peuvent demander.
117
118#### Format simple
119
120```ts [app.config.ts]
121export default defineAppConfig({
122 assistant: {
123 faqQuestions: [
124 'Comment installer Docus ?',
125 'Comment personnaliser le thème ?',
126 'Comment ajouter des composants à mes pages ?'
127 ]
128 }
129})
130```
131
132#### Format avec catégories
133
134Organisez les questions en catégories :
135
136```ts [app.config.ts]
137export default defineAppConfig({
138 assistant: {
139 faqQuestions: [
140 {
141 category: 'Démarrage',
142 items: [
143 'Comment installer Docus ?',
144 'Quelle est la structure du projet ?'
145 ]
146 },
147 {
148 category: 'Personnalisation',
149 items: [
150 'Comment changer les couleurs du thème ?',
151 'Comment ajouter un logo personnalisé ?'
152 ]
153 }
154 ]
155 }
156})
157```
158
159#### Format multilingue
160
161Pour une documentation multilingue, fournissez les questions FAQ par locale :
162
163```ts [app.config.ts]
164export default defineAppConfig({
165 assistant: {
166 faqQuestions: {
167 en: [
168 { category: 'Getting Started', items: ['How do I install?'] }
169 ],
170 fr: [
171 { category: 'Démarrage', items: ['Comment installer ?'] }
172 ]
173 }
174 }
175})
176```
177
178## Raccourcis clavier
179
180Configurez le raccourci clavier pour activer l'input flottant :
181
182```ts [app.config.ts]
183export default defineAppConfig({
184 assistant: {
185 shortcuts: {
186 // Par défaut : 'meta_i' (Cmd+I sur Mac, Ctrl+I sur Windows)
187 focusInput: 'meta_k' // Changer pour Cmd/Ctrl+K
188 }
189 }
190})
191```
192
193Le format de raccourci utilise des underscores pour séparer les touches. Exemples courants :
194
195- `meta_i` - Cmd+I (Mac) / Ctrl+I (Windows)
196- `meta_k` - Cmd+K (Mac) / Ctrl+K (Windows)
197- `ctrl_shift_p` - Ctrl+Shift+P
198
199## Icônes personnalisées
200
201Personnalisez les icônes utilisées par l'assistant :
202
203```ts [app.config.ts]
204export default defineAppConfig({
205 assistant: {
206 icons: {
207 // Icône pour le bouton déclencheur et l'en-tête du panneau
208 trigger: 'i-lucide-bot',
209
210 // Icône pour le bouton "Expliquer avec l'IA"
211 explain: 'i-lucide-lightbulb'
212 }
213 }
214})
215```
216
217Les icônes utilisent le format [Iconify](https://iconify.design/) (ex: `i-lucide-sparkles`, `i-heroicons-sparkles`).
218
219## Internationalisation
220
221Tous les textes de l'interface sont automatiquement traduits selon la locale de l'utilisateur. Docus inclut des traductions intégrées pour l'anglais et le français.
222
223Les textes suivants sont traduits :
224
225- Titre et placeholder du panneau
226- Textes des infobulles
227- Libellés des boutons ("Effacer le chat", "Fermer", "Expliquer avec l'IA")
228- Messages de statut ("Réflexion...", "Le chat est effacé au rechargement")
229
230## Désactiver des fonctionnalités
231
232### Désactiver l'input flottant
233
234Masquez l'input flottant en bas des pages de documentation :
235
236```ts [app.config.ts]
237export default defineAppConfig({
238 assistant: {
239 floatingInput: false
240 }
241})
242```
243
244### Désactiver "Explain with AI"
245
246Masquez le bouton "Explain with AI" dans la barre latérale de documentation :
247
248```ts [app.config.ts]
249export default defineAppConfig({
250 assistant: {
251 explainWithAi: false
252 }
253})
254```
255
256### Désactiver l'assistant entièrement
257
258L'assistant est désactivé quand aucune authentification n'est disponible. Pour le désactiver explicitement, supprimez `AI_GATEWAY_API_KEY` de votre environnement :
259
260```bash [.env]
261# AI_GATEWAY_API_KEY=votre-cle-api
262```
263
264Sur Vercel avec OIDC, supprimez la variable d'environnement système auto-injectée dans les paramètres de votre projet.
265
266## Configuration avancée
267
268Configurez les options avancées dans `nuxt.config.ts` sous `docus.assistant`.
269
270```ts [nuxt.config.ts]
271export default defineNuxtConfig({
272 docus: {
273 assistant: {
274 // Modèle IA (utilise le format AI SDK Gateway)
275 model: 'google/gemini-3-flash',
276
277 // Serveur MCP (chemin ou URL)
278 mcpServer: '/mcp',
279
280 // Chemin de l'endpoint API
281 apiPath: '/__docus__/assistant'
282 }
283 }
284})
285```
286
287### Configuration du serveur MCP
288
289L'assistant utilise un serveur MCP pour accéder à votre documentation. Vous avez deux options :
290
291#### Utiliser le serveur MCP intégré (par défaut)
292
293Par défaut, l'assistant utilise le serveur MCP intégré de Docus à `/mcp` :
294
295```ts [nuxt.config.ts]
296export default defineNuxtConfig({
297 docus: {
298 assistant: {
299 mcpServer: '/mcp'
300 }
301 }
302})
303```
304
305::warning
306Assurez-vous que le serveur MCP est activé dans votre configuration. Si vous avez personnalisé le chemin MCP, mettez à jour `mcpServer` en conséquence.
307::
308
309#### Utiliser un serveur MCP externe
310
311Connectez-vous à n'importe quel serveur MCP externe en fournissant une URL complète :
312
313```ts [nuxt.config.ts]
314export default defineNuxtConfig({
315 docus: {
316 assistant: {
317 mcpServer: 'https://autre-docs.exemple.com/mcp'
318 }
319 }
320})
321```
322
323C'est utile lorsque vous voulez que l'assistant réponde aux questions d'une autre source de documentation, ou lors de la connexion à une base de connaissances centralisée.
324
325### Modèle IA personnalisé
326
327L'assistant utilise `google/gemini-3-flash` par défaut. Vous pouvez le changer pour n'importe quel modèle supporté par AI SDK Gateway :
328
329```ts [nuxt.config.ts]
330export default defineNuxtConfig({
331 docus: {
332 assistant: {
333 model: 'anthropic/claude-opus-4.5'
334 }
335 }
336})
337```
338
339### Nom du site dans les réponses
340
341L'assistant utilise automatiquement le nom de votre site dans ses réponses. Configurez le nom du site dans `nuxt.config.ts` :
342
343```ts [nuxt.config.ts]
344export default defineNuxtConfig({
345 site: {
346 name: 'Ma Documentation'
347 }
348})
349```
350
351Cela permet à l'assistant de répondre en tant qu'"assistant de Ma Documentation" et de parler avec autorité sur votre produit spécifique.
352
353## Accès programmatique
354
355Utilisez le composable `useAssistant` pour contrôler l'assistant programmatiquement :
356
357```vue
358<script setup>
359const { isEnabled, isOpen, open, close, toggle } = useAssistant()
360
361function askQuestion() {
362 // Ouvrir l'assistant avec une question pré-remplie
363 open('Comment configurer le thème ?', true)
364}
365</script>
366
367<template>
368 <UButton v-if="isEnabled" @click="askQuestion">
369 Demander sur les thèmes
370 </UButton>
371</template>
372```
373
374### API du composable
375
376| Propriété | Type | Description |
377| -------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------- |
378| `isEnabled` | `ComputedRef<boolean>` | Si l'assistant est activé (`AI_GATEWAY_API_KEY` ou `VERCEL_OIDC_TOKEN` au build) |
379| `isOpen` | `Ref<boolean>` | Si le panneau est ouvert |
380| `open(message?, clearPrevious?)` | `Function` | Ouvrir l'assistant, optionnellement avec un message |
381| `close()` | `Function` | Fermer le panneau de l'assistant |
382| `toggle()` | `Function` | Basculer l'assistant ouvert/fermé |
383| `clearMessages()` | `Function` | Effacer l'historique de conversation |
docs/content/fr/4.ai/2.mcp.md+273−0
@@ -0,0 +1,273 @@
1---
2title: Serveur MCP
3description: Connectez votre documentation aux outils IA avec un serveur MCP natif.
4navigation:
5 icon: i-lucide-cpu
6---
7
8## À Propos des Serveurs MCP
9
10Le [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) est un protocole ouvert qui crée des connexions standardisées entre les applications IA et les services externes, comme la documentation.
11
12Chaque instance Docus inclut un serveur MCP intégré, préparant votre contenu pour l'écosystème IA plus large où n'importe quel client MCP (comme Claude, Cursor, VS Code, et autres) peut se connecter à votre documentation.
13
14### Comment Fonctionnent les Serveurs MCP
15
16Lorsqu'un serveur MCP est connecté à un outil IA, le LLM peut décider d'utiliser les outils de votre documentation pendant la génération de réponse :
17
18- Le LLM peut **rechercher proactivement dans votre documentation** pendant qu'il génère une réponse, pas seulement quand on lui demande explicitement.
19- Le LLM détermine **quand utiliser les outils** en fonction du contexte de la conversation et de la pertinence de votre documentation.
20- Chaque appel d'outil se produit **pendant le processus de génération**, permettant au LLM d'incorporer des informations en temps réel de votre documentation dans sa réponse.
21
22Par exemple, si un utilisateur pose une question de code et que le LLM détermine que votre documentation est pertinente, il peut rechercher dans vos docs et inclure ces informations dans la réponse sans que l'utilisateur demande explicitement votre documentation.
23
24## Accéder à Votre Serveur MCP
25
26Votre serveur MCP est automatiquement disponible au chemin `/mcp` de l'URL de votre documentation.
27
28::note
29Par exemple, si votre documentation est hébergée à `https://docs.example.com`, l'URL de votre serveur MCP est `https://docs.example.com/mcp`.
30::
31
32## Désactiver le Serveur MCP
33
34Si vous souhaitez désactiver le serveur MCP, vous pouvez le faire dans votre `nuxt.config.ts` :
35
36```ts [nuxt.config.ts]
37export default defineNuxtConfig({
38 mcp: {
39 enabled: false,
40 },
41})
42```
43
44## Outils Intégrés
45
46Docus fournit deux outils par défaut qui permettent à n'importe quel LLM de découvrir et lire votre documentation :
47
48### `list-pages`
49
50Liste toutes les pages de documentation avec leurs titres, chemins et descriptions. Les assistants IA doivent appeler cet outil en premier pour découvrir le contenu disponible.
51
52| Paramètre | Type | Description |
53| --------- | ------------------ | ---------------------------- |
54| `locale` | string (optionnel) | Filtrer les pages par locale |
55
56### `get-page`
57
58Récupère le contenu markdown complet d'une page de documentation spécifique.
59
60| Paramètre | Type | Description |
61| --------- | --------------- | ------------------------------------------------------------- |
62| `path` | string (requis) | Le chemin de la page (ex: `/fr/getting-started/installation`) |
63
64## Configuration
65
66Le serveur MCP Docus utilise le transport HTTP et peut être installé dans différents assistants IA.
67
68### Claude Code
69
70Ajoutez le serveur en utilisant la commande CLI :
71
72```bash
73claude mcp add --transport http my-docs https://docs.example.com/mcp
74```
75
76### Cursor
77
78:install-button{ide="cursor" label="Installer dans Cursor" url="https://docs.example.com/mcp"}
79
80Ou créez/modifiez manuellement `.cursor/mcp.json` à la racine de votre projet :
81
82```json [.cursor/mcp.json]
83{
84 "mcpServers": {
85 "my-docs": {
86 "type": "http",
87 "url": "https://docs.example.com/mcp"
88 }
89 }
90}
91```
92
93### Visual Studio Code
94
95Assurez-vous d'avoir les extensions GitHub Copilot et GitHub Copilot Chat installées.
96
97:install-button{ide="vscode" label="Installer dans VS Code" url="https://docs.example.com/mcp"}
98
99Ou créez/modifiez manuellement le fichier `.vscode/mcp.json` :
100
101```json [.vscode/mcp.json]
102{
103 "servers": {
104 "my-docs": {
105 "type": "http",
106 "url": "https://docs.example.com/mcp"
107 }
108 }
109}
110```
111
112### Windsurf
113
1141. Ouvrez Windsurf et naviguez vers **Settings** > **Windsurf Settings** > **Cascade**
1152. Cliquez sur le bouton **Manage MCPs**, puis sélectionnez l'option **View raw config**
1163. Ajoutez la configuration suivante :
117
118```json [.codeium/windsurf/mcp_config.json]
119{
120 "mcpServers": {
121 "my-docs": {
122 "type": "http",
123 "url": "https://docs.example.com/mcp"
124 }
125 }
126}
127```
128
129### Zed
130
1311. Ouvrez Zed et allez dans **Settings** > **Open Settings**
1322. Naviguez vers le fichier de paramètres JSON
1333. Ajoutez la configuration de serveur de contexte suivante :
134
135```json [.config/zed/settings.json]
136{
137 "context_servers": {
138 "my-docs": {
139 "source": "custom",
140 "command": "npx",
141 "args": ["mcp-remote", "https://docs.example.com/mcp"],
142 "env": {}
143 }
144 }
145}
146```
147
148## Personnalisation
149
150Puisque Docus utilise le module `@nuxtjs/mcp-toolkit`, vous pouvez étendre le serveur MCP avec des outils, ressources, prompts et handlers personnalisés.
151
152### Ajouter des Outils Personnalisés
153
154Créez de nouveaux outils dans le répertoire `server/mcp/tools/` :
155
156```ts [server/mcp/tools/search.ts]
157import { z } from 'zod'
158
159export default defineMcpTool({
160 description: 'Rechercher dans la documentation par mot-clé',
161 inputSchema: {
162 query: z.string().describe('La requête de recherche'),
163 },
164 handler: async ({ query }) => {
165 const results = await searchDocs(query)
166 return {
167 content: [{ type: 'text', text: JSON.stringify(results) }],
168 }
169 },
170})
171```
172
173### Ajouter des Ressources
174
175Exposez des fichiers ou sources de données comme ressources MCP dans le répertoire `server/mcp/resources/`. La façon la plus simple est d'utiliser la propriété `file` :
176
177```ts [server/mcp/resources/changelog.ts]
178export default defineMcpResource({
179 file: 'CHANGELOG.md',
180 metadata: {
181 description: 'Journal des modifications du projet',
182 },
183})
184```
185
186Cela gère automatiquement la génération d'URI, la détection du type MIME et la lecture du fichier.
187
188### Ajouter des Prompts
189
190Créez des prompts réutilisables pour les assistants IA dans le répertoire `server/mcp/prompts/` :
191
192```ts [server/mcp/prompts/migration-help.ts]
193import { z } from 'zod'
194
195export default defineMcpPrompt({
196 description: 'Obtenir de l\'aide pour migrer entre versions',
197 inputSchema: {
198 fromVersion: z.string().describe('Version actuelle'),
199 toVersion: z.string().describe('Version cible'),
200 },
201 handler: async ({ fromVersion, toVersion }) => {
202 return {
203 messages: [{
204 role: 'user',
205 content: {
206 type: 'text',
207 text: `Aidez-moi à migrer de la version ${fromVersion} vers ${toVersion}. Quels sont les changements breaking et les étapes à suivre ?`,
208 },
209 }],
210 }
211 },
212})
213```
214
215### Ajouter des Handlers Personnalisés
216
217Les handlers permettent de créer des endpoints MCP séparés avec leurs propres outils, ressources et prompts. C'est utile pour exposer différentes capacités sur différentes routes.
218
219Par exemple, vous pourriez avoir :
220
221- `/mcp` - Serveur MCP principal de documentation
222- `/mcp/migration` - Serveur MCP dédié à l'assistance à la migration
223
224```ts [server/mcp/migration.ts]
225import { z } from 'zod'
226
227const migrationTool = defineMcpTool({
228 name: 'migrate-v3-to-v4',
229 description: 'Migrer du code de la version 3 vers la version 4',
230 inputSchema: {
231 code: z.string().describe('Le code à migrer'),
232 },
233 handler: async ({ code }) => {
234 // Logique de migration
235 return {
236 content: [{ type: 'text', text: migratedCode }],
237 }
238 },
239})
240
241export default defineMcpHandler({
242 route: '/mcp/migration',
243 name: 'Assistant Migration',
244 version: '1.0.0',
245 tools: [migrationTool],
246})
247```
248
249### Surcharger les Outils Intégrés
250
251Vous pouvez remplacer les outils par défaut `list-pages` ou `get-page` en créant un outil avec le même nom dans votre projet :
252
253```ts [server/mcp/tools/list-pages.ts]
254import { z } from 'zod'
255
256export default defineMcpTool({
257 description: 'Implémentation personnalisée de list pages',
258 inputSchema: {
259 locale: z.string().optional(),
260 category: z.string().optional(),
261 },
262 handler: async ({ locale, category }) => {
263 const pages = await getCustomPageList(locale, category)
264 return {
265 content: [{ type: 'text', text: JSON.stringify(pages) }],
266 }
267 },
268})
269```
270
271::tip{to="https://mcp-toolkit.nuxt.dev/"}
272Consultez la documentation MCP Toolkit pour plus d'informations sur les outils, ressources, prompts, handlers et la configuration avancée.
273::
docs/content/fr/4.ai/3.skills.md+203−0
@@ -0,0 +1,203 @@
1---
2title: Agent Skills
3description: Publiez des skills depuis votre site de documentation pour que les outils d'IA puissent les découvrir et les installer automatiquement.
4navigation:
5 icon: i-lucide-wand-sparkles
6---
7
8## À propos des Agent Skills
9
10Docus découvre automatiquement les skills dans votre dossier `skills/` et les sert à `/.well-known/skills/`, en suivant la [RFC Agent Skills Discovery de Cloudflare](https://github.com/cloudflare/agent-skills-discovery-rfc). Vos skills sont ainsi installables depuis n'importe quelle URL de documentation avec une seule commande.
11
12Les [Agent Skills](https://agentskills.io/) sont un format ouvert et léger pour donner aux agents IA des connaissances spécialisées et des workflows. Un skill est un fichier `SKILL.md` avec un frontmatter YAML qui décrit ce que les agents peuvent faire avec votre produit, accompagné de fichiers de référence optionnels.
13
14::note{to="https://docus.dev/.well-known/skills/index.json"}
15Voir les skills publiés sur ce site de documentation.
16::
17
18## Démarrage rapide
19
20::steps
21### Créer un skill
22
23Ajoutez un dossier `skills/` à la racine de votre projet Docus avec un sous-dossier contenant un fichier `SKILL.md` :
24
25```bash
26my-docs/
27└── skills/
28 └── my-product/
29 └── SKILL.md
30```
31
32### Écrire votre SKILL.md
33
34Suivez la [spécification agentskills.io](https://agentskills.io/specification). Le seul champ frontmatter obligatoire est `description` — `name` prend par défaut le nom du dossier s'il est omis :
35
36```md [skills/my-product/SKILL.md]
37---
38name: my-product
39description: Build and deploy apps with My Product. Use when creating projects, configuring settings, or troubleshooting issues.
40---
41
42# My Product
43
44## Getting Started
45
46Create a new project:
47
48\`\`\`bash
49npx create-my-product my-app
50\`\`\`
51```
52
53### Déployer
54
55Déployez votre documentation. Docus sert automatiquement vos skills à `/.well-known/skills/`.
56
57### Partager avec vos utilisateurs
58
59Les utilisateurs peuvent installer vos skills avec une seule commande :
60
61```bash
62npx skills add https://your-docs-domain.com
63```
64
65Le CLI détecte les agents installés (Claude Code, Cursor, Windsurf, et autres) et installe le skill pour chacun.
66::
67
68## Structure du dossier
69
70Un dossier de skill peut contenir des fichiers de support en plus du `SKILL.md` :
71
72```bash
73skills/
74└── my-product/
75 ├── SKILL.md # Requis : instructions + métadonnées
76 ├── references/ # Optionnel : documentation additionnelle
77 │ ├── api.md
78 │ └── configuration.md
79 ├── scripts/ # Optionnel : code exécutable
80 │ └── setup.sh
81 └── assets/ # Optionnel : templates, schémas
82 └── config.template.yaml
83```
84
85Tous les fichiers sont automatiquement listés dans le catalogue `index.json` et servis à leurs chemins respectifs sous `/.well-known/skills/{skill-name}/`.
86
87::tip
88Gardez votre `SKILL.md` principal sous 500 lignes. Déplacez le matériel de référence détaillé dans des fichiers séparés dans `references/` — les agents les chargent à la demande, donc des fichiers plus petits signifient moins d'utilisation de contexte.
89::
90
91## Configuration
92
93Par défaut, Docus cherche les skills dans le dossier `skills/` à la racine de votre projet. Vous pouvez modifier cela avec `docus.skills.dir` dans votre `nuxt.config.ts` :
94
95```ts [nuxt.config.ts]
96export default defineNuxtConfig({
97 docus: {
98 skills: {
99 dir: 'agent-skills'
100 }
101 }
102})
103```
104
105## Exigences pour les noms
106
107Les noms de skills doivent suivre la [spécification de nommage Agent Skills](https://agentskills.io/specification#name-field) :
108
109- 1-64 caractères
110- Lettres minuscules, chiffres et tirets uniquement (`a-z`, `0-9`, `-`)
111- Ne doit pas commencer ou finir par un tiret
112- Ne doit pas contenir de tirets consécutifs (`--`)
113- Le champ `name` dans le frontmatter doit correspondre au nom du dossier parent
114
115::note
116Les skills qui échouent à la validation sont ignorés — vérifiez la sortie de votre build pour les avertissements.
117::
118
119## Skills multiples
120
121Vous pouvez publier plusieurs skills depuis un seul site de documentation :
122
123```bash
124skills/
125├── my-product/
126│ └── SKILL.md
127├── create-project/
128│ ├── SKILL.md
129│ └── references/
130│ └── templates.md
131└── migration-guide/
132 └── SKILL.md
133```
134
135Tous les skills apparaissent dans le catalogue `index.json` et sont installables indépendamment.
136
137## Prévisualisation et versioning
138
139Comme les skills vivent dans votre dépôt aux côtés de votre documentation, ils bénéficient de votre workflow Git existant :
140
141- **Previews de branches** : Testez les modifications de skills sur des déploiements de preview avant de merger. Sur Vercel, chaque pull request obtient une URL de preview où vous pouvez vérifier que vos skills fonctionnent correctement :
142
143```bash
144npx skills add https://my-docs-git-feat-new-skill.vercel.app
145```
146
147- **Contrôle de version** : Suivez les changements de skills avec l'historique Git, reviewez les diffs dans les pull requests, et revenez en arrière si nécessaire.
148- **CI/CD** : Les skills sont build et déployés automatiquement avec votre documentation — pas d'étape de publication séparée.
149
150::tip
151Utilisez les URLs de preview pour tester les skills avec vos outils d'IA avant de passer en production. Cela garantit que les instructions de vos skills fonctionnent correctement avec de vrais agents.
152::
153
154## Fonctionnement de la découverte
155
156Cette fonctionnalité implémente la [RFC Agent Skills Discovery de Cloudflare](https://github.com/cloudflare/agent-skills-discovery-rfc), qui étend la [RFC 8615](https://datatracker.ietf.org/doc/html/rfc8615) (le même standard `.well-known` derrière la validation de certificats ACME et `security.txt`).
157
158Docus scanne votre dossier `skills/` au moment du build et génère deux types d'endpoints :
159
160### Index de découverte
161
162```
163GET /.well-known/skills/index.json
164```
165
166Retourne un catalogue JSON listant tous les skills disponibles avec leurs descriptions et fichiers :
167
168```json
169{
170 "skills": [
171 {
172 "name": "my-product",
173 "description": "Build and deploy apps with My Product.",
174 "files": ["SKILL.md", "references/api.md"]
175 }
176 ]
177}
178```
179
180### Fichiers de skills
181
182```
183GET /.well-known/skills/{skill-name}/SKILL.md
184GET /.well-known/skills/{skill-name}/references/api.md
185```
186
187Les fichiers individuels sont servis avec les types de contenu appropriés (`text/markdown` pour les `.md`, `application/json` pour les `.json`, etc.).
188
189## Comparaison avec llms.txt
190
191`llms.txt` et les Agent Skills aident les outils d'IA à travailler avec votre documentation, mais ils servent des objectifs différents :
192
193| | llms.txt | Agent Skills |
194|---|---|---|
195| **Objectif** | Répertoire de toutes les pages de documentation | Résumé des capacités avec des instructions actionnables |
196| **Contenu** | Titres, descriptions et liens des pages | Workflows étape par étape, exemples de code, contraintes |
197| **Chargé** | Au moment de la découverte | À la demande, quand le skill est activé |
198| **Format** | Texte brut avec des liens | Markdown avec frontmatter YAML |
199| **Idéal pour** | Aider les agents à trouver de l'information | Apprendre aux agents comment utiliser votre produit |
200
201::tip
202Utilisez les deux ensemble : `llms.txt` indique aux agents où trouver l'information, tandis que les skills leur indiquent ce qu'ils peuvent accomplir et comment.
203::
docs/content/fr/4.ai/4.llms.md+125−0
@@ -0,0 +1,125 @@
1---
2title: Intégration LLMs
3description: Docus génère des fichiers de contenu prêts pour l'IA grâce au module Nuxt LLMs
4navigation:
5 icon: i-lucide-message-circle-code
6---
7
8Docus intègre `nuxt-llms` par défaut pour préparer votre contenu aux Large Language Models (LLMs). Toutes vos pages de documentation sont injectées et les fichiers `/llms.txt` et `/llms-full.txt` sont automatiquement générés et pré-rendus.
9
10::note{to="/llms.txt"}
11Consultez le fichier `/llms.txt` généré pour la documentation Docus elle-même.
12::
13
14## Valeurs par défaut
15
16Voici les valeurs par défaut utilisées pour générer le fichier `/llms.txt` :
17
18- `domain` → calculé en fonction de votre plateforme de déploiement (ou via la variable d'environnement `NUXT_SITE_URL`)
19- `title` → extrait de votre `package.json`
20- `description` → extrait de votre `package.json`
21- `full.title` → extrait de votre `package.json`
22- `full.description` → extrait de votre `package.json`
23
24## Personnalisation
25
26Vous pouvez surcharger vos données LLMs depuis le `nuxt.config.ts` :
27
28```ts [nuxt.config.ts]
29export default defineNuxtConfig({
30 llms: {
31 domain: 'https://votre-site.com',
32 title: 'Nom de votre site',
33 description: 'Une brève description de votre site',
34 full: {
35 title: 'Nom de votre site',
36 description: 'Une brève description de votre site',
37 },
38 },
39})
40```
41
42## Accès au Markdown brut
43
44Lorsque `nuxt-llms` est activé, Docus expose également un endpoint markdown brut permettant aux agents IA de récupérer les fichiers source prêts pour les LLMs sans passer par le pipeline de rendu complet. Cela réduit l'utilisation de tokens et améliore la vitesse de réponse pour les outils IA consommant votre documentation.
45
46### Fonctionnement
47
48- **Endpoint** : `/raw/<chemin-contenu>.md` — utilisez le même chemin que l'URL de la page, supprimez le `/index` final et conservez l'extension `.md`
49- **Content-Type** : `text/markdown; charset=utf-8`
50- **Enrichissement automatique** : si le document demandé n'a pas de titre ou de description de premier niveau, la route ajoute automatiquement le titre et la description au début du corps markdown
51- **Intégration LLMs.txt** : les liens des documents dans `llms.txt` sont automatiquement réécrits vers l'endpoint `/raw/...md`, afin que les agents récupèrent du markdown compact au lieu du HTML complet
52
53::note{to="/raw/fr/ai/llms.md"}
54Essayez d'accéder à la version Markdown brute de cette page.
55::
56
57### Configuration
58
59Vous pouvez personnaliser le comportement du markdown brut depuis votre `nuxt.config.ts` :
60
61```ts [nuxt.config.ts]
62export default defineNuxtConfig({
63 llms: {
64 contentRawMarkdown: {
65 // Empêcher l'exposition de certaines collections de pages
66 excludeCollections: ['blog'],
67 // Conserver les liens llms.txt pointant vers les pages rendues plutôt que le markdown brut
68 rewriteLLMSTxt: false,
69 },
70 },
71})
72```
73
74Pour désactiver complètement l'accès au markdown brut :
75
76```ts [nuxt.config.ts]
77export default defineNuxtConfig({
78 llms: {
79 contentRawMarkdown: false,
80 },
81})
82```
83
84## Redirection Markdown
85
86::note
87Cette fonctionnalité n'est disponible que lorsque Docus est déployé sur Vercel. Nous pourrons la rendre agnostique une fois que Nitro v3 prendra en charge les réécritures globales pour plusieurs fournisseurs.
88::
89
90Lorsqu'il est déployé sur Vercel, Docus configure automatiquement un routage intelligent pour servir du contenu markdown aux agents IA et aux outils en ligne de commande.
91
92### Pourquoi ?
93
94Les agents comme Claude Code utilisent les en-têtes `Accept: text/markdown` par défaut, retourner du Markdown brut permet d'économiser beaucoup de transfert de données et de tokens dans le processus.
95
96### Comment ?
97
98Docus détecte les requêtes provenant d'agents IA et d'outils en ligne de commande à l'aide des en-têtes HTTP :
99
100- **En-tête Accept** : Les requêtes avec `Accept: text/markdown` sont automatiquement redirigées
101- **Détection du user-agent** : Les requêtes `curl` en tant qu'agents sont automatiquement redirigées
102
103### Règles de redirection
104
105- **Chemin racine** : `/` → `/llms.txt`
106- **Pages de documentation** : `/{chemin}` → `/raw/{chemin}.md`
107
108### Exemple d'utilisation
109
110```bash
111# Obtenir llms.txt depuis la page d'accueil
112curl -H "Accept: text/markdown" https://docus.dev/
113
114# Obtenir llms.txt depuis la page d'accueil localisée
115curl -H "Accept: text/markdown" https://docus.dev/fr
116
117# Obtenir le markdown brut d'une page de documentation
118curl -H "Accept: text/markdown" https://docus.dev/fr/ai/llms
119```
120
121Toutes ces commandes retourneront du contenu markdown au lieu de HTML.
122
123::tip{to="https://github.com/nuxt-content/nuxt-llms"}
124Consultez la documentation nuxt-llms pour plus d'informations sur le module.
125::
docs/content/fr/index.md+363−0
@@ -0,0 +1,363 @@
1---
2seo:
3 title: Rédigez votre documentation en Markdown
4 description: Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé. Docus intègre le meilleur de l'écosystème Nuxt.
5---
6
7::u-page-hero
8#title
9Créez votre documentation en Markdown
10
11#description
12Publiez instantanément une documentation élégante, optimisée pour le SEO, avec design déjà pensé. :br Docus intègre le meilleur de l’écosystème Nuxt.
13
14#links
15 :::u-button
16 ---
17 color: neutral
18 size: xl
19 to: /fr/getting-started/installation
20 trailing-icon: i-lucide-arrow-right
21 ---
22 Commencer
23 :::
24
25 :::u-button
26 ---
27 color: neutral
28 icon: simple-icons-github
29 size: xl
30 to: https://github.com/nuxt-content/docus
31 variant: outline
32 ---
33 Voir sur GitHub
34 :::
35
36#headline
37 :::u-button
38 ---
39 size: sm
40 to: https://github.com/nuxt-content/docus/releases/tag/v5.0.0
41 variant: outline
42 ---
43 Docus v5 →
44 :::
45::
46
47::u-page-section
48 :::u-page-grid
49 ::::u-page-card
50 ---
51 spotlight: true
52 class: group col-span-2 lg:col-span-1
53 target: _blank
54 to: https://nuxt.com
55 ---
56 :floating-nuxt
57
58 #title
59 Construit avec [Nuxt](https://nuxt.com)
60
61 #description
62 Optimisé par votre meta framework Vue préféré. Docus vous donne tout ce dont vous avez besoin pour créer des sites rapides, performants et optimisés pour le SEO.
63 ::::
64
65 ::::u-page-card
66 ---
67 spotlight: true
68 class: col-span-2
69 target: _blank
70 to: https://ui.nuxt.com
71 ---
72 :::::u-color-mode-image
73 ---
74 height: 320
75 width: 859
76 alt: Magnifique visuel propulsé par UI
77 class: w-full h-80 object-cover rounded-lg
78 dark: /landing/dark/templates-ui-pro.webp
79 light: /landing/light/templates-ui-pro.webp
80 ---
81 :::::
82
83 #title
84 Stylisé par [Nuxt UI](https://ui.nuxt.com)
85
86 #description
87 Sexy, minimaliste et personnalisable. Docus intègre Nuxt UI pour vous offrir la meilleure expérience pour écrire une documentation sans boilerplate, concentrez-vous simplement sur votre contenu.
88 ::::
89
90 ::::u-page-card
91 ---
92 spotlight: true
93 class: col-span-2
94 target: _blank
95 ---
96 :::::tabs
97 ::::::tabs-item{.mt-5 icon="i-lucide-eye" label="Aperçu"}
98 :::::::div{.flex.flex-col.gap-4}
99 ::::::::note{.my-0}
100 Voici des informations supplémentaires pour vous.
101 ::::::::
102
103 ::::::::tip{.my-0}
104 Voici une suggestion utile.
105 ::::::::
106
107 ::::::::warning{.my-0}
108 Faites attention à cette action car elle pourrait avoir des résultats inattendus.
109 ::::::::
110
111 ::::::::caution{.my-0}
112 Cette action est irréversible.
113 ::::::::
114 :::::::
115 ::::::
116
117 ::::::tabs-item
118 ---
119 class: mt-5 mb-2 text-xs overflow-x-auto
120 icon: i-lucide-code
121 label: Code
122 ---
123```mdc
124::note
125Voici des informations supplémentaires.
126::
127
128::tip
129Voici une suggestion utile.
130::
131
132::warning
133Faites attention à cette action car elle pourrait avoir des résultats inattendus.
134::
135
136::caution
137Cette action est irréversible.
138::
139```
140 ::::::
141 :::::
142
143 #title
144 Markdown amélioré par [Nuxt Content](https://content.nuxt.com)
145
146 #description
147 La seule chose dont vous devez vous soucier est d'écrire votre contenu. Rédigez vos pages en Markdown et intégrer des composants Nuxt UI ou des composants Vue personnalisés. La structure, le routing et le rendu sont gérés pour vous.
148 ::::
149
150 ::::u-page-card
151 ---
152 class: col-span-2 md:col-span-1
153 ---
154 :assistant-demo
155
156 #title
157 [Assistant]{.text-primary} intégré
158
159 #description
160 Permettez à vos visiteurs de poser des questions sur votre documentation en langage naturel. L'assistant recherche votre contenu et fournit des réponses précises avec les sources citées.
161 ::::
162
163 ::::u-page-card
164 ---
165 spotlight: true
166 class: col-span-2 md:col-span-1 min-h-[450px]
167 target: _blank
168 ---
169 :color-mode-switch
170
171 #title
172 [Nuxt Color](https://color-mode.nuxtjs.org) intégration
173
174 #description
175 Light et dark mode intégré, aucune configuration nécessaire.
176 ::::
177
178 ::::u-page-card
179 ---
180 spotlight: true
181 class: col-span-2
182 target: _blank
183 ---
184 :::::u-color-mode-image
185 ---
186 height: 554
187 width: 859
188 alt: Navigation intégrée et recherche plein texte
189 class: rounded-lg
190 dark: /landing/dark/command-menu.png
191 format: webp
192 light: /landing/light/command-menu.png
193 loading: lazy
194 ---
195 :::::
196
197 #title
198 Navigation intégrée et [recherche textuelle]{.text-primary}
199
200 #description
201 Concentrez-vous uniquement sur votre contenu, Docus génère automatiquement une modale de recherche et la navigation latérale pour vous.
202 ::::
203
204 ::::u-page-card
205 ---
206 spotlight: true
207 class: col-span-2
208 target: _blank
209 ---
210 :::::browser-frame
211 :video{.rounded-md controls loop playsinline src="https://res.cloudinary.com/nuxt/video/upload/v1767647099/studio/studio-demo_eiofld.mp4"}
212 :::::
213
214 #title
215 Edition en production avec [Nuxt Studio](https://nuxt.studio)
216
217 #description
218 Rédigez et gérez votre contenu visuellement, sans aucune connaissance de Markdown requise. Laissez vos collègues non techniques collaborer sur la documentation et intégrer des composants Vue sans compétences en code.
219 ::::
220
221 ::::u-page-card
222 ---
223 spotlight: true
224 class: col-span-2 lg:col-span-1
225 target: _blank
226 to: https://image.nuxt.com/
227 ---
228 :::::div{.flex-1.flex.items-center.justify-center}
229 ::::::u-color-mode-image
230 ---
231 alt: Visuel Nuxt Image
232 class: w-[30%] lg:w-[70%] my-12 lg:my-0
233 dark: /landing/dark/nuxt-image.svg
234 light: /landing/light/nuxt-image.svg
235 ---
236 ::::::
237 :::::
238
239 #title
240 Optimisation [Nuxt Image](https://image.nuxt.com)
241
242 #description
243 Docus convertit automatiquement les images Markdown pour utiliser `<NuxtImg>`.
244 ::::
245
246 ::::u-page-card
247 ---
248 spotlight: true
249 class: col-span-2 lg:col-span-1
250 target: _blank
251 to: /fr/concepts/internationalization
252 ---
253 :::::u-color-mode-image
254 ---
255 height: 195
256 width: 403
257 alt: Illustration de l'internationalisation
258 class: w-full my-12 lg:my-0
259 dark: /landing/dark/i18n.svg
260 light: /landing/light/i18n.svg
261 ---
262 :::::
263
264 #title
265 Support d' [internationalisation]{.text-primary}
266
267 #description
268 Support i18n intégré avec routage automatique et gestion de contenu. Créez une documentation multilingue sans effort.
269 ::::
270
271 ::::u-page-card
272 ---
273 spotlight: true
274 class: col-span-2
275 target: _blank
276 to: /fr/ai/mcp
277 ---
278 :::::u-color-mode-image
279 ---
280 height: 400
281 width: 859
282 alt: Illustration du serveur MCP natif et contenu prêt pour l'IA
283 class: w-full h-auto rounded-lg
284 dark: /landing/dark/mcp.svg
285 light: /landing/light/mcp.svg
286 ---
287 :::::
288
289 #title
290 Prêt pour l' [IA avec MCP natif]{.text-primary}
291
292 #description
293 Serveur Model Context Protocol intégré qui connecte votre documentation aux outils IA comme Cursor, VS Code et Claude. Génération automatique des fichiers `llms.txt` et `llms-full.txt` pour une intégration LLM transparente.
294 ::::
295
296 ::::u-page-card
297 ---
298 spotlight: true
299 class: col-span-2
300 target: _blank
301 ---
302 ```ts [app.config.ts]
303 export default defineAppConfig({
304 ui: {
305 colors: {
306 primary: 'green',
307 secondary: 'sky',
308 },
309 },
310 socials: {
311 x: 'https://x.com/nuxt_js',
312 nuxt: 'https://nuxt.com'
313 }
314 })
315 ```
316
317 #title
318 Personnalisation avec [Nuxt App Config](https://nuxt.com/docs/4.x/getting-started/configuration#app-configuration)
319
320 #description
321 Mettez à jour les couleurs, les liens sociaux, les logos ou même le style de vos composants globalement via le `app.config.ts`, sans modification directe du code.
322 ::::
323
324 ::::u-page-card
325 ---
326 spotlight: true
327 class: col-span-2 lg:col-span-1
328 ---
329 :::::div{.flex-1.flex.flex-col.items-center.justify-center.py-8.text-center}
330 ::::::div{.flex.flex-col.gap-3.w-full.max-w-xs}
331 :::::::u-button
332 ---
333 block: true
334 color: primary
335 size: lg
336 to: /fr/getting-started/introduction
337 trailing-icon: i-lucide-arrow-right
338 ---
339 Lire la documentation
340 :::::::
341 :::::::u-button
342 ---
343 block: true
344 color: neutral
345 size: lg
346 target: _blank
347 to: https://github.com/nuxt-content/docus
348 icon: i-simple-icons-github
349 variant: outline
350 ---
351 Voir sur GitHub
352 :::::::
353 ::::::
354 :::::
355
356 #title
357 [Prêt]{.text-primary} à commencer ?
358
359 #description
360 Explorez toutes les fonctionnalités qui font de Docus la solution idéale pour votre documentation.
361 ::::
362 :::
363::
docs/nuxt.config.ts+50−0
@@ -0,0 +1,50 @@
1export default defineNuxtConfig({
2 extends: ['docus'],
3 modules: ['@nuxtjs/i18n', 'nuxt-studio'],
4 site: {
5 name: 'Docs',
6 },
7 mdc: {
8 highlight: {
9 shikiEngine: 'javascript',
10 },
11 },
12 compatibilityDate: '2025-07-18',
13 vite: {
14 build: {
15 sourcemap: false,
16 },
17 },
18 i18n: {
19 defaultLocale: 'en',
20 locales: [{
21 code: 'en',
22 name: 'English',
23 }, {
24 code: 'fr',
25 name: 'Français',
26 }],
27 },
28 llms: {
29 domain: 'https://krisyotam.com',
30 title: 'Docs',
31 description: 'Documentation template for Kris Yotam projects.',
32 full: {
33 title: 'Docs',
34 description: 'Documentation template for Kris Yotam projects.',
35 },
36 },
37 mcp: {
38 name: 'Docs documentation',
39 browserRedirect: '/en/ai/mcp',
40 },
41 studio: {
42 route: '/admin',
43 repository: {
44 provider: 'github',
45 owner: 'krisyotam',
46 repo: 'docs',
47 rootDir: 'docs',
48 },
49 },
50})
docs/package.json+23−0
@@ -0,0 +1,23 @@
1{
2 "name": "docs-app",
3 "description": "Example documentation app for the Docs template",
4 "type": "module",
5 "scripts": {
6 "build": "nuxt build",
7 "dev": "nuxt dev"
8 },
9 "dependencies": {
10 "@nuxt/ui": "^4.9.0",
11 "@nuxtjs/i18n": "^10.4.1",
12 "@vercel/analytics": "^2.0.1",
13 "@vercel/speed-insights": "^2.0.0",
14 "docus": "workspace:*",
15 "nuxt": "4.4.8",
16 "nuxt-studio": "^1.7.0",
17 "tailwindcss": "^4.3.2"
18 },
19 "devDependencies": {
20 "@ai-sdk/vue": "^4.0.29",
21 "ai": "^7.0.29"
22 }
23}
docs/public/documentation/app-footer-left.webp+0−0

Binary file not shown.

docs/public/documentation/app-footer-right.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-body.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-center.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-cta.webp+0−0

Binary file not shown.

docs/public/documentation/app-header-logo.webp+0−0

Binary file not shown.

docs/public/documentation/app-page-header-links.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-left-body.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-left-top.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-right-bottom.webp+0−0

Binary file not shown.

docs/public/documentation/docs-aside-right.png+0−0

Binary file not shown.

docs/public/documentation/frontmatter-preview-title-description.png+0−0

Binary file not shown.

docs/public/documentation/markdown-editor-studio.png+0−0

Binary file not shown.

docs/public/documentation/mountains.webp+0−0

Binary file not shown.

docs/public/documentation/nuxt-studio-module-alpha.png+0−0

Binary file not shown.

docs/public/documentation/og-image-example.png+0−0

Binary file not shown.

docs/public/documentation/preview-studio.png+0−0

Binary file not shown.

docs/public/documentation/sub-navigation.png+0−0

Binary file not shown.

docs/public/documentation/visual-editor-studio.png+0−0

Binary file not shown.

docs/public/favicon.ico+0−0

Binary file not shown.

docs/public/favicon.svg+3−0
@@ -0,0 +1,3 @@
1<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2 <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="black"/>
3</svg>
docs/public/icon.png+0−0

Binary file not shown.

docs/public/landing/dark/command-menu.png+0−0

Binary file not shown.

docs/public/landing/dark/i18n.svg+126−0
@@ -0,0 +1,126 @@
1<svg width="403" height="195" viewBox="0 0 403 195" fill="none" xmlns="http://www.w3.org/2000/svg">
2<g clip-path="url(#clip0_566_823)">
3<g clip-path="url(#clip1_566_823)">
4<rect x="209" width="194" height="195" rx="8" fill="url(#paint0_linear_566_823)" fill-opacity="0.2"/>
5<rect x="209.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint1_linear_566_823)" stroke-opacity="0.4"/>
6<rect x="312" y="54" width="73" height="36" rx="5" fill="white" fill-opacity="0.05"/>
7<path d="M238.781 30H246.588C246.836 30 247.079 29.9354 247.294 29.8125C247.509 29.6896 247.687 29.5128 247.811 29.3C247.935 29.0871 248 28.8457 248 28.5999C248 28.3542 247.934 28.1128 247.81 27.9001L242.568 18.9001C242.444 18.6873 242.265 18.5105 242.051 18.3877C241.836 18.2648 241.592 18.2001 241.345 18.2001C241.097 18.2001 240.853 18.2648 240.638 18.3877C240.424 18.5105 240.246 18.6873 240.122 18.9001L238.781 21.2028L236.16 16.6998C236.036 16.487 235.858 16.3104 235.643 16.1875C235.428 16.0647 235.185 16 234.937 16C234.689 16 234.445 16.0647 234.231 16.1875C234.016 16.3104 233.837 16.487 233.713 16.6998L227.19 27.9001C227.066 28.1128 227 28.3542 227 28.5999C227 28.8457 227.065 29.0871 227.189 29.3C227.313 29.5128 227.491 29.6896 227.706 29.8125C227.921 29.9354 228.164 30 228.412 30H233.312C235.254 30 236.686 29.1547 237.671 27.5057L240.063 23.4001L241.344 21.2028L245.189 27.8028H240.063L238.781 30ZM233.233 27.8005L229.813 27.7998L234.939 19.0004L237.497 23.4001L235.784 26.3407C235.13 27.4107 234.387 27.8005 233.233 27.8005Z" fill="white" fill-opacity="0.1"/>
8<line x1="282.5" y1="23.5" x2="298.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
9<line x1="312.5" y1="23.5" x2="328.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
10<rect x="355" y="18" width="30" height="9" rx="2.93635" fill="white" fill-opacity="0.1"/>
11<line x1="229.5" y1="55.5" x2="244.5" y2="55.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
12<line x1="229.5" y1="69.5" x2="286.5" y2="69.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
13<line x1="229.5" y1="83.5" x2="286.5" y2="83.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
14<g clip-path="url(#clip2_566_823)">
15<line x1="229" y1="121" x2="238" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
16<line x1="229" y1="131" x2="266" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
17<line x1="229" y1="141" x2="266" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
18</g>
19<g clip-path="url(#clip3_566_823)">
20<line x1="287" y1="121" x2="296" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
21<line x1="287" y1="131" x2="324" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
22<line x1="287" y1="141" x2="324" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
23</g>
24<g clip-path="url(#clip4_566_823)">
25<line x1="346" y1="121" x2="355" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
26<line x1="346" y1="131" x2="383" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
27<line x1="346" y1="141" x2="383" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
28</g>
29</g>
30<g clip-path="url(#clip5_566_823)">
31<rect width="194" height="195" rx="8" fill="url(#paint2_linear_566_823)" fill-opacity="0.2"/>
32<rect x="0.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint3_linear_566_823)" stroke-opacity="0.4"/>
33<rect x="103" y="54" width="73" height="36" rx="5" fill="white" fill-opacity="0.05"/>
34<path d="M29.7811 30H37.5876C37.8356 30 38.0792 29.9354 38.2939 29.8125C38.5086 29.6896 38.6869 29.5128 38.8108 29.3C38.9347 29.0871 38.9999 28.8457 38.9998 28.5999C38.9997 28.3542 38.9343 28.1128 38.8102 27.9001L33.5676 18.9001C33.4437 18.6873 33.2654 18.5105 33.0507 18.3877C32.836 18.2648 32.5925 18.2001 32.3446 18.2001C32.0967 18.2001 31.8532 18.2648 31.6385 18.3877C31.4238 18.5105 31.2455 18.6873 31.1216 18.9001L29.7811 21.2028L27.1602 16.6998C27.0361 16.487 26.8578 16.3104 26.6431 16.1875C26.4283 16.0647 26.1847 16 25.9368 16C25.6889 16 25.4453 16.0647 25.2305 16.1875C25.0158 16.3104 24.8375 16.487 24.7134 16.6998L18.1896 27.9001C18.0655 28.1128 18.0001 28.3542 18 28.5999C17.9999 28.8457 18.0651 29.0871 18.189 29.3C18.3129 29.5128 18.4912 29.6896 18.7059 29.8125C18.9207 29.9354 19.1643 30 19.4122 30H24.3125C26.254 30 27.6859 29.1547 28.6711 27.5057L31.063 23.4001L32.3442 21.2028L36.1893 27.8028H31.063L29.7811 30ZM24.2326 27.8005L20.8128 27.7998L25.9391 19.0004L28.4969 23.4001L26.7843 26.3407C26.13 27.4107 25.3867 27.8005 24.2326 27.8005Z" fill="white" fill-opacity="0.1"/>
35<line x1="73.5" y1="23.5" x2="89.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
36<line x1="103.5" y1="23.5" x2="119.5" y2="23.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
37<rect x="146" y="18" width="30" height="9" rx="2.93635" fill="white" fill-opacity="0.1"/>
38<line x1="20.5" y1="55.5" x2="35.5" y2="55.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
39<line x1="20.5" y1="69.5" x2="77.5" y2="69.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
40<line x1="20.5" y1="83.5" x2="77.5" y2="83.5" stroke="white" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
41<g clip-path="url(#clip6_566_823)">
42<line x1="20" y1="121" x2="29" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
43<line x1="20" y1="131" x2="57" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
44<line x1="20" y1="141" x2="57" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
45</g>
46<g clip-path="url(#clip7_566_823)">
47<line x1="78" y1="121" x2="87" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
48<line x1="78" y1="131" x2="115" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
49<line x1="78" y1="141" x2="115" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
50</g>
51<g clip-path="url(#clip8_566_823)">
52<line x1="137" y1="121" x2="146" y2="121" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
53<line x1="137" y1="131" x2="174" y2="131" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
54<line x1="137" y1="141" x2="174" y2="141" stroke="white" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
55</g>
56</g>
57<g filter="url(#filter0_d_566_823)">
58<g clip-path="url(#clip9_566_823)">
59<foreignObject x="140.75" y="30.75" width="122.5" height="122.5"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(20.62px);clip-path:url(#bgblur_10_566_823_clip_path);height:100%;width:100%"></div></foreignObject><g data-figma-bg-blur-radius="41.25">
60<rect x="182" y="72" width="40" height="40" rx="7.5" fill="white" fill-opacity="0.2"/>
61<rect x="182.5" y="72.5" width="39" height="39" rx="7" stroke="white" stroke-opacity="0.4"/>
62</g>
63<path d="M215.9 102.55L208.9 88.55C208.814 88.3854 208.685 88.2472 208.526 88.1504C208.368 88.0535 208.186 88.0015 208 88C207.815 87.9996 207.634 88.0509 207.478 88.1481C207.321 88.2453 207.194 88.3846 207.112 88.55L204.4 93.975C202.269 93.8621 200.218 93.1277 198.5 91.8625C200.516 89.7126 201.738 86.9387 201.962 84H205C205.265 84 205.52 83.8946 205.707 83.7071C205.895 83.5196 206 83.2652 206 83C206 82.7348 205.895 82.4804 205.707 82.2929C205.52 82.1054 205.265 82 205 82H198V80C198 79.7348 197.895 79.4804 197.707 79.2929C197.52 79.1054 197.265 79 197 79C196.735 79 196.48 79.1054 196.293 79.2929C196.105 79.4804 196 79.7348 196 80V82H189C188.735 82 188.48 82.1054 188.293 82.2929C188.105 82.4804 188 82.7348 188 83C188 83.2652 188.105 83.5196 188.293 83.7071C188.48 83.8946 188.735 84 189 84H199.95C199.734 86.4501 198.694 88.7546 197 90.5375C195.945 89.4273 195.135 88.1069 194.625 86.6625C194.535 86.4122 194.35 86.2077 194.11 86.094C193.87 85.9803 193.594 85.9667 193.344 86.0562C193.093 86.1458 192.889 86.331 192.775 86.5713C192.662 86.8116 192.648 87.0872 192.738 87.3375C193.337 89.0199 194.278 90.5604 195.5 91.8625C193.619 93.255 191.34 94.0045 189 94C188.735 94 188.48 94.1054 188.293 94.2929C188.105 94.4804 188 94.7348 188 95C188 95.2652 188.105 95.5196 188.293 95.7071C188.48 95.8946 188.735 96 189 96C191.901 96.0012 194.718 95.0283 197 93.2375C198.862 94.6963 201.089 95.6172 203.438 95.9L200.113 102.55C199.994 102.787 199.973 103.062 200.055 103.314C200.137 103.567 200.315 103.777 200.55 103.9C200.79 104.014 201.064 104.031 201.316 103.947C201.568 103.864 201.777 103.685 201.9 103.45L203.625 100H212.388L214.112 103.45C214.194 103.615 214.321 103.755 214.478 103.852C214.634 103.949 214.815 104 215 104C215.155 103.997 215.308 103.963 215.45 103.9C215.685 103.777 215.864 103.568 215.947 103.316C216.031 103.064 216.014 102.79 215.9 102.55ZM204.625 98L208 91.2375L211.388 98H204.625Z" fill="white"/>
64</g>
65</g>
66</g>
67<defs>
68<filter id="filter0_d_566_823" x="178" y="72" width="48" height="48" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
69<feFlood flood-opacity="0" result="BackgroundImageFix"/>
70<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
71<feOffset dy="4"/>
72<feGaussianBlur stdDeviation="2"/>
73<feComposite in2="hardAlpha" operator="out"/>
74<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
75<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_566_823"/>
76<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_566_823" result="shape"/>
77</filter>
78<clipPath id="bgblur_10_566_823_clip_path" transform="translate(-140.75 -30.75)"><rect x="182" y="72" width="40" height="40" rx="7.5"/>
79</clipPath><linearGradient id="paint0_linear_566_823" x1="306" y1="0" x2="306" y2="88.7178" gradientUnits="userSpaceOnUse">
80<stop stop-color="white"/>
81<stop offset="1" stop-color="white" stop-opacity="0"/>
82</linearGradient>
83<linearGradient id="paint1_linear_566_823" x1="306" y1="-1.12777e-07" x2="306.053" y2="165.969" gradientUnits="userSpaceOnUse">
84<stop stop-color="white"/>
85<stop offset="1" stop-color="white" stop-opacity="0"/>
86</linearGradient>
87<linearGradient id="paint2_linear_566_823" x1="97" y1="0" x2="97" y2="88.7178" gradientUnits="userSpaceOnUse">
88<stop stop-color="white"/>
89<stop offset="1" stop-color="white" stop-opacity="0"/>
90</linearGradient>
91<linearGradient id="paint3_linear_566_823" x1="97" y1="-1.12777e-07" x2="97.0531" y2="165.969" gradientUnits="userSpaceOnUse">
92<stop stop-color="white"/>
93<stop offset="1" stop-color="white" stop-opacity="0"/>
94</linearGradient>
95<clipPath id="clip0_566_823">
96<rect width="403" height="195" fill="white"/>
97</clipPath>
98<clipPath id="clip1_566_823">
99<rect width="194" height="195" fill="white" transform="translate(209)"/>
100</clipPath>
101<clipPath id="clip2_566_823">
102<rect width="41" height="24" fill="white" transform="translate(227 119)"/>
103</clipPath>
104<clipPath id="clip3_566_823">
105<rect width="41" height="24" fill="white" transform="translate(285 119)"/>
106</clipPath>
107<clipPath id="clip4_566_823">
108<rect width="41" height="24" fill="white" transform="translate(344 119)"/>
109</clipPath>
110<clipPath id="clip5_566_823">
111<rect width="194" height="195" fill="white"/>
112</clipPath>
113<clipPath id="clip6_566_823">
114<rect width="41" height="24" fill="white" transform="translate(18 119)"/>
115</clipPath>
116<clipPath id="clip7_566_823">
117<rect width="41" height="24" fill="white" transform="translate(76 119)"/>
118</clipPath>
119<clipPath id="clip8_566_823">
120<rect width="41" height="24" fill="white" transform="translate(135 119)"/>
121</clipPath>
122<clipPath id="clip9_566_823">
123<rect x="182" y="72" width="40" height="40" rx="7" fill="white"/>
124</clipPath>
125</defs>
126</svg>
docs/public/landing/dark/mcp.svg+113−0
@@ -0,0 +1,113 @@
1<svg width="651" height="319" viewBox="0 0 651 319" fill="none" xmlns="http://www.w3.org/2000/svg">
2<path d="M104.387 242.669C103.811 242.669 103.344 242.201 103.344 241.625V229.925H107.302V241.625C107.302 242.201 106.834 242.669 106.258 242.669H104.387Z" fill="#5B5B5B"/>
3<path d="M118.901 242.669C118.325 242.669 117.857 242.201 117.857 241.625V229.925H121.815V241.625C121.815 242.201 121.348 242.669 120.772 242.669H118.901Z" fill="#5B5B5B"/>
4<path d="M133.411 242.669C132.835 242.669 132.368 242.201 132.368 241.625V229.925H136.326V241.625C136.326 242.201 135.859 242.669 135.283 242.669H133.411Z" fill="#5B5B5B"/>
5<path d="M147.923 242.669C147.347 242.669 146.88 242.201 146.88 241.625V229.925H150.838V241.625C150.838 242.201 150.371 242.669 149.794 242.669H147.923Z" fill="#5B5B5B"/>
6<path d="M162.437 242.669C161.861 242.669 161.394 242.201 161.394 241.625V229.925H165.351V241.625C165.351 242.201 164.884 242.669 164.308 242.669H162.437Z" fill="#5B5B5B"/>
7<path d="M176.95 242.669C176.374 242.669 175.906 242.201 175.906 241.625V229.925H179.864V241.625C179.864 242.201 179.397 242.669 178.82 242.669H176.95Z" fill="#5B5B5B"/>
8<path d="M191.461 242.669C190.885 242.669 190.418 242.201 190.418 241.625V229.925H194.376V241.625C194.376 242.201 193.909 242.669 193.333 242.669H191.461Z" fill="#5B5B5B"/>
9<path d="M205.973 242.669C205.397 242.669 204.93 242.201 204.93 241.625V229.925H208.888V241.625C208.888 242.201 208.421 242.669 207.845 242.669H205.973Z" fill="#5B5B5B"/>
10<path d="M70 108.212C70 107.634 70.4671 107.167 71.0433 107.167H82.732V111.128H71.0433C70.4671 111.128 70 110.662 70 110.084L70 108.212Z" fill="#5B5B5B"/>
11<path d="M70 122.739C70 122.162 70.4671 121.694 71.0433 121.694H82.732V125.655H71.0433C70.4671 125.655 70 125.189 70 124.611L70 122.739Z" fill="#5B5B5B"/>
12<path d="M70 137.262C70 136.685 70.4671 136.217 71.0433 136.217H82.732V140.179H71.0433C70.4671 140.179 70 139.711 70 139.135L70 137.262Z" fill="#5B5B5B"/>
13<path d="M70 151.787C70 151.211 70.4671 150.743 71.0433 150.743H82.732V154.705H71.0433C70.4671 154.705 70 154.237 70 153.66L70 151.787Z" fill="#5B5B5B"/>
14<path d="M70 165.765C70 165.188 70.4671 164.72 71.0433 164.72H82.732V168.682H71.0433C70.4671 168.682 70 168.214 70 167.638L70 165.765Z" fill="#5B5B5B"/>
15<path d="M70 180.839C70 180.261 70.4671 179.794 71.0433 179.794H82.732V183.755H71.0433C70.4671 183.755 70 183.288 70 182.711L70 180.839Z" fill="#5B5B5B"/>
16<path d="M70 195.365C70 194.788 70.4671 194.321 71.0433 194.321H82.732V198.282H71.0433C70.4671 198.282 70 197.815 70 197.237L70 195.365Z" fill="#5B5B5B"/>
17<path d="M70 209.892C70 209.315 70.4671 208.848 71.0433 208.848H82.732V212.809H71.0433C70.4671 212.809 70 212.342 70 211.764L70 209.892Z" fill="#5B5B5B"/>
18<path d="M243.19 108.629C243.19 108.053 242.722 107.585 242.146 107.585H229.997V111.408H242.146C242.722 111.408 243.19 110.94 243.19 110.364V108.629Z" fill="#5B5B5B"/>
19<path d="M243.19 122.647C243.19 122.07 242.722 121.603 242.146 121.603H229.997V125.426H242.146C242.722 125.426 243.19 124.958 243.19 124.381V122.647Z" fill="#5B5B5B"/>
20<path d="M243.19 136.664C243.19 136.088 242.722 135.62 242.146 135.62H229.997V139.443H242.146C242.722 139.443 243.19 138.975 243.19 138.399V136.664Z" fill="#5B5B5B"/>
21<path d="M243.19 150.684C243.19 150.106 242.722 149.64 242.146 149.64H229.997V153.463H242.146C242.722 153.463 243.19 152.995 243.19 152.418V150.684Z" fill="#5B5B5B"/>
22<path d="M243.19 164.701C243.19 164.124 242.722 163.656 242.146 163.656H229.997V167.479H242.146C242.722 167.479 243.19 167.013 243.19 166.435V164.701Z" fill="#5B5B5B"/>
23<path d="M243.19 178.72C243.19 178.144 242.722 177.676 242.146 177.676H229.997V181.499H242.146C242.722 181.499 243.19 181.032 243.19 180.455V178.72Z" fill="#5B5B5B"/>
24<path d="M243.19 192.738C243.19 192.161 242.722 191.693 242.146 191.693H229.997V195.517H242.146C242.722 195.517 243.19 195.049 243.19 194.472V192.738Z" fill="#5B5B5B"/>
25<path d="M243.19 206.755C243.19 206.179 242.722 205.711 242.146 205.711H229.997V209.534H242.146C242.722 209.534 243.19 209.066 243.19 208.49V206.755Z" fill="#5B5B5B"/>
26<path d="M103.07 77C102.493 77 102.026 77.4678 102.026 78.0443V89.7435H105.984V78.0443C105.984 77.4678 105.517 77 104.941 77H103.07Z" fill="#5B5B5B"/>
27<path d="M117.58 77C117.004 77 116.537 77.4678 116.537 78.0443V89.7435H120.495V78.0443C120.495 77.4678 120.028 77 119.452 77H117.58Z" fill="#5B5B5B"/>
28<path d="M132.092 77C131.516 77 131.049 77.4678 131.049 78.0443V89.7435H135.007V78.0443C135.007 77.4678 134.54 77 133.963 77H132.092Z" fill="#5B5B5B"/>
29<path d="M146.604 77C146.028 77 145.561 77.4678 145.561 78.0443V89.7435H149.518V78.0443C149.518 77.4678 149.051 77 148.475 77H146.604Z" fill="#5B5B5B"/>
30<path d="M161.118 77C160.541 77 160.074 77.4678 160.074 78.0443V89.7435H164.032V78.0443C164.032 77.4678 163.565 77 162.989 77H161.118Z" fill="#5B5B5B"/>
31<path d="M175.631 77C175.055 77 174.588 77.4678 174.588 78.0443V89.7435H178.546V78.0443C178.546 77.4678 178.079 77 177.503 77H175.631Z" fill="#5B5B5B"/>
32<path d="M190.143 77C189.567 77 189.1 77.4678 189.1 78.0443V89.7435H193.058V78.0443C193.058 77.4678 192.591 77 192.015 77H190.143Z" fill="#5B5B5B"/>
33<path d="M204.654 77C204.078 77 203.61 77.4678 203.61 78.0443V89.7435H207.569V78.0443C207.569 77.4678 207.101 77 206.525 77H204.654Z" fill="#5B5B5B"/>
34<g filter="url(#filter0_d_950_709)">
35<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" fill="#121212"/>
36<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" stroke="#1A1A1A" stroke-width="2"/>
37</g>
38<g filter="url(#filter1_d_950_709)">
39<path d="M223.737 89.7446H89.8146C86.3573 89.7446 83.5547 92.5499 83.5547 96.0104V223.661C83.5547 227.122 86.3573 229.927 89.8146 229.927H223.737C227.194 229.927 229.996 227.122 229.996 223.661V96.0104C229.996 92.5499 227.194 89.7446 223.737 89.7446Z" stroke="#1A1A1A"/>
40</g>
41<g filter="url(#filter2_di_950_709)">
42<path fill-rule="evenodd" clip-rule="evenodd" d="M172.301 120.332C170.309 118.391 167.638 117.305 164.858 117.305C162.078 117.305 159.407 118.391 157.415 120.332L117.721 159.295C117.057 159.942 116.167 160.303 115.24 160.303C114.314 160.303 113.424 159.942 112.76 159.295C112.435 158.979 112.176 158.601 112 158.182C111.823 157.763 111.732 157.314 111.732 156.86C111.732 156.406 111.823 155.957 112 155.539C112.176 155.12 112.435 154.741 112.76 154.425L152.454 115.461C155.775 112.227 160.225 110.417 164.858 110.417C169.491 110.417 173.942 112.227 177.262 115.461C179.184 117.332 180.635 119.631 181.498 122.17C182.361 124.71 182.611 127.419 182.227 130.073C184.915 129.69 187.654 129.93 190.235 130.775C192.815 131.62 195.166 133.045 197.109 134.944L197.316 135.149C198.941 136.733 200.234 138.626 201.116 140.716C201.999 142.808 202.454 145.056 202.454 147.326C202.454 149.596 201.999 151.843 201.116 153.935C200.234 156.026 198.941 157.919 197.316 159.502L161.415 194.739C161.307 194.844 161.22 194.97 161.162 195.109C161.103 195.248 161.072 195.399 161.072 195.55C161.072 195.7 161.103 195.851 161.162 195.99C161.22 196.13 161.307 196.255 161.415 196.36L168.788 203.6C169.113 203.917 169.372 204.296 169.548 204.714C169.725 205.132 169.816 205.581 169.816 206.036C169.816 206.49 169.725 206.939 169.548 207.358C169.372 207.776 169.113 208.155 168.788 208.471C168.124 209.117 167.234 209.479 166.308 209.479C165.381 209.479 164.491 209.117 163.827 208.471L156.454 201.235C155.695 200.497 155.091 199.613 154.679 198.637C154.267 197.661 154.054 196.611 154.054 195.552C154.054 194.492 154.267 193.443 154.679 192.466C155.091 191.49 155.695 190.606 156.454 189.868L192.355 154.627C193.33 153.677 194.104 152.542 194.634 151.287C195.163 150.032 195.435 148.683 195.435 147.322C195.435 145.96 195.163 144.612 194.634 143.356C194.104 142.102 193.33 140.966 192.355 140.016L192.148 139.814C190.158 137.875 187.492 136.789 184.714 136.787C181.937 136.785 179.268 137.866 177.274 139.802L147.7 168.834L147.691 168.842L147.287 169.243C146.623 169.891 145.732 170.253 144.805 170.253C143.878 170.253 142.987 169.891 142.322 169.243C141.997 168.926 141.739 168.548 141.562 168.129C141.386 167.711 141.295 167.261 141.295 166.808C141.295 166.354 141.386 165.904 141.562 165.486C141.739 165.067 141.997 164.689 142.322 164.373L172.314 134.931C173.286 133.981 174.059 132.845 174.586 131.59C175.113 130.336 175.384 128.989 175.382 127.628C175.381 126.269 175.108 124.922 174.579 123.668C174.05 122.415 173.275 121.281 172.301 120.332Z" fill="white"/>
43<path fill-rule="evenodd" clip-rule="evenodd" d="M167.34 130.071C167.665 129.754 167.924 129.375 168.1 128.958C168.277 128.539 168.368 128.09 168.368 127.636C168.368 127.181 168.277 126.732 168.1 126.313C167.924 125.896 167.665 125.517 167.34 125.2C166.676 124.553 165.785 124.19 164.858 124.19C163.931 124.19 163.04 124.553 162.375 125.2L133.019 154.018C131.393 155.602 130.101 157.494 129.218 159.586C128.336 161.677 127.881 163.925 127.881 166.195C127.881 168.465 128.336 170.712 129.218 172.803C130.101 174.895 131.393 176.788 133.019 178.37C136.34 181.604 140.79 183.413 145.423 183.413C150.056 183.413 154.506 181.604 157.827 178.37L187.187 149.552C187.513 149.236 187.772 148.858 187.948 148.439C188.124 148.021 188.215 147.571 188.215 147.117C188.215 146.664 188.124 146.213 187.948 145.796C187.772 145.377 187.513 144.999 187.187 144.683C186.523 144.035 185.633 143.673 184.705 143.673C183.778 143.673 182.887 144.035 182.222 144.683L152.866 173.501C150.874 175.441 148.203 176.527 145.423 176.527C142.643 176.527 139.972 175.441 137.98 173.501C137.005 172.55 136.23 171.414 135.701 170.16C135.171 168.905 134.899 167.557 134.899 166.195C134.899 164.832 135.171 163.484 135.701 162.23C136.23 160.974 137.005 159.839 137.98 158.889L167.34 130.071Z" fill="white"/>
44</g>
45<path opacity="0.5" d="M386 160L301.435 160L250 160" stroke="url(#paint0_linear_950_709)" stroke-width="2"/>
46<path opacity="0.5" d="M386 111H346.821C343.355 111 340.544 111.528 340.544 112.179V123.888V131.821C340.544 132.472 337.734 133 334.267 133H250" stroke="url(#paint1_linear_950_709)" stroke-width="2"/>
47<path opacity="0.5" d="M386 209H346.821C343.355 209 340.544 208.472 340.544 207.821V196.112V188.179C340.544 187.528 337.734 187 334.267 187H250" stroke="url(#paint2_linear_950_709)" stroke-width="2"/>
48<path d="M573.667 99H395.26C391.803 99 389 101.805 389 105.266V116.753C389 120.213 391.803 123.019 395.26 123.019H573.667C577.124 123.019 579.927 120.213 579.927 116.753V105.266C579.927 101.805 577.124 99 573.667 99Z" fill="#0F0F0F"/>
49<path d="M395.26 99.5H573.667C576.847 99.5002 579.427 102.081 579.427 105.266V116.753C579.427 119.938 576.847 122.518 573.667 122.519H395.26C392.079 122.518 389.5 119.938 389.5 116.753V105.266C389.5 102.081 392.079 99.5001 395.26 99.5Z" stroke="#636262" stroke-opacity="0.2"/>
50<path d="M397.746 111.231C397.746 108.347 400.082 106.009 402.963 106.009C405.843 106.009 408.179 108.347 408.179 111.231C408.179 114.114 405.843 116.452 402.963 116.452C400.082 116.452 397.746 114.114 397.746 111.231Z" fill="#00C16A" fill-opacity="0.25"/>
51<path d="M402.963 113.319C404.115 113.319 405.049 112.384 405.049 111.231C405.049 110.077 404.115 109.142 402.963 109.142C401.81 109.142 400.876 110.077 400.876 111.231C400.876 112.384 401.81 113.319 402.963 113.319Z" fill="#00C16A"/>
52<path d="M417.185 105.873L414.373 116.322H413.452L416.265 105.873H417.185ZM419.383 106.282V115.009H418.377V106.282H419.383ZM421.225 115.009V108.464H422.231V115.009H421.225ZM421.737 107.373C421.54 107.373 421.371 107.306 421.229 107.173C421.09 107.039 421.021 106.879 421.021 106.691C421.021 106.504 421.09 106.343 421.229 106.21C421.371 106.076 421.54 106.009 421.737 106.009C421.933 106.009 422.1 106.076 422.239 106.21C422.381 106.343 422.452 106.504 422.452 106.691C422.452 106.879 422.381 107.039 422.239 107.173C422.1 107.306 421.933 107.373 421.737 107.373ZM428.709 109.93L427.806 110.185C427.749 110.035 427.665 109.889 427.554 109.746C427.446 109.602 427.299 109.482 427.111 109.389C426.924 109.295 426.684 109.248 426.391 109.248C425.99 109.248 425.657 109.34 425.39 109.525C425.125 109.707 424.993 109.938 424.993 110.22C424.993 110.47 425.084 110.667 425.266 110.812C425.448 110.957 425.732 111.077 426.118 111.174L427.09 111.413C427.675 111.555 428.111 111.772 428.398 112.065C428.685 112.354 428.828 112.728 428.828 113.185C428.828 113.56 428.721 113.896 428.505 114.191C428.292 114.487 427.993 114.72 427.61 114.89C427.226 115.06 426.78 115.146 426.272 115.146C425.604 115.146 425.051 115.001 424.614 114.711C424.176 114.421 423.9 113.998 423.783 113.441L424.738 113.202C424.828 113.555 425 113.819 425.253 113.995C425.509 114.171 425.843 114.259 426.255 114.259C426.723 114.259 427.096 114.16 427.371 113.961C427.65 113.759 427.789 113.518 427.789 113.237C427.789 113.009 427.709 112.819 427.55 112.666C427.391 112.509 427.147 112.393 426.817 112.316L425.726 112.06C425.127 111.918 424.686 111.698 424.405 111.4C424.127 111.099 423.988 110.722 423.988 110.271C423.988 109.901 424.091 109.575 424.299 109.291C424.509 109.006 424.794 108.783 425.155 108.621C425.519 108.46 425.931 108.379 426.391 108.379C427.039 108.379 427.547 108.521 427.917 108.805C428.289 109.089 428.553 109.464 428.709 109.93ZM433.189 108.464V109.316H429.797V108.464H433.189ZM430.786 106.896H431.791V113.134C431.791 113.418 431.832 113.631 431.915 113.773C432 113.913 432.108 114.006 432.239 114.055C432.372 114.1 432.513 114.123 432.661 114.123C432.771 114.123 432.862 114.117 432.933 114.106C433.004 114.092 433.061 114.08 433.104 114.072L433.308 114.975C433.24 115.001 433.145 115.026 433.023 115.052C432.901 115.08 432.746 115.095 432.558 115.095C432.274 115.095 431.996 115.033 431.723 114.911C431.453 114.789 431.229 114.603 431.05 114.353C430.874 114.103 430.786 113.788 430.786 113.407V106.896ZM438.217 110.799V111.737H434.399V110.799H438.217ZM439.987 117.464V108.464H440.958V109.504H441.078C441.152 109.39 441.254 109.245 441.385 109.069C441.518 108.89 441.708 108.731 441.956 108.592C442.206 108.45 442.544 108.379 442.97 108.379C443.521 108.379 444.007 108.516 444.427 108.792C444.848 109.068 445.176 109.458 445.412 109.964C445.647 110.47 445.765 111.066 445.765 111.754C445.765 112.447 445.647 113.048 445.412 113.556C445.176 114.062 444.849 114.454 444.431 114.732C444.014 115.008 443.532 115.146 442.987 115.146C442.566 115.146 442.23 115.076 441.977 114.937C441.724 114.795 441.529 114.634 441.393 114.455C441.257 114.273 441.152 114.123 441.078 114.004H440.993V117.464H439.987ZM440.975 111.737C440.975 112.231 441.048 112.667 441.193 113.045C441.338 113.42 441.549 113.714 441.828 113.927C442.106 114.137 442.447 114.242 442.85 114.242C443.271 114.242 443.622 114.131 443.903 113.91C444.187 113.685 444.4 113.384 444.542 113.006C444.687 112.626 444.76 112.202 444.76 111.737C444.76 111.276 444.689 110.862 444.547 110.492C444.407 110.12 444.196 109.826 443.912 109.61C443.63 109.391 443.277 109.282 442.85 109.282C442.441 109.282 442.098 109.386 441.819 109.593C441.541 109.798 441.331 110.085 441.189 110.454C441.047 110.82 440.975 111.248 440.975 111.737ZM449.225 115.163C448.811 115.163 448.434 115.085 448.096 114.928C447.758 114.769 447.49 114.541 447.291 114.242C447.092 113.941 446.993 113.577 446.993 113.151C446.993 112.776 447.066 112.472 447.214 112.239C447.362 112.004 447.559 111.819 447.806 111.685C448.054 111.552 448.326 111.452 448.625 111.387C448.926 111.319 449.228 111.265 449.532 111.225C449.93 111.174 450.252 111.136 450.5 111.11C450.75 111.082 450.931 111.035 451.045 110.97C451.162 110.904 451.22 110.791 451.22 110.629V110.595C451.22 110.174 451.105 109.847 450.875 109.614C450.647 109.381 450.302 109.265 449.839 109.265C449.359 109.265 448.983 109.37 448.71 109.58C448.437 109.791 448.245 110.015 448.135 110.254L447.18 109.913C447.35 109.515 447.578 109.205 447.862 108.984C448.149 108.759 448.461 108.603 448.799 108.515C449.14 108.424 449.475 108.379 449.805 108.379C450.015 108.379 450.257 108.404 450.529 108.455C450.805 108.504 451.071 108.604 451.326 108.758C451.585 108.911 451.799 109.143 451.97 109.452C452.14 109.762 452.225 110.177 452.225 110.697V115.009H451.22V114.123H451.169C451.1 114.265 450.987 114.417 450.828 114.579C450.669 114.741 450.457 114.879 450.193 114.992C449.929 115.106 449.606 115.163 449.225 115.163ZM449.379 114.259C449.777 114.259 450.112 114.181 450.385 114.025C450.66 113.869 450.868 113.667 451.007 113.42C451.149 113.173 451.22 112.913 451.22 112.64V111.72C451.177 111.771 451.083 111.818 450.939 111.86C450.797 111.9 450.632 111.935 450.444 111.967C450.26 111.995 450.079 112.021 449.903 112.043C449.73 112.063 449.589 112.08 449.481 112.095C449.22 112.129 448.975 112.184 448.748 112.261C448.524 112.335 448.342 112.447 448.203 112.597C448.066 112.745 447.998 112.947 447.998 113.202C447.998 113.552 448.127 113.816 448.386 113.995C448.647 114.171 448.978 114.259 449.379 114.259ZM456.703 117.6C456.217 117.6 455.8 117.538 455.45 117.413C455.101 117.291 454.81 117.129 454.577 116.927C454.347 116.728 454.163 116.515 454.027 116.288L454.828 115.725C454.919 115.845 455.034 115.981 455.173 116.134C455.313 116.291 455.503 116.425 455.744 116.539C455.989 116.656 456.308 116.714 456.703 116.714C457.232 116.714 457.668 116.586 458.011 116.33C458.355 116.075 458.527 115.674 458.527 115.129V113.799H458.442C458.368 113.918 458.263 114.066 458.126 114.242C457.993 114.416 457.8 114.57 457.547 114.707C457.297 114.84 456.959 114.907 456.533 114.907C456.004 114.907 455.53 114.782 455.109 114.532C454.692 114.282 454.361 113.918 454.116 113.441C453.875 112.964 453.754 112.384 453.754 111.702C453.754 111.032 453.872 110.448 454.108 109.951C454.344 109.451 454.672 109.065 455.092 108.792C455.513 108.516 455.999 108.379 456.55 108.379C456.976 108.379 457.314 108.45 457.564 108.592C457.817 108.731 458.01 108.89 458.143 109.069C458.28 109.245 458.385 109.39 458.459 109.504H458.561V108.464H459.533V115.197C459.533 115.759 459.405 116.217 459.149 116.569C458.896 116.924 458.555 117.184 458.126 117.349C457.7 117.516 457.226 117.6 456.703 117.6ZM456.669 114.004C457.072 114.004 457.413 113.911 457.692 113.727C457.97 113.542 458.182 113.276 458.327 112.93C458.472 112.583 458.544 112.168 458.544 111.685C458.544 111.214 458.473 110.798 458.331 110.437C458.189 110.076 457.979 109.793 457.7 109.589C457.422 109.384 457.078 109.282 456.669 109.282C456.243 109.282 455.888 109.39 455.604 109.606C455.322 109.822 455.111 110.112 454.969 110.475C454.83 110.839 454.76 111.242 454.76 111.685C454.76 112.14 454.831 112.542 454.973 112.891C455.118 113.238 455.331 113.511 455.612 113.71C455.896 113.906 456.249 114.004 456.669 114.004ZM464.118 115.146C463.487 115.146 462.943 115.006 462.486 114.728C462.031 114.447 461.68 114.055 461.433 113.552C461.189 113.046 461.067 112.458 461.067 111.788C461.067 111.117 461.189 110.526 461.433 110.015C461.68 109.501 462.024 109.1 462.464 108.813C462.908 108.523 463.425 108.379 464.016 108.379C464.357 108.379 464.693 108.435 465.026 108.549C465.358 108.663 465.661 108.847 465.933 109.103C466.206 109.356 466.423 109.691 466.585 110.109C466.747 110.526 466.828 111.041 466.828 111.651V112.077H461.783V111.208H465.805C465.805 110.839 465.732 110.509 465.584 110.22C465.439 109.93 465.232 109.701 464.962 109.533C464.695 109.366 464.379 109.282 464.016 109.282C463.615 109.282 463.268 109.381 462.976 109.58C462.686 109.776 462.463 110.032 462.307 110.347C462.151 110.663 462.072 111.001 462.072 111.362V111.941C462.072 112.435 462.158 112.854 462.328 113.198C462.501 113.539 462.741 113.799 463.048 113.978C463.355 114.154 463.712 114.242 464.118 114.242C464.382 114.242 464.621 114.205 464.834 114.131C465.05 114.055 465.236 113.941 465.392 113.791C465.548 113.637 465.669 113.447 465.754 113.22L466.726 113.492C466.624 113.822 466.452 114.112 466.21 114.362C465.969 114.609 465.67 114.802 465.315 114.941C464.96 115.077 464.561 115.146 464.118 115.146ZM472.994 109.93L472.091 110.185C472.034 110.035 471.95 109.889 471.839 109.746C471.732 109.602 471.584 109.482 471.396 109.389C471.209 109.295 470.969 109.248 470.676 109.248C470.276 109.248 469.942 109.34 469.675 109.525C469.411 109.707 469.278 109.938 469.278 110.22C469.278 110.47 469.369 110.667 469.551 110.812C469.733 110.957 470.017 111.077 470.403 111.174L471.375 111.413C471.96 111.555 472.396 111.772 472.683 112.065C472.97 112.354 473.114 112.728 473.114 113.185C473.114 113.56 473.006 113.896 472.79 114.191C472.577 114.487 472.278 114.72 471.895 114.89C471.511 115.06 471.065 115.146 470.557 115.146C469.889 115.146 469.337 115.001 468.899 114.711C468.462 114.421 468.185 113.998 468.068 113.441L469.023 113.202C469.114 113.555 469.286 113.819 469.538 113.995C469.794 114.171 470.128 114.259 470.54 114.259C471.009 114.259 471.381 114.16 471.656 113.961C471.935 113.759 472.074 113.518 472.074 113.237C472.074 113.009 471.994 112.819 471.835 112.666C471.676 112.509 471.432 112.393 471.102 112.316L470.011 112.06C469.412 111.918 468.972 111.698 468.69 111.4C468.412 111.099 468.273 110.722 468.273 110.271C468.273 109.901 468.376 109.575 468.584 109.291C468.794 109.006 469.08 108.783 469.44 108.621C469.804 108.46 470.216 108.379 470.676 108.379C471.324 108.379 471.832 108.521 472.202 108.805C472.574 109.089 472.838 109.464 472.994 109.93Z" fill="#737373"/>
53<path d="M573.667 148.019H395.26C391.803 148.019 389 150.824 389 154.284V165.771C389 169.232 391.803 172.037 395.26 172.037H573.667C577.124 172.037 579.927 169.232 579.927 165.771V154.284C579.927 150.824 577.124 148.019 573.667 148.019Z" fill="#0F0F0F"/>
54<path d="M395.26 148.519H573.667C576.847 148.519 579.427 151.1 579.427 154.284V165.771C579.427 168.956 576.847 171.537 573.667 171.537H395.26C392.079 171.537 389.5 168.956 389.5 165.771V154.284C389.5 151.1 392.079 148.519 395.26 148.519Z" stroke="#636262" stroke-opacity="0.2"/>
55<path d="M397.746 160.249C397.746 157.366 400.082 155.028 402.963 155.028C405.843 155.028 408.179 157.366 408.179 160.249C408.179 163.133 405.843 165.471 402.963 165.471C400.082 165.471 397.746 163.133 397.746 160.249Z" fill="#00C16A" fill-opacity="0.25"/>
56<path d="M402.963 162.338C404.115 162.338 405.049 161.403 405.049 160.249C405.049 159.096 404.115 158.161 402.963 158.161C401.81 158.161 400.876 159.096 400.876 160.249C400.876 161.403 401.81 162.338 402.963 162.338Z" fill="#00C16A"/>
57<path d="M417.185 154.891L414.373 165.34H413.452L416.265 154.891H417.185ZM421.02 166.619C420.534 166.619 420.116 166.556 419.767 166.431C419.417 166.309 419.126 166.147 418.893 165.945C418.663 165.747 418.48 165.534 418.343 165.306L419.145 164.744C419.235 164.863 419.35 164.999 419.49 165.153C419.629 165.309 419.819 165.444 420.061 165.558C420.305 165.674 420.625 165.732 421.02 165.732C421.548 165.732 421.984 165.605 422.328 165.349C422.672 165.093 422.843 164.693 422.843 164.147V162.818H422.758C422.684 162.937 422.579 163.085 422.443 163.261C422.309 163.434 422.116 163.589 421.863 163.725C421.613 163.859 421.275 163.926 420.849 163.926C420.321 163.926 419.846 163.801 419.426 163.551C419.008 163.301 418.677 162.937 418.433 162.46C418.191 161.982 418.071 161.403 418.071 160.721C418.071 160.051 418.189 159.467 418.424 158.97C418.66 158.47 418.988 158.083 419.409 157.811C419.829 157.535 420.315 157.397 420.866 157.397C421.292 157.397 421.63 157.468 421.88 157.61C422.133 157.749 422.326 157.909 422.46 158.087C422.596 158.264 422.701 158.409 422.775 158.522H422.877V157.482H423.849V164.215C423.849 164.778 423.721 165.235 423.466 165.587C423.213 165.943 422.872 166.203 422.443 166.367C422.017 166.535 421.542 166.619 421.02 166.619ZM420.985 163.022C421.389 163.022 421.73 162.93 422.008 162.745C422.287 162.561 422.498 162.295 422.643 161.948C422.788 161.602 422.86 161.187 422.86 160.704C422.86 160.232 422.789 159.816 422.647 159.455C422.505 159.095 422.295 158.812 422.017 158.607C421.738 158.403 421.395 158.301 420.985 158.301C420.559 158.301 420.204 158.409 419.92 158.624C419.639 158.84 419.427 159.13 419.285 159.494C419.146 159.857 419.076 160.261 419.076 160.704C419.076 161.159 419.147 161.561 419.289 161.91C419.434 162.257 419.647 162.529 419.929 162.728C420.213 162.924 420.565 163.022 420.985 163.022ZM428.434 164.164C427.804 164.164 427.26 164.025 426.802 163.747C426.348 163.465 425.997 163.073 425.75 162.57C425.505 162.065 425.383 161.477 425.383 160.806C425.383 160.136 425.505 159.545 425.75 159.034C425.997 158.519 426.341 158.119 426.781 157.832C427.224 157.542 427.741 157.397 428.332 157.397C428.673 157.397 429.01 157.454 429.342 157.568C429.674 157.681 429.977 157.866 430.25 158.122C430.522 158.374 430.74 158.71 430.902 159.127C431.064 159.545 431.145 160.059 431.145 160.67V161.096H426.099V160.227H430.122C430.122 159.857 430.048 159.528 429.9 159.238C429.755 158.948 429.548 158.72 429.278 158.552C429.011 158.384 428.696 158.301 428.332 158.301C427.931 158.301 427.585 158.4 427.292 158.599C427.002 158.795 426.779 159.051 426.623 159.366C426.467 159.681 426.389 160.019 426.389 160.38V160.96C426.389 161.454 426.474 161.873 426.645 162.217C426.818 162.558 427.058 162.818 427.365 162.997C427.672 163.173 428.028 163.261 428.434 163.261C428.699 163.261 428.937 163.224 429.15 163.15C429.366 163.073 429.552 162.96 429.708 162.809C429.865 162.656 429.985 162.465 430.071 162.238L431.042 162.511C430.94 162.84 430.768 163.13 430.527 163.38C430.285 163.627 429.987 163.82 429.632 163.96C429.277 164.096 428.877 164.164 428.434 164.164ZM435.521 157.482V158.335H432.129V157.482H435.521ZM433.118 155.914H434.123V162.153C434.123 162.437 434.164 162.65 434.247 162.792C434.332 162.931 434.44 163.025 434.571 163.073C434.704 163.119 434.845 163.141 434.993 163.141C435.103 163.141 435.194 163.136 435.265 163.124C435.336 163.11 435.393 163.099 435.436 163.09L435.64 163.994C435.572 164.019 435.477 164.045 435.355 164.07C435.233 164.099 435.078 164.113 434.89 164.113C434.606 164.113 434.328 164.052 434.055 163.93C433.785 163.808 433.561 163.622 433.382 163.372C433.206 163.122 433.118 162.806 433.118 162.426V155.914ZM440.549 159.818V160.755H436.731V159.818H440.549ZM442.319 166.482V157.482H443.29V158.522H443.41C443.484 158.409 443.586 158.264 443.717 158.087C443.85 157.909 444.04 157.749 444.288 157.61C444.538 157.468 444.876 157.397 445.302 157.397C445.853 157.397 446.339 157.535 446.759 157.811C447.18 158.086 447.508 158.477 447.744 158.982C447.979 159.488 448.097 160.085 448.097 160.772C448.097 161.465 447.979 162.066 447.744 162.575C447.508 163.08 447.181 163.472 446.763 163.751C446.346 164.026 445.864 164.164 445.319 164.164C444.898 164.164 444.562 164.095 444.309 163.955C444.056 163.813 443.862 163.653 443.725 163.474C443.589 163.292 443.484 163.141 443.41 163.022H443.325V166.482H442.319ZM443.308 160.755C443.308 161.249 443.38 161.686 443.525 162.063C443.67 162.438 443.881 162.732 444.16 162.945C444.438 163.156 444.779 163.261 445.183 163.261C445.603 163.261 445.954 163.15 446.235 162.928C446.519 162.704 446.732 162.403 446.874 162.025C447.019 161.644 447.092 161.221 447.092 160.755C447.092 160.295 447.021 159.88 446.879 159.511C446.739 159.139 446.528 158.845 446.244 158.629C445.962 158.41 445.609 158.301 445.183 158.301C444.773 158.301 444.43 158.404 444.151 158.612C443.873 158.816 443.663 159.103 443.521 159.472C443.379 159.839 443.308 160.266 443.308 160.755ZM451.558 164.181C451.143 164.181 450.766 164.103 450.428 163.947C450.09 163.788 449.822 163.559 449.623 163.261C449.424 162.96 449.325 162.596 449.325 162.17C449.325 161.795 449.398 161.491 449.546 161.258C449.694 161.022 449.891 160.837 450.138 160.704C450.386 160.57 450.658 160.471 450.957 160.406C451.258 160.337 451.56 160.284 451.864 160.244C452.262 160.193 452.585 160.154 452.832 160.129C453.082 160.1 453.263 160.053 453.377 159.988C453.494 159.923 453.552 159.809 453.552 159.647V159.613C453.552 159.193 453.437 158.866 453.207 158.633C452.979 158.4 452.634 158.284 452.171 158.284C451.691 158.284 451.315 158.389 451.042 158.599C450.769 158.809 450.577 159.034 450.467 159.272L449.512 158.931C449.683 158.534 449.91 158.224 450.194 158.002C450.481 157.778 450.793 157.622 451.131 157.534C451.472 157.443 451.808 157.397 452.137 157.397C452.347 157.397 452.589 157.423 452.862 157.474C453.137 157.522 453.403 157.623 453.658 157.776C453.917 157.93 454.131 158.161 454.302 158.471C454.472 158.781 454.558 159.195 454.558 159.715V164.028H453.552V163.141H453.501C453.433 163.284 453.319 163.436 453.16 163.597C453.001 163.759 452.789 163.897 452.525 164.011C452.261 164.124 451.938 164.181 451.558 164.181ZM451.711 163.278C452.109 163.278 452.444 163.2 452.717 163.043C452.992 162.887 453.2 162.686 453.339 162.438C453.481 162.191 453.552 161.931 453.552 161.659V160.738C453.509 160.789 453.415 160.836 453.271 160.879C453.129 160.918 452.964 160.954 452.776 160.985C452.592 161.014 452.411 161.039 452.235 161.062C452.062 161.082 451.921 161.099 451.813 161.113C451.552 161.147 451.308 161.203 451.08 161.279C450.856 161.353 450.674 161.465 450.535 161.616C450.398 161.764 450.33 161.965 450.33 162.221C450.33 162.57 450.46 162.835 450.718 163.014C450.979 163.19 451.31 163.278 451.711 163.278ZM459.035 166.619C458.549 166.619 458.132 166.556 457.782 166.431C457.433 166.309 457.142 166.147 456.909 165.945C456.679 165.747 456.495 165.534 456.359 165.306L457.16 164.744C457.251 164.863 457.366 164.999 457.505 165.153C457.645 165.309 457.835 165.444 458.076 165.558C458.321 165.674 458.64 165.732 459.035 165.732C459.564 165.732 460 165.605 460.343 165.349C460.687 165.093 460.859 164.693 460.859 164.147V162.818H460.774C460.7 162.937 460.595 163.085 460.458 163.261C460.325 163.434 460.132 163.589 459.879 163.725C459.629 163.859 459.291 163.926 458.865 163.926C458.336 163.926 457.862 163.801 457.441 163.551C457.024 163.301 456.693 162.937 456.449 162.46C456.207 161.982 456.086 161.403 456.086 160.721C456.086 160.051 456.204 159.467 456.44 158.97C456.676 158.47 457.004 158.083 457.424 157.811C457.845 157.535 458.331 157.397 458.882 157.397C459.308 157.397 459.646 157.468 459.896 157.61C460.149 157.749 460.342 157.909 460.475 158.087C460.612 158.264 460.717 158.409 460.791 158.522H460.893V157.482H461.865V164.215C461.865 164.778 461.737 165.235 461.481 165.587C461.228 165.943 460.887 166.203 460.458 166.367C460.032 166.535 459.558 166.619 459.035 166.619ZM459.001 163.022C459.404 163.022 459.745 162.93 460.024 162.745C460.302 162.561 460.514 162.295 460.659 161.948C460.804 161.602 460.876 161.187 460.876 160.704C460.876 160.232 460.805 159.816 460.663 159.455C460.521 159.095 460.311 158.812 460.032 158.607C459.754 158.403 459.41 158.301 459.001 158.301C458.575 158.301 458.22 158.409 457.936 158.624C457.654 158.84 457.443 159.13 457.301 159.494C457.162 159.857 457.092 160.261 457.092 160.704C457.092 161.159 457.163 161.561 457.305 161.91C457.45 162.257 457.663 162.529 457.944 162.728C458.228 162.924 458.581 163.022 459.001 163.022ZM466.45 164.164C465.819 164.164 465.275 164.025 464.818 163.747C464.363 163.465 464.012 163.073 463.765 162.57C463.521 162.065 463.399 161.477 463.399 160.806C463.399 160.136 463.521 159.545 463.765 159.034C464.012 158.519 464.356 158.119 464.797 157.832C465.24 157.542 465.757 157.397 466.348 157.397C466.689 157.397 467.025 157.454 467.358 157.568C467.69 157.681 467.993 157.866 468.265 158.122C468.538 158.374 468.755 158.71 468.917 159.127C469.079 159.545 469.16 160.059 469.16 160.67V161.096H464.115V160.227H468.137C468.137 159.857 468.064 159.528 467.916 159.238C467.771 158.948 467.564 158.72 467.294 158.552C467.027 158.384 466.711 158.301 466.348 158.301C465.947 158.301 465.6 158.4 465.308 158.599C465.018 158.795 464.795 159.051 464.639 159.366C464.483 159.681 464.404 160.019 464.404 160.38V160.96C464.404 161.454 464.49 161.873 464.66 162.217C464.833 162.558 465.074 162.818 465.38 162.997C465.687 163.173 466.044 163.261 466.45 163.261C466.714 163.261 466.953 163.224 467.166 163.15C467.382 163.073 467.568 162.96 467.724 162.809C467.88 162.656 468.001 162.465 468.086 162.238L469.058 162.511C468.956 162.84 468.784 163.13 468.542 163.38C468.301 163.627 468.002 163.82 467.647 163.96C467.292 164.096 466.893 164.164 466.45 164.164Z" fill="#737373"/>
58<path d="M573.667 197.037H395.26C391.803 197.037 389 199.842 389 203.303V214.79C389 218.25 391.803 221.056 395.26 221.056H573.667C577.124 221.056 579.927 218.25 579.927 214.79V203.303C579.927 199.842 577.124 197.037 573.667 197.037Z" fill="#0F0F0F"/>
59<path d="M395.26 197.537H573.667C576.847 197.537 579.427 200.118 579.427 203.303V214.79C579.427 217.975 576.847 220.555 573.667 220.556H395.26C392.079 220.556 389.5 217.975 389.5 214.79V203.303C389.5 200.118 392.079 197.537 395.26 197.537Z" stroke="#636262" stroke-opacity="0.2"/>
60<path d="M397.746 209.268C397.746 206.385 400.082 204.046 402.963 204.046C405.843 204.046 408.179 206.385 408.179 209.268C408.179 212.151 405.843 214.489 402.963 214.489C400.082 214.489 397.746 212.151 397.746 209.268Z" fill="#00C16A" fill-opacity="0.25"/>
61<path d="M402.963 211.356C404.115 211.356 405.049 210.421 405.049 209.268C405.049 208.114 404.115 207.179 402.963 207.179C401.81 207.179 400.876 208.114 400.876 209.268C400.876 210.421 401.81 211.356 402.963 211.356Z" fill="#00C16A"/>
62<path d="M417.185 203.91L414.373 214.359H413.452L416.265 203.91H417.185ZM421.02 215.637C420.534 215.637 420.116 215.575 419.767 215.45C419.417 215.328 419.126 215.166 418.893 214.964C418.663 214.765 418.48 214.552 418.343 214.325L419.145 213.762C419.235 213.882 419.35 214.018 419.49 214.171C419.629 214.328 419.819 214.463 420.061 214.576C420.305 214.693 420.625 214.751 421.02 214.751C421.548 214.751 421.984 214.623 422.328 214.367C422.672 214.112 422.843 213.711 422.843 213.166V211.836H422.758C422.684 211.955 422.579 212.103 422.443 212.279C422.309 212.453 422.116 212.607 421.863 212.744C421.613 212.877 421.275 212.944 420.849 212.944C420.321 212.944 419.846 212.819 419.426 212.569C419.008 212.319 418.677 211.955 418.433 211.478C418.191 211.001 418.071 210.421 418.071 209.74C418.071 209.069 418.189 208.485 418.424 207.988C418.66 207.488 418.988 207.102 419.409 206.829C419.829 206.553 420.315 206.416 420.866 206.416C421.292 206.416 421.63 206.487 421.88 206.629C422.133 206.768 422.326 206.927 422.46 207.106C422.596 207.282 422.701 207.427 422.775 207.541H422.877V206.501H423.849V213.234C423.849 213.796 423.721 214.254 423.466 214.606C423.213 214.961 422.872 215.221 422.443 215.386C422.017 215.553 421.542 215.637 421.02 215.637ZM420.985 212.041C421.389 212.041 421.73 211.948 422.008 211.764C422.287 211.579 422.498 211.313 422.643 210.967C422.788 210.62 422.86 210.205 422.86 209.723C422.86 209.251 422.789 208.835 422.647 208.474C422.505 208.113 422.295 207.83 422.017 207.626C421.738 207.421 421.395 207.319 420.985 207.319C420.559 207.319 420.204 207.427 419.92 207.643C419.639 207.859 419.427 208.149 419.285 208.512C419.146 208.876 419.076 209.279 419.076 209.723C419.076 210.177 419.147 210.579 419.289 210.928C419.434 211.275 419.647 211.548 419.929 211.747C420.213 211.943 420.565 212.041 420.985 212.041ZM428.434 213.183C427.804 213.183 427.26 213.044 426.802 212.765C426.348 212.484 425.997 212.092 425.75 211.589C425.505 211.083 425.383 210.495 425.383 209.825C425.383 209.154 425.505 208.563 425.75 208.052C425.997 207.538 426.341 207.137 426.781 206.85C427.224 206.561 427.741 206.416 428.332 206.416C428.673 206.416 429.01 206.473 429.342 206.586C429.674 206.7 429.977 206.884 430.25 207.14C430.522 207.393 430.74 207.728 430.902 208.146C431.064 208.563 431.145 209.078 431.145 209.688V210.115H426.099V209.245H430.122C430.122 208.876 430.048 208.546 429.9 208.257C429.755 207.967 429.548 207.738 429.278 207.571C429.011 207.403 428.696 207.319 428.332 207.319C427.931 207.319 427.585 207.419 427.292 207.617C427.002 207.813 426.779 208.069 426.623 208.384C426.467 208.7 426.389 209.038 426.389 209.399V209.978C426.389 210.473 426.474 210.892 426.645 211.235C426.818 211.576 427.058 211.836 427.365 212.015C427.672 212.191 428.028 212.279 428.434 212.279C428.699 212.279 428.937 212.242 429.15 212.169C429.366 212.092 429.552 211.978 429.708 211.828C429.865 211.674 429.985 211.484 430.071 211.257L431.042 211.529C430.94 211.859 430.768 212.149 430.527 212.399C430.285 212.646 429.987 212.839 429.632 212.978C429.277 213.115 428.877 213.183 428.434 213.183ZM435.521 206.501V207.353H432.129V206.501H435.521ZM433.118 204.933H434.123V211.171C434.123 211.455 434.164 211.669 434.247 211.811C434.332 211.95 434.44 212.044 434.571 212.092C434.704 212.137 434.845 212.16 434.993 212.16C435.103 212.16 435.194 212.154 435.265 212.143C435.336 212.129 435.393 212.117 435.436 212.109L435.64 213.012C435.572 213.038 435.477 213.063 435.355 213.089C435.233 213.117 435.078 213.132 434.89 213.132C434.606 213.132 434.328 213.071 434.055 212.948C433.785 212.826 433.561 212.64 433.382 212.39C433.206 212.14 433.118 211.825 433.118 211.444V204.933ZM440.549 208.836V209.774H436.731V208.836H440.549ZM442.319 213.046V206.501H443.29V207.524H443.376C443.512 207.174 443.732 206.903 444.036 206.71C444.34 206.514 444.705 206.416 445.131 206.416C445.563 206.416 445.923 206.514 446.21 206.71C446.499 206.903 446.725 207.174 446.887 207.524H446.955C447.123 207.186 447.374 206.917 447.71 206.718C448.045 206.517 448.447 206.416 448.915 206.416C449.501 206.416 449.979 206.599 450.352 206.965C450.724 207.329 450.91 207.896 450.91 208.666V213.046H449.904V208.666C449.904 208.183 449.772 207.838 449.508 207.63C449.244 207.423 448.933 207.319 448.575 207.319C448.114 207.319 447.758 207.458 447.505 207.737C447.252 208.012 447.126 208.362 447.126 208.785V213.046H446.103V208.563C446.103 208.191 445.982 207.892 445.741 207.664C445.499 207.434 445.188 207.319 444.808 207.319C444.546 207.319 444.302 207.389 444.075 207.528C443.85 207.667 443.668 207.86 443.529 208.107C443.393 208.352 443.325 208.634 443.325 208.955V213.046H442.319ZM452.749 213.046V206.501H453.754V213.046H452.749ZM453.26 205.41C453.064 205.41 452.895 205.343 452.753 205.21C452.614 205.076 452.544 204.916 452.544 204.728C452.544 204.541 452.614 204.38 452.753 204.247C452.895 204.113 453.064 204.046 453.26 204.046C453.456 204.046 453.624 204.113 453.763 204.247C453.905 204.38 453.976 204.541 453.976 204.728C453.976 204.916 453.905 205.076 453.763 205.21C453.624 205.343 453.456 205.41 453.26 205.41ZM458.238 215.637C457.752 215.637 457.335 215.575 456.985 215.45C456.636 215.328 456.345 215.166 456.112 214.964C455.882 214.765 455.699 214.552 455.562 214.325L456.363 213.762C456.454 213.882 456.569 214.018 456.708 214.171C456.848 214.328 457.038 214.463 457.279 214.576C457.524 214.693 457.843 214.751 458.238 214.751C458.767 214.751 459.203 214.623 459.547 214.367C459.89 214.112 460.062 213.711 460.062 213.166V211.836H459.977C459.903 211.955 459.798 212.103 459.662 212.279C459.528 212.453 459.335 212.607 459.082 212.744C458.832 212.877 458.494 212.944 458.068 212.944C457.539 212.944 457.065 212.819 456.645 212.569C456.227 212.319 455.896 211.955 455.652 211.478C455.41 211.001 455.289 210.421 455.289 209.74C455.289 209.069 455.407 208.485 455.643 207.988C455.879 207.488 456.207 207.102 456.627 206.829C457.048 206.553 457.534 206.416 458.085 206.416C458.511 206.416 458.849 206.487 459.099 206.629C459.352 206.768 459.545 206.927 459.679 207.106C459.815 207.282 459.92 207.427 459.994 207.541H460.096V206.501H461.068V213.234C461.068 213.796 460.94 214.254 460.684 214.606C460.431 214.961 460.091 215.221 459.662 215.386C459.235 215.553 458.761 215.637 458.238 215.637ZM458.204 212.041C458.608 212.041 458.949 211.948 459.227 211.764C459.505 211.579 459.717 211.313 459.862 210.967C460.007 210.62 460.079 210.205 460.079 209.723C460.079 209.251 460.008 208.835 459.866 208.474C459.724 208.113 459.514 207.83 459.235 207.626C458.957 207.421 458.613 207.319 458.204 207.319C457.778 207.319 457.423 207.427 457.139 207.643C456.858 207.859 456.646 208.149 456.504 208.512C456.365 208.876 456.295 209.279 456.295 209.723C456.295 210.177 456.366 210.579 456.508 210.928C456.653 211.275 456.866 211.548 457.147 211.747C457.431 211.943 457.784 212.041 458.204 212.041ZM462.909 213.046V206.501H463.88V207.49H463.949C464.068 207.166 464.284 206.903 464.596 206.701C464.909 206.5 465.261 206.399 465.653 206.399C465.727 206.399 465.819 206.4 465.93 206.403C466.041 206.406 466.125 206.41 466.181 206.416V207.438C466.147 207.43 466.069 207.417 465.947 207.4C465.828 207.38 465.701 207.37 465.568 207.37C465.25 207.37 464.966 207.437 464.716 207.571C464.468 207.701 464.272 207.883 464.127 208.116C463.985 208.346 463.914 208.609 463.914 208.904V213.046H462.909ZM469.3 213.2C468.885 213.2 468.509 213.122 468.17 212.965C467.832 212.806 467.564 212.578 467.365 212.279C467.166 211.978 467.067 211.615 467.067 211.188C467.067 210.813 467.141 210.509 467.288 210.277C467.436 210.041 467.634 209.856 467.881 209.723C468.128 209.589 468.401 209.49 468.699 209.424C469 209.356 469.303 209.302 469.607 209.262C470.004 209.211 470.327 209.173 470.574 209.147C470.824 209.119 471.006 209.072 471.119 209.007C471.236 208.941 471.294 208.828 471.294 208.666V208.632C471.294 208.211 471.179 207.884 470.949 207.652C470.722 207.419 470.376 207.302 469.913 207.302C469.433 207.302 469.057 207.407 468.784 207.617C468.511 207.828 468.32 208.052 468.209 208.291L467.254 207.95C467.425 207.552 467.652 207.242 467.936 207.021C468.223 206.796 468.536 206.64 468.874 206.552C469.214 206.461 469.55 206.416 469.879 206.416C470.089 206.416 470.331 206.441 470.604 206.492C470.879 206.541 471.145 206.642 471.401 206.795C471.659 206.948 471.874 207.18 472.044 207.49C472.214 207.799 472.3 208.214 472.3 208.734V213.046H471.294V212.16H471.243C471.175 212.302 471.061 212.454 470.902 212.616C470.743 212.778 470.531 212.916 470.267 213.029C470.003 213.143 469.68 213.2 469.3 213.2ZM469.453 212.296C469.851 212.296 470.186 212.218 470.459 212.062C470.734 211.906 470.942 211.704 471.081 211.457C471.223 211.21 471.294 210.95 471.294 210.677V209.757C471.251 209.808 471.158 209.855 471.013 209.897C470.871 209.937 470.706 209.973 470.518 210.004C470.334 210.032 470.153 210.058 469.977 210.08C469.804 210.1 469.663 210.117 469.555 210.132C469.294 210.166 469.05 210.221 468.822 210.298C468.598 210.372 468.416 210.484 468.277 210.634C468.141 210.782 468.072 210.984 468.072 211.24C468.072 211.589 468.202 211.853 468.46 212.032C468.722 212.208 469.053 212.296 469.453 212.296ZM476.982 206.501V207.353H473.59V206.501H476.982ZM474.578 204.933H475.584V211.171C475.584 211.455 475.625 211.669 475.708 211.811C475.793 211.95 475.901 212.044 476.032 212.092C476.165 212.137 476.306 212.16 476.453 212.16C476.564 212.16 476.655 212.154 476.726 212.143C476.797 212.129 476.854 212.117 476.897 212.109L477.101 213.012C477.033 213.038 476.938 213.063 476.816 213.089C476.694 213.117 476.539 213.132 476.351 213.132C476.067 213.132 475.789 213.071 475.516 212.948C475.246 212.826 475.022 212.64 474.843 212.39C474.667 212.14 474.578 211.825 474.578 211.444V204.933ZM478.495 213.046V206.501H479.5V213.046H478.495ZM479.006 205.41C478.81 205.41 478.641 205.343 478.499 205.21C478.36 205.076 478.29 204.916 478.29 204.728C478.29 204.541 478.36 204.38 478.499 204.247C478.641 204.113 478.81 204.046 479.006 204.046C479.202 204.046 479.37 204.113 479.509 204.247C479.651 204.38 479.722 204.541 479.722 204.728C479.722 204.916 479.651 205.076 479.509 205.21C479.37 205.343 479.202 205.41 479.006 205.41ZM484.001 213.183C483.411 213.183 482.892 213.042 482.446 212.761C482.003 212.48 481.656 212.086 481.406 211.58C481.159 211.075 481.036 210.484 481.036 209.808C481.036 209.126 481.159 208.531 481.406 208.022C481.656 207.514 482.003 207.119 482.446 206.838C482.892 206.556 483.411 206.416 484.001 206.416C484.592 206.416 485.109 206.556 485.553 206.838C485.999 207.119 486.345 207.514 486.592 208.022C486.842 208.531 486.967 209.126 486.967 209.808C486.967 210.484 486.842 211.075 486.592 211.58C486.345 212.086 485.999 212.48 485.553 212.761C485.109 213.042 484.592 213.183 484.001 213.183ZM484.001 212.279C484.45 212.279 484.82 212.164 485.109 211.934C485.399 211.704 485.614 211.402 485.753 211.027C485.892 210.652 485.962 210.245 485.962 209.808C485.962 209.37 485.892 208.963 485.753 208.585C485.614 208.207 485.399 207.902 485.109 207.669C484.82 207.436 484.45 207.319 484.001 207.319C483.553 207.319 483.183 207.436 482.893 207.669C482.604 207.902 482.389 208.207 482.25 208.585C482.111 208.963 482.041 209.37 482.041 209.808C482.041 210.245 482.111 210.652 482.25 211.027C482.389 211.402 482.604 211.704 482.893 211.934C483.183 212.164 483.553 212.279 484.001 212.279ZM489.508 209.109V213.046H488.502V206.501H489.474V207.524H489.559C489.713 207.191 489.946 206.924 490.258 206.723C490.571 206.518 490.974 206.416 491.468 206.416C491.912 206.416 492.299 206.507 492.632 206.688C492.964 206.867 493.223 207.14 493.407 207.507C493.592 207.87 493.684 208.33 493.684 208.887V213.046H492.679V208.955C492.679 208.441 492.545 208.041 492.278 207.754C492.011 207.464 491.645 207.319 491.179 207.319C490.858 207.319 490.571 207.389 490.318 207.528C490.068 207.667 489.87 207.87 489.725 208.137C489.581 208.404 489.508 208.728 489.508 209.109ZM499.272 208.836V209.774H495.454V208.836H499.272ZM503.684 215.637C503.198 215.637 502.78 215.575 502.431 215.45C502.081 215.328 501.79 215.166 501.557 214.964C501.327 214.765 501.144 214.552 501.007 214.325L501.809 213.762C501.9 213.882 502.015 214.018 502.154 214.171C502.293 214.328 502.483 214.463 502.725 214.576C502.969 214.693 503.289 214.751 503.684 214.751C504.212 214.751 504.648 214.623 504.992 214.367C505.336 214.112 505.507 213.711 505.507 213.166V211.836H505.422C505.348 211.955 505.243 212.103 505.107 212.279C504.973 212.453 504.78 212.607 504.527 212.744C504.277 212.877 503.939 212.944 503.513 212.944C502.985 212.944 502.51 212.819 502.09 212.569C501.672 212.319 501.341 211.955 501.097 211.478C500.855 211.001 500.735 210.421 500.735 209.74C500.735 209.069 500.853 208.485 501.088 207.988C501.324 207.488 501.652 207.102 502.073 206.829C502.493 206.553 502.979 206.416 503.53 206.416C503.956 206.416 504.294 206.487 504.544 206.629C504.797 206.768 504.99 206.927 505.124 207.106C505.26 207.282 505.365 207.427 505.439 207.541H505.542V206.501H506.513V213.234C506.513 213.796 506.385 214.254 506.13 214.606C505.877 214.961 505.536 215.221 505.107 215.386C504.681 215.553 504.206 215.637 503.684 215.637ZM503.65 212.041C504.053 212.041 504.394 211.948 504.672 211.764C504.951 211.579 505.162 211.313 505.307 210.967C505.452 210.62 505.525 210.205 505.525 209.723C505.525 209.251 505.453 208.835 505.311 208.474C505.169 208.113 504.959 207.83 504.681 207.626C504.402 207.421 504.059 207.319 503.65 207.319C503.223 207.319 502.868 207.427 502.584 207.643C502.303 207.859 502.091 208.149 501.949 208.512C501.81 208.876 501.74 209.279 501.74 209.723C501.74 210.177 501.811 210.579 501.953 210.928C502.098 211.275 502.311 211.548 502.593 211.747C502.877 211.943 503.229 212.041 503.65 212.041ZM512.479 210.37V206.501H513.485V213.046H512.479V211.938H512.411C512.257 212.271 512.019 212.553 511.695 212.786C511.371 213.017 510.962 213.132 510.468 213.132C510.059 213.132 509.695 213.042 509.377 212.863C509.059 212.681 508.809 212.409 508.627 212.045C508.445 211.678 508.354 211.217 508.354 210.66V206.501H509.36V210.592C509.36 211.069 509.493 211.45 509.76 211.734C510.03 212.018 510.374 212.16 510.792 212.16C511.042 212.16 511.296 212.096 511.554 211.968C511.816 211.84 512.034 211.644 512.211 211.38C512.39 211.116 512.479 210.779 512.479 210.37ZM515.327 213.046V206.501H516.332V213.046H515.327ZM515.838 205.41C515.642 205.41 515.473 205.343 515.331 205.21C515.192 205.076 515.122 204.916 515.122 204.728C515.122 204.541 515.192 204.38 515.331 204.247C515.473 204.113 515.642 204.046 515.838 204.046C516.034 204.046 516.202 204.113 516.341 204.247C516.483 204.38 516.554 204.541 516.554 204.728C516.554 204.916 516.483 205.076 516.341 205.21C516.202 205.343 516.034 205.41 515.838 205.41ZM520.646 213.183C520.1 213.183 519.619 213.045 519.201 212.769C518.784 212.491 518.457 212.099 518.221 211.593C517.985 211.085 517.868 210.484 517.868 209.791C517.868 209.103 517.985 208.507 518.221 208.001C518.457 207.495 518.785 207.105 519.206 206.829C519.626 206.553 520.112 206.416 520.663 206.416C521.089 206.416 521.426 206.487 521.673 206.629C521.923 206.768 522.113 206.927 522.244 207.106C522.377 207.282 522.481 207.427 522.555 207.541H522.64V204.319H523.646V213.046H522.674V212.041H522.555C522.481 212.16 522.376 212.311 522.24 212.492C522.103 212.671 521.909 212.832 521.656 212.974C521.403 213.113 521.066 213.183 520.646 213.183ZM520.782 212.279C521.186 212.279 521.527 212.174 521.805 211.964C522.083 211.751 522.295 211.457 522.44 211.082C522.585 210.704 522.657 210.268 522.657 209.774C522.657 209.285 522.586 208.857 522.444 208.491C522.302 208.122 522.092 207.835 521.814 207.63C521.535 207.423 521.191 207.319 520.782 207.319C520.356 207.319 520.001 207.428 519.717 207.647C519.436 207.863 519.224 208.157 519.082 208.529C518.943 208.899 518.873 209.313 518.873 209.774C518.873 210.24 518.944 210.663 519.086 211.044C519.231 211.421 519.444 211.723 519.725 211.947C520.01 212.169 520.362 212.279 520.782 212.279ZM528.372 213.183C527.741 213.183 527.197 213.044 526.74 212.765C526.285 212.484 525.934 212.092 525.687 211.589C525.443 211.083 525.321 210.495 525.321 209.825C525.321 209.154 525.443 208.563 525.687 208.052C525.934 207.538 526.278 207.137 526.718 206.85C527.162 206.561 527.679 206.416 528.27 206.416C528.61 206.416 528.947 206.473 529.279 206.586C529.612 206.7 529.914 206.884 530.187 207.14C530.46 207.393 530.677 207.728 530.839 208.146C531.001 208.563 531.082 209.078 531.082 209.688V210.115H526.037V209.245H530.059C530.059 208.876 529.985 208.546 529.838 208.257C529.693 207.967 529.485 207.738 529.216 207.571C528.949 207.403 528.633 207.319 528.27 207.319C527.869 207.319 527.522 207.419 527.23 207.617C526.94 207.813 526.717 208.069 526.561 208.384C526.404 208.7 526.326 209.038 526.326 209.399V209.978C526.326 210.473 526.412 210.892 526.582 211.235C526.755 211.576 526.995 211.836 527.302 212.015C527.609 212.191 527.966 212.279 528.372 212.279C528.636 212.279 528.875 212.242 529.088 212.169C529.304 212.092 529.49 211.978 529.646 211.828C529.802 211.674 529.923 211.484 530.008 211.257L530.98 211.529C530.877 211.859 530.706 212.149 530.464 212.399C530.223 212.646 529.924 212.839 529.569 212.978C529.214 213.115 528.815 213.183 528.372 213.183Z" fill="#737373"/>
63<defs>
64<filter id="filter0_d_950_709" x="81.832" y="87.8408" width="149.888" height="143.987" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
65<feFlood flood-opacity="0" result="BackgroundImageFix"/>
66<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
67<feOffset/>
68<feGaussianBlur stdDeviation="3"/>
69<feComposite in2="hardAlpha" operator="out"/>
70<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
71<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_709"/>
72<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_709" result="shape"/>
73</filter>
74<filter id="filter1_d_950_709" x="77.0547" y="83.2446" width="159.441" height="153.182" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
75<feFlood flood-opacity="0" result="BackgroundImageFix"/>
76<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
77<feOffset/>
78<feGaussianBlur stdDeviation="3"/>
79<feComposite in2="hardAlpha" operator="out"/>
80<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
81<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_709"/>
82<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_709" result="shape"/>
83</filter>
84<filter id="filter2_di_950_709" x="106.632" y="109.317" width="100.922" height="109.261" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
85<feFlood flood-opacity="0" result="BackgroundImageFix"/>
86<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
87<feOffset dy="4"/>
88<feGaussianBlur stdDeviation="2.55"/>
89<feComposite in2="hardAlpha" operator="out"/>
90<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.93 0"/>
91<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_709"/>
92<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_709" result="shape"/>
93<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
94<feOffset dy="2"/>
95<feGaussianBlur stdDeviation="2.4"/>
96<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
97<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
98<feBlend mode="normal" in2="shape" result="effect2_innerShadow_950_709"/>
99</filter>
100<linearGradient id="paint0_linear_950_709" x1="354.092" y1="160" x2="274.648" y2="124.038" gradientUnits="userSpaceOnUse">
101<stop stop-color="white"/>
102<stop offset="1" stop-color="white" stop-opacity="0"/>
103</linearGradient>
104<linearGradient id="paint1_linear_950_709" x1="378.103" y1="102.554" x2="245.778" y2="114.83" gradientUnits="userSpaceOnUse">
105<stop stop-color="white"/>
106<stop offset="1" stop-color="white" stop-opacity="0"/>
107</linearGradient>
108<linearGradient id="paint2_linear_950_709" x1="378.103" y1="217.446" x2="245.778" y2="205.17" gradientUnits="userSpaceOnUse">
109<stop stop-color="white"/>
110<stop offset="1" stop-color="white" stop-opacity="0"/>
111</linearGradient>
112</defs>
113</svg>
docs/public/landing/dark/nuxt-image.svg+20−0
@@ -0,0 +1,20 @@
1<svg width="423" height="339" viewBox="0 0 423 339" fill="none" xmlns="http://www.w3.org/2000/svg">
2<rect width="423" height="268.719" rx="11" fill="url(#paint0_linear_2117_749)" fill-opacity="0.2"/>
3<rect x="0.248139" y="0.248139" width="422.504" height="268.223" rx="10.7519" stroke="url(#paint1_linear_2117_749)" stroke-opacity="0.4" stroke-width="0.496278"/>
4<path d="M388.114 62.5374C388.114 77.6857 375.911 89.9658 360.859 89.9658C345.806 89.9658 333.604 77.6857 333.604 62.5374C333.604 47.389 345.806 35.1089 360.859 35.1089C375.911 35.1089 388.114 47.389 388.114 62.5374Z" fill="white" fill-opacity="0.3"/>
5<path d="M237.045 295.591H319.727H388.211C393.035 295.592 397.652 294.228 401.83 292.305C406.007 290.382 410.313 287.967 412.724 284.636C415.135 281.305 416.812 277.525 416.81 273.679C416.808 269.833 415.139 266.055 412.724 262.726L310.585 121.399C308.175 118.069 305.229 115.653 301.052 113.73C296.876 111.807 290.895 110.444 286.072 110.444C281.249 110.444 276.63 111.807 272.454 113.73C268.277 115.653 265.331 118.069 262.921 121.399L237.045 157.552L185.295 87.4345C182.882 84.1043 179.94 80.5953 175.762 78.6727C171.584 76.7502 166.967 76.4817 162.143 76.4817C157.32 76.4817 152.703 76.7502 148.525 78.6727C144.347 80.5953 140.043 84.1043 137.63 87.4345L10.9776 262.726C8.56302 266.055 8.256 269.833 8.25391 273.679C8.25181 277.525 8.56666 281.304 10.9776 284.635C13.3886 287.967 17.6949 290.382 21.8724 292.305C26.05 294.228 30.667 295.592 35.491 295.591H89.1561H130.821H237.045Z" fill="url(#paint2_linear_2117_749)" fill-opacity="0.3"/>
6<defs>
7<linearGradient id="paint0_linear_2117_749" x1="211.5" y1="0" x2="211.5" y2="122.257" gradientUnits="userSpaceOnUse">
8<stop stop-color="white"/>
9<stop offset="1" stop-color="white" stop-opacity="0"/>
10</linearGradient>
11<linearGradient id="paint1_linear_2117_749" x1="211.5" y1="-1.55412e-07" x2="211.546" y2="228.713" gradientUnits="userSpaceOnUse">
12<stop stop-color="white"/>
13<stop offset="1" stop-color="white" stop-opacity="0"/>
14</linearGradient>
15<linearGradient id="paint2_linear_2117_749" x1="221.809" y1="20.889" x2="215.072" y2="295.576" gradientUnits="userSpaceOnUse">
16<stop stop-color="white"/>
17<stop offset="1" stop-color="white" stop-opacity="0"/>
18</linearGradient>
19</defs>
20</svg>
docs/public/landing/dark/templates-ui-pro.webp+0−0

Binary file not shown.

docs/public/landing/light/command-menu.png+0−0

Binary file not shown.

docs/public/landing/light/i18n.svg+126−0
@@ -0,0 +1,126 @@
1<svg width="403" height="195" viewBox="0 0 403 195" fill="none" xmlns="http://www.w3.org/2000/svg">
2<g clip-path="url(#clip0_566_873)">
3<g clip-path="url(#clip1_566_873)">
4<rect x="209" width="194" height="195" rx="8" fill="url(#paint0_linear_566_873)" fill-opacity="0.2"/>
5<rect x="209.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint1_linear_566_873)" stroke-opacity="0.4"/>
6<rect x="312" y="54" width="73" height="36" rx="5" fill="black" fill-opacity="0.05"/>
7<path d="M238.781 30H246.588C246.836 30 247.079 29.9354 247.294 29.8125C247.509 29.6896 247.687 29.5128 247.811 29.3C247.935 29.0871 248 28.8457 248 28.5999C248 28.3542 247.934 28.1128 247.81 27.9001L242.568 18.9001C242.444 18.6873 242.265 18.5105 242.051 18.3877C241.836 18.2648 241.592 18.2001 241.345 18.2001C241.097 18.2001 240.853 18.2648 240.638 18.3877C240.424 18.5105 240.246 18.6873 240.122 18.9001L238.781 21.2028L236.16 16.6998C236.036 16.487 235.858 16.3104 235.643 16.1875C235.428 16.0647 235.185 16 234.937 16C234.689 16 234.445 16.0647 234.231 16.1875C234.016 16.3104 233.837 16.487 233.713 16.6998L227.19 27.9001C227.066 28.1128 227 28.3542 227 28.5999C227 28.8457 227.065 29.0871 227.189 29.3C227.313 29.5128 227.491 29.6896 227.706 29.8125C227.921 29.9354 228.164 30 228.412 30H233.312C235.254 30 236.686 29.1547 237.671 27.5057L240.063 23.4001L241.344 21.2028L245.189 27.8028H240.063L238.781 30ZM233.233 27.8005L229.813 27.7998L234.939 19.0004L237.497 23.4001L235.784 26.3407C235.13 27.4107 234.387 27.8005 233.233 27.8005Z" fill="black" fill-opacity="0.1"/>
8<line x1="282.5" y1="23.5" x2="298.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
9<line x1="312.5" y1="23.5" x2="328.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
10<rect x="355" y="18" width="30" height="9" rx="2.93635" fill="black" fill-opacity="0.1"/>
11<line x1="229.5" y1="55.5" x2="244.5" y2="55.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
12<line x1="229.5" y1="69.5" x2="286.5" y2="69.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
13<line x1="229.5" y1="83.5" x2="286.5" y2="83.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
14<g clip-path="url(#clip2_566_873)">
15<line x1="229" y1="121" x2="238" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
16<line x1="229" y1="131" x2="266" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
17<line x1="229" y1="141" x2="266" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
18</g>
19<g clip-path="url(#clip3_566_873)">
20<line x1="287" y1="121" x2="296" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
21<line x1="287" y1="131" x2="324" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
22<line x1="287" y1="141" x2="324" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
23</g>
24<g clip-path="url(#clip4_566_873)">
25<line x1="346" y1="121" x2="355" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
26<line x1="346" y1="131" x2="383" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
27<line x1="346" y1="141" x2="383" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
28</g>
29</g>
30<g clip-path="url(#clip5_566_873)">
31<rect width="194" height="195" rx="8" fill="url(#paint2_linear_566_873)" fill-opacity="0.2"/>
32<rect x="0.5" y="0.5" width="193" height="194" rx="7.5" stroke="url(#paint3_linear_566_873)" stroke-opacity="0.4"/>
33<rect x="103" y="54" width="73" height="36" rx="5" fill="black" fill-opacity="0.05"/>
34<path d="M29.7811 30H37.5876C37.8356 30 38.0792 29.9354 38.2939 29.8125C38.5086 29.6896 38.6869 29.5128 38.8108 29.3C38.9347 29.0871 38.9999 28.8457 38.9998 28.5999C38.9997 28.3542 38.9343 28.1128 38.8102 27.9001L33.5676 18.9001C33.4437 18.6873 33.2654 18.5105 33.0507 18.3877C32.836 18.2648 32.5925 18.2001 32.3446 18.2001C32.0967 18.2001 31.8532 18.2648 31.6385 18.3877C31.4238 18.5105 31.2455 18.6873 31.1216 18.9001L29.7811 21.2028L27.1602 16.6998C27.0361 16.487 26.8578 16.3104 26.6431 16.1875C26.4283 16.0647 26.1847 16 25.9368 16C25.6889 16 25.4453 16.0647 25.2305 16.1875C25.0158 16.3104 24.8375 16.487 24.7134 16.6998L18.1896 27.9001C18.0655 28.1128 18.0001 28.3542 18 28.5999C17.9999 28.8457 18.0651 29.0871 18.189 29.3C18.3129 29.5128 18.4912 29.6896 18.7059 29.8125C18.9207 29.9354 19.1643 30 19.4122 30H24.3125C26.254 30 27.6859 29.1547 28.6711 27.5057L31.063 23.4001L32.3442 21.2028L36.1893 27.8028H31.063L29.7811 30ZM24.2326 27.8005L20.8128 27.7998L25.9391 19.0004L28.4969 23.4001L26.7843 26.3407C26.13 27.4107 25.3867 27.8005 24.2326 27.8005Z" fill="black" fill-opacity="0.1"/>
35<line x1="73.5" y1="23.5" x2="89.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
36<line x1="103.5" y1="23.5" x2="119.5" y2="23.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
37<rect x="146" y="18" width="30" height="9" rx="2.93635" fill="black" fill-opacity="0.1"/>
38<line x1="20.5" y1="55.5" x2="35.5" y2="55.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
39<line x1="20.5" y1="69.5" x2="77.5" y2="69.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
40<line x1="20.5" y1="83.5" x2="77.5" y2="83.5" stroke="black" stroke-opacity="0.1" stroke-width="5" stroke-linecap="round"/>
41<g clip-path="url(#clip6_566_873)">
42<line x1="20" y1="121" x2="29" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
43<line x1="20" y1="131" x2="57" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
44<line x1="20" y1="141" x2="57" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
45</g>
46<g clip-path="url(#clip7_566_873)">
47<line x1="78" y1="121" x2="87" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
48<line x1="78" y1="131" x2="115" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
49<line x1="78" y1="141" x2="115" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
50</g>
51<g clip-path="url(#clip8_566_873)">
52<line x1="137" y1="121" x2="146" y2="121" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
53<line x1="137" y1="131" x2="174" y2="131" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
54<line x1="137" y1="141" x2="174" y2="141" stroke="black" stroke-opacity="0.1" stroke-width="4" stroke-linecap="round"/>
55</g>
56</g>
57<g filter="url(#filter0_d_566_873)">
58<g clip-path="url(#clip9_566_873)">
59<foreignObject x="140.75" y="30.75" width="122.5" height="122.5"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(20.62px);clip-path:url(#bgblur_10_566_873_clip_path);height:100%;width:100%"></div></foreignObject><g data-figma-bg-blur-radius="41.25">
60<rect x="182" y="72" width="40" height="40" rx="7.5" fill="black" fill-opacity="0.2"/>
61<rect x="182.5" y="72.5" width="39" height="39" rx="7" stroke="black" stroke-opacity="0.4"/>
62</g>
63<path d="M215.9 102.55L208.9 88.55C208.814 88.3854 208.685 88.2472 208.526 88.1504C208.368 88.0535 208.186 88.0015 208 88C207.815 87.9996 207.634 88.0509 207.478 88.1481C207.321 88.2453 207.194 88.3846 207.112 88.55L204.4 93.975C202.269 93.8621 200.218 93.1277 198.5 91.8625C200.516 89.7126 201.738 86.9387 201.962 84H205C205.265 84 205.52 83.8946 205.707 83.7071C205.895 83.5196 206 83.2652 206 83C206 82.7348 205.895 82.4804 205.707 82.2929C205.52 82.1054 205.265 82 205 82H198V80C198 79.7348 197.895 79.4804 197.707 79.2929C197.52 79.1054 197.265 79 197 79C196.735 79 196.48 79.1054 196.293 79.2929C196.105 79.4804 196 79.7348 196 80V82H189C188.735 82 188.48 82.1054 188.293 82.2929C188.105 82.4804 188 82.7348 188 83C188 83.2652 188.105 83.5196 188.293 83.7071C188.48 83.8946 188.735 84 189 84H199.95C199.734 86.4501 198.694 88.7546 197 90.5375C195.945 89.4273 195.135 88.1069 194.625 86.6625C194.535 86.4122 194.35 86.2077 194.11 86.094C193.87 85.9803 193.594 85.9667 193.344 86.0562C193.093 86.1458 192.889 86.331 192.775 86.5713C192.662 86.8116 192.648 87.0872 192.738 87.3375C193.337 89.0199 194.278 90.5604 195.5 91.8625C193.619 93.255 191.34 94.0045 189 94C188.735 94 188.48 94.1054 188.293 94.2929C188.105 94.4804 188 94.7348 188 95C188 95.2652 188.105 95.5196 188.293 95.7071C188.48 95.8946 188.735 96 189 96C191.901 96.0012 194.718 95.0283 197 93.2375C198.862 94.6963 201.089 95.6172 203.438 95.9L200.113 102.55C199.994 102.787 199.973 103.062 200.055 103.314C200.137 103.567 200.315 103.777 200.55 103.9C200.79 104.014 201.064 104.031 201.316 103.947C201.568 103.864 201.777 103.685 201.9 103.45L203.625 100H212.388L214.112 103.45C214.194 103.615 214.321 103.755 214.478 103.852C214.634 103.949 214.815 104 215 104C215.155 103.997 215.308 103.963 215.45 103.9C215.685 103.777 215.864 103.568 215.947 103.316C216.031 103.064 216.014 102.79 215.9 102.55ZM204.625 98L208 91.2375L211.388 98H204.625Z" fill="black"/>
64</g>
65</g>
66</g>
67<defs>
68<filter id="filter0_d_566_873" x="178" y="72" width="48" height="48" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
69<feFlood flood-opacity="0" result="BackgroundImageFix"/>
70<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
71<feOffset dy="4"/>
72<feGaussianBlur stdDeviation="2"/>
73<feComposite in2="hardAlpha" operator="out"/>
74<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.44 0"/>
75<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_566_873"/>
76<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_566_873" result="shape"/>
77</filter>
78<clipPath id="bgblur_10_566_873_clip_path" transform="translate(-140.75 -30.75)"><rect x="182" y="72" width="40" height="40" rx="7.5"/>
79</clipPath><linearGradient id="paint0_linear_566_873" x1="306" y1="0" x2="306" y2="88.7178" gradientUnits="userSpaceOnUse">
80<stop/>
81<stop offset="1" stop-opacity="0"/>
82</linearGradient>
83<linearGradient id="paint1_linear_566_873" x1="306" y1="-1.12777e-07" x2="306.053" y2="165.969" gradientUnits="userSpaceOnUse">
84<stop/>
85<stop offset="1" stop-opacity="0"/>
86</linearGradient>
87<linearGradient id="paint2_linear_566_873" x1="97" y1="0" x2="97" y2="88.7178" gradientUnits="userSpaceOnUse">
88<stop/>
89<stop offset="1" stop-opacity="0"/>
90</linearGradient>
91<linearGradient id="paint3_linear_566_873" x1="97" y1="-1.12777e-07" x2="97.0531" y2="165.969" gradientUnits="userSpaceOnUse">
92<stop/>
93<stop offset="1" stop-opacity="0"/>
94</linearGradient>
95<clipPath id="clip0_566_873">
96<rect width="403" height="195" fill="white"/>
97</clipPath>
98<clipPath id="clip1_566_873">
99<rect width="194" height="195" fill="white" transform="translate(209)"/>
100</clipPath>
101<clipPath id="clip2_566_873">
102<rect width="41" height="24" fill="white" transform="translate(227 119)"/>
103</clipPath>
104<clipPath id="clip3_566_873">
105<rect width="41" height="24" fill="white" transform="translate(285 119)"/>
106</clipPath>
107<clipPath id="clip4_566_873">
108<rect width="41" height="24" fill="white" transform="translate(344 119)"/>
109</clipPath>
110<clipPath id="clip5_566_873">
111<rect width="194" height="195" fill="white"/>
112</clipPath>
113<clipPath id="clip6_566_873">
114<rect width="41" height="24" fill="white" transform="translate(18 119)"/>
115</clipPath>
116<clipPath id="clip7_566_873">
117<rect width="41" height="24" fill="white" transform="translate(76 119)"/>
118</clipPath>
119<clipPath id="clip8_566_873">
120<rect width="41" height="24" fill="white" transform="translate(135 119)"/>
121</clipPath>
122<clipPath id="clip9_566_873">
123<rect x="182" y="72" width="40" height="40" rx="8" fill="white"/>
124</clipPath>
125</defs>
126</svg>
docs/public/landing/light/mcp.svg+115−0
@@ -0,0 +1,115 @@
1<svg width="651" height="319" viewBox="0 0 651 319" fill="none" xmlns="http://www.w3.org/2000/svg">
2<path d="M104.387 242.669C103.811 242.669 103.344 242.201 103.344 241.625V229.925H107.302V241.625C107.302 242.201 106.834 242.669 106.258 242.669H104.387Z" fill="#171717" fill-opacity="0.7"/>
3<path d="M118.901 242.669C118.325 242.669 117.857 242.201 117.857 241.625V229.925H121.815V241.625C121.815 242.201 121.348 242.669 120.772 242.669H118.901Z" fill="#171717" fill-opacity="0.7"/>
4<path d="M133.411 242.669C132.835 242.669 132.368 242.201 132.368 241.625V229.925H136.326V241.625C136.326 242.201 135.859 242.669 135.283 242.669H133.411Z" fill="#171717" fill-opacity="0.7"/>
5<path d="M147.923 242.669C147.347 242.669 146.88 242.201 146.88 241.625V229.925H150.838V241.625C150.838 242.201 150.371 242.669 149.794 242.669H147.923Z" fill="#171717" fill-opacity="0.7"/>
6<path d="M162.437 242.669C161.861 242.669 161.394 242.201 161.394 241.625V229.925H165.351V241.625C165.351 242.201 164.884 242.669 164.308 242.669H162.437Z" fill="#171717" fill-opacity="0.7"/>
7<path d="M176.95 242.669C176.374 242.669 175.906 242.201 175.906 241.625V229.925H179.864V241.625C179.864 242.201 179.397 242.669 178.82 242.669H176.95Z" fill="#171717" fill-opacity="0.7"/>
8<path d="M191.461 242.669C190.885 242.669 190.418 242.201 190.418 241.625V229.925H194.376V241.625C194.376 242.201 193.909 242.669 193.333 242.669H191.461Z" fill="#171717" fill-opacity="0.7"/>
9<path d="M205.973 242.669C205.397 242.669 204.93 242.201 204.93 241.625V229.925H208.888V241.625C208.888 242.201 208.421 242.669 207.845 242.669H205.973Z" fill="#171717" fill-opacity="0.7"/>
10<path d="M70 108.212C70 107.635 70.4671 107.168 71.0433 107.168H82.732V111.129H71.0433C70.4671 111.129 70 110.662 70 110.085L70 108.212Z" fill="#171717" fill-opacity="0.7"/>
11<path d="M70 122.739C70 122.162 70.4671 121.694 71.0433 121.694H82.732V125.655H71.0433C70.4671 125.655 70 125.189 70 124.611L70 122.739Z" fill="#171717" fill-opacity="0.7"/>
12<path d="M70 137.261C70 136.685 70.4671 136.217 71.0433 136.217H82.732V140.179H71.0433C70.4671 140.179 70 139.711 70 139.135L70 137.261Z" fill="#171717" fill-opacity="0.7"/>
13<path d="M70 151.786C70 151.21 70.4671 150.742 71.0433 150.742H82.732V154.704H71.0433C70.4671 154.704 70 154.236 70 153.66L70 151.786Z" fill="#171717" fill-opacity="0.7"/>
14<path d="M70 165.765C70 165.189 70.4671 164.721 71.0433 164.721H82.732V168.683H71.0433C70.4671 168.683 70 168.215 70 167.638L70 165.765Z" fill="#171717" fill-opacity="0.7"/>
15<path d="M70 180.839C70 180.262 70.4671 179.795 71.0433 179.795H82.732V183.756H71.0433C70.4671 183.756 70 183.288 70 182.712L70 180.839Z" fill="#171717" fill-opacity="0.7"/>
16<path d="M70 195.365C70 194.787 70.4671 194.32 71.0433 194.32H82.732V198.281H71.0433C70.4671 198.281 70 197.815 70 197.237L70 195.365Z" fill="#171717" fill-opacity="0.7"/>
17<path d="M70 209.892C70 209.315 70.4671 208.848 71.0433 208.848H82.732V212.809H71.0433C70.4671 212.809 70 212.342 70 211.764L70 209.892Z" fill="#171717" fill-opacity="0.7"/>
18<path d="M243.19 108.629C243.19 108.053 242.722 107.585 242.146 107.585H229.997V111.408H242.146C242.722 111.408 243.19 110.94 243.19 110.364V108.629Z" fill="#171717" fill-opacity="0.7"/>
19<path d="M243.19 122.647C243.19 122.07 242.722 121.603 242.146 121.603H229.997V125.426H242.146C242.722 125.426 243.19 124.958 243.19 124.381V122.647Z" fill="#171717" fill-opacity="0.7"/>
20<path d="M243.19 136.664C243.19 136.088 242.722 135.62 242.146 135.62H229.997V139.443H242.146C242.722 139.443 243.19 138.975 243.19 138.399V136.664Z" fill="#171717" fill-opacity="0.7"/>
21<path d="M243.19 150.684C243.19 150.106 242.722 149.64 242.146 149.64H229.997V153.463H242.146C242.722 153.463 243.19 152.995 243.19 152.418V150.684Z" fill="#171717" fill-opacity="0.7"/>
22<path d="M243.19 164.701C243.19 164.124 242.722 163.656 242.146 163.656H229.997V167.479H242.146C242.722 167.479 243.19 167.013 243.19 166.435V164.701Z" fill="#171717" fill-opacity="0.7"/>
23<path d="M243.19 178.72C243.19 178.144 242.722 177.676 242.146 177.676H229.997V181.499H242.146C242.722 181.499 243.19 181.032 243.19 180.455V178.72Z" fill="#171717" fill-opacity="0.7"/>
24<path d="M243.19 192.738C243.19 192.161 242.722 191.693 242.146 191.693H229.997V195.517H242.146C242.722 195.517 243.19 195.049 243.19 194.472V192.738Z" fill="#171717" fill-opacity="0.7"/>
25<path d="M243.19 206.755C243.19 206.179 242.722 205.711 242.146 205.711H229.997V209.534H242.146C242.722 209.534 243.19 209.066 243.19 208.49V206.755Z" fill="#171717" fill-opacity="0.7"/>
26<path d="M103.07 77C102.493 77 102.026 77.4678 102.026 78.0443V89.7435H105.984V78.0443C105.984 77.4678 105.517 77 104.941 77H103.07Z" fill="#171717" fill-opacity="0.7"/>
27<path d="M117.58 77C117.004 77 116.537 77.4678 116.537 78.0443V89.7435H120.495V78.0443C120.495 77.4678 120.028 77 119.452 77H117.58Z" fill="#171717" fill-opacity="0.7"/>
28<path d="M132.092 77C131.516 77 131.049 77.4678 131.049 78.0443V89.7435H135.007V78.0443C135.007 77.4678 134.54 77 133.963 77H132.092Z" fill="#171717" fill-opacity="0.7"/>
29<path d="M146.604 77C146.028 77 145.561 77.4678 145.561 78.0443V89.7435H149.518V78.0443C149.518 77.4678 149.051 77 148.475 77H146.604Z" fill="#171717" fill-opacity="0.7"/>
30<path d="M161.118 77C160.541 77 160.074 77.4678 160.074 78.0443V89.7435H164.032V78.0443C164.032 77.4678 163.565 77 162.989 77H161.118Z" fill="#171717" fill-opacity="0.7"/>
31<path d="M175.631 77C175.055 77 174.588 77.4678 174.588 78.0443V89.7435H178.546V78.0443C178.546 77.4678 178.079 77 177.503 77H175.631Z" fill="#171717" fill-opacity="0.7"/>
32<path d="M190.143 77C189.567 77 189.1 77.4678 189.1 78.0443V89.7435H193.058V78.0443C193.058 77.4678 192.591 77 192.015 77H190.143Z" fill="#171717" fill-opacity="0.7"/>
33<path d="M204.654 77C204.078 77 203.61 77.4678 203.61 78.0443V89.7435H207.569V78.0443C207.569 77.4678 207.101 77 206.525 77H204.654Z" fill="#171717" fill-opacity="0.7"/>
34<g filter="url(#filter0_d_950_880)">
35<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" fill="#121212"/>
36<path d="M222.633 94.8408H90.9187C89.7662 94.8408 88.832 95.7759 88.832 96.9294V222.739C88.832 223.893 89.7662 224.828 90.9187 224.828H222.633C223.785 224.828 224.72 223.893 224.72 222.739V96.9294C224.72 95.7759 223.785 94.8408 222.633 94.8408Z" stroke="#1A1A1A" stroke-width="2"/>
37</g>
38<g filter="url(#filter1_d_950_880)">
39<path d="M223.737 89.7441H89.8146C86.3573 89.7441 83.5547 92.5494 83.5547 96.0099V223.661C83.5547 227.121 86.3573 229.926 89.8146 229.926H223.737C227.194 229.926 229.996 227.121 229.996 223.661V96.0099C229.996 92.5494 227.194 89.7441 223.737 89.7441Z" stroke="#1A1A1A"/>
40</g>
41<g filter="url(#filter2_di_950_880)">
42<path fill-rule="evenodd" clip-rule="evenodd" d="M172.301 120.332C170.309 118.391 167.638 117.305 164.858 117.305C162.078 117.305 159.407 118.391 157.415 120.332L117.721 159.296C117.057 159.942 116.167 160.304 115.24 160.304C114.314 160.304 113.424 159.942 112.76 159.296C112.435 158.979 112.176 158.601 112 158.183C111.823 157.764 111.732 157.315 111.732 156.861C111.732 156.406 111.823 155.957 112 155.54C112.176 155.121 112.435 154.742 112.76 154.425L152.454 115.462C155.775 112.228 160.225 110.418 164.858 110.418C169.491 110.418 173.942 112.228 177.262 115.462C179.184 117.332 180.635 119.632 181.498 122.17C182.361 124.71 182.611 127.419 182.227 130.074C184.915 129.69 187.654 129.931 190.235 130.775C192.815 131.62 195.166 133.046 197.109 134.944L197.316 135.15C198.941 136.733 200.234 138.626 201.116 140.717C201.999 142.809 202.454 145.056 202.454 147.326C202.454 149.597 201.999 151.844 201.116 153.936C200.234 156.026 198.941 157.92 197.316 159.503L161.415 194.739C161.307 194.845 161.22 194.971 161.162 195.11C161.103 195.249 161.072 195.399 161.072 195.55C161.072 195.701 161.103 195.851 161.162 195.99C161.22 196.13 161.307 196.255 161.415 196.361L168.788 203.601C169.113 203.917 169.372 204.296 169.548 204.714C169.725 205.133 169.816 205.582 169.816 206.036C169.816 206.49 169.725 206.94 169.548 207.358C169.372 207.776 169.113 208.155 168.788 208.471C168.124 209.118 167.234 209.479 166.308 209.479C165.381 209.479 164.491 209.118 163.827 208.471L156.454 201.236C155.695 200.497 155.091 199.614 154.679 198.637C154.267 197.661 154.054 196.611 154.054 195.553C154.054 194.493 154.267 193.443 154.679 192.467C155.091 191.49 155.695 190.607 156.454 189.869L192.355 154.628C193.33 153.678 194.104 152.542 194.634 151.287C195.163 150.032 195.435 148.684 195.435 147.322C195.435 145.96 195.163 144.612 194.634 143.357C194.104 142.103 193.33 140.967 192.355 140.016L192.148 139.815C190.158 137.875 187.492 136.789 184.714 136.787C181.937 136.785 179.268 137.866 177.274 139.802L147.7 168.834L147.691 168.843L147.287 169.244C146.623 169.891 145.732 170.254 144.805 170.254C143.878 170.254 142.987 169.891 142.322 169.244C141.997 168.926 141.739 168.548 141.562 168.13C141.386 167.712 141.295 167.262 141.295 166.809C141.295 166.354 141.386 165.904 141.562 165.486C141.739 165.068 141.997 164.69 142.322 164.373L172.314 134.932C173.286 133.981 174.059 132.845 174.586 131.591C175.113 130.337 175.384 128.99 175.382 127.629C175.381 126.269 175.108 124.922 174.579 123.669C174.05 122.416 173.275 121.282 172.301 120.332Z" fill="white"/>
43<path fill-rule="evenodd" clip-rule="evenodd" d="M167.34 130.072C167.665 129.755 167.924 129.376 168.1 128.959C168.277 128.54 168.368 128.091 168.368 127.637C168.368 127.182 168.277 126.733 168.1 126.314C167.924 125.897 167.665 125.518 167.34 125.201C166.676 124.554 165.785 124.191 164.858 124.191C163.931 124.191 163.04 124.554 162.375 125.201L133.019 154.019C131.393 155.603 130.101 157.495 129.218 159.587C128.336 161.678 127.881 163.926 127.881 166.196C127.881 168.466 128.336 170.713 129.218 172.804C130.101 174.896 131.393 176.789 133.019 178.371C136.34 181.605 140.79 183.414 145.423 183.414C150.056 183.414 154.506 181.605 157.827 178.371L187.187 149.553C187.513 149.237 187.772 148.859 187.948 148.44C188.124 148.022 188.215 147.572 188.215 147.118C188.215 146.665 188.124 146.214 187.948 145.797C187.772 145.378 187.513 145 187.187 144.683C186.523 144.036 185.633 143.674 184.705 143.674C183.778 143.674 182.887 144.036 182.222 144.683L152.866 173.502C150.874 175.442 148.203 176.528 145.423 176.528C142.643 176.528 139.972 175.442 137.98 173.502C137.005 172.551 136.23 171.415 135.701 170.161C135.171 168.906 134.899 167.558 134.899 166.196C134.899 164.833 135.171 163.485 135.701 162.231C136.23 160.975 137.005 159.84 137.98 158.89L167.34 130.072Z" fill="white"/>
44</g>
45<path opacity="0.5" d="M386 160L301.435 160L250 160" stroke="url(#paint0_linear_950_880)" stroke-opacity="0.5" stroke-width="2"/>
46<path opacity="0.5" d="M386 111H346.821C343.355 111 340.544 111.528 340.544 112.179V123.888V131.821C340.544 132.472 337.734 133 334.267 133H250" stroke="url(#paint1_linear_950_880)" stroke-opacity="0.5" stroke-width="2"/>
47<path opacity="0.5" d="M386 209H346.821C343.355 209 340.544 208.472 340.544 207.821V196.112V188.179C340.544 187.528 337.734 187 334.267 187H250" stroke="url(#paint2_linear_950_880)" stroke-opacity="0.5" stroke-width="2"/>
48<path d="M573.667 99H395.26C391.803 99 389 101.805 389 105.266V116.753C389 120.213 391.803 123.019 395.26 123.019H573.667C577.124 123.019 579.927 120.213 579.927 116.753V105.266C579.927 101.805 577.124 99 573.667 99Z" fill="#FAFAFA"/>
49<path d="M395.26 99.5H573.667C576.847 99.5002 579.427 102.081 579.427 105.266V116.753C579.427 119.938 576.847 122.518 573.667 122.519H395.26C392.079 122.518 389.5 119.938 389.5 116.753V105.266C389.5 102.081 392.079 99.5001 395.26 99.5Z" stroke="#636262" stroke-opacity="0.2"/>
50<path d="M397.746 111.231C397.746 108.348 400.082 106.01 402.963 106.01C405.843 106.01 408.179 108.348 408.179 111.231C408.179 114.114 405.843 116.453 402.963 116.453C400.082 116.453 397.746 114.114 397.746 111.231Z" fill="#00C16A" fill-opacity="0.25"/>
51<path d="M402.963 113.32C404.115 113.32 405.049 112.385 405.049 111.231C405.049 110.078 404.115 109.143 402.963 109.143C401.81 109.143 400.876 110.078 400.876 111.231C400.876 112.385 401.81 113.32 402.963 113.32Z" fill="#00C16A"/>
52<path d="M417.185 105.873L414.373 116.322H413.452L416.265 105.873H417.185ZM419.383 106.282V115.01H418.377V106.282H419.383ZM421.225 115.01V108.464H422.231V115.01H421.225ZM421.737 107.373C421.54 107.373 421.371 107.307 421.229 107.173C421.09 107.04 421.021 106.879 421.021 106.692C421.021 106.504 421.09 106.344 421.229 106.21C421.371 106.077 421.54 106.01 421.737 106.01C421.933 106.01 422.1 106.077 422.239 106.21C422.381 106.344 422.452 106.504 422.452 106.692C422.452 106.879 422.381 107.04 422.239 107.173C422.1 107.307 421.933 107.373 421.737 107.373ZM428.709 109.93L427.806 110.186C427.749 110.035 427.665 109.889 427.554 109.747C427.446 109.602 427.299 109.483 427.111 109.389C426.924 109.295 426.684 109.248 426.391 109.248C425.99 109.248 425.657 109.341 425.39 109.525C425.125 109.707 424.993 109.939 424.993 110.22C424.993 110.47 425.084 110.667 425.266 110.812C425.448 110.957 425.732 111.078 426.118 111.175L427.09 111.413C427.675 111.555 428.111 111.773 428.398 112.065C428.685 112.355 428.828 112.729 428.828 113.186C428.828 113.561 428.721 113.896 428.505 114.192C428.292 114.487 427.993 114.72 427.61 114.89C427.226 115.061 426.78 115.146 426.272 115.146C425.604 115.146 425.051 115.001 424.614 114.711C424.176 114.422 423.9 113.998 423.783 113.442L424.738 113.203C424.828 113.555 425 113.819 425.253 113.996C425.509 114.172 425.843 114.26 426.255 114.26C426.723 114.26 427.096 114.16 427.371 113.961C427.65 113.76 427.789 113.518 427.789 113.237C427.789 113.01 427.709 112.819 427.55 112.666C427.391 112.51 427.147 112.393 426.817 112.317L425.726 112.061C425.127 111.919 424.686 111.699 424.405 111.4C424.127 111.099 423.988 110.723 423.988 110.271C423.988 109.902 424.091 109.575 424.299 109.291C424.509 109.007 424.794 108.784 425.155 108.622C425.519 108.46 425.931 108.379 426.391 108.379C427.039 108.379 427.547 108.521 427.917 108.805C428.289 109.089 428.553 109.464 428.709 109.93ZM433.189 108.464V109.317H429.797V108.464H433.189ZM430.786 106.896H431.791V113.135C431.791 113.419 431.832 113.632 431.915 113.774C432 113.913 432.108 114.007 432.239 114.055C432.372 114.101 432.513 114.123 432.661 114.123C432.771 114.123 432.862 114.118 432.933 114.106C433.004 114.092 433.061 114.081 433.104 114.072L433.308 114.976C433.24 115.001 433.145 115.027 433.023 115.052C432.901 115.081 432.746 115.095 432.558 115.095C432.274 115.095 431.996 115.034 431.723 114.912C431.453 114.79 431.229 114.604 431.05 114.354C430.874 114.104 430.786 113.788 430.786 113.407V106.896ZM438.217 110.8V111.737H434.399V110.8H438.217ZM439.987 117.464V108.464H440.958V109.504H441.078C441.152 109.39 441.254 109.246 441.385 109.069C441.518 108.89 441.708 108.731 441.956 108.592C442.206 108.45 442.544 108.379 442.97 108.379C443.521 108.379 444.007 108.517 444.427 108.792C444.848 109.068 445.176 109.459 445.412 109.964C445.647 110.47 445.765 111.067 445.765 111.754C445.765 112.447 445.647 113.048 445.412 113.557C445.176 114.062 444.849 114.454 444.431 114.733C444.014 115.008 443.532 115.146 442.987 115.146C442.566 115.146 442.23 115.077 441.977 114.937C441.724 114.795 441.529 114.635 441.393 114.456C441.257 114.274 441.152 114.123 441.078 114.004H440.993V117.464H439.987ZM440.975 111.737C440.975 112.231 441.048 112.667 441.193 113.045C441.338 113.42 441.549 113.714 441.828 113.927C442.106 114.138 442.447 114.243 442.85 114.243C443.271 114.243 443.622 114.132 443.903 113.91C444.187 113.686 444.4 113.385 444.542 113.007C444.687 112.626 444.76 112.203 444.76 111.737C444.76 111.277 444.689 110.862 444.547 110.493C444.407 110.121 444.196 109.827 443.912 109.611C443.63 109.392 443.277 109.282 442.85 109.282C442.441 109.282 442.098 109.386 441.819 109.594C441.541 109.798 441.331 110.085 441.189 110.454C441.047 110.821 440.975 111.248 440.975 111.737ZM449.225 115.163C448.811 115.163 448.434 115.085 448.096 114.929C447.758 114.77 447.49 114.541 447.291 114.243C447.092 113.942 446.993 113.578 446.993 113.152C446.993 112.777 447.066 112.473 447.214 112.24C447.362 112.004 447.559 111.819 447.806 111.686C448.054 111.552 448.326 111.453 448.625 111.388C448.926 111.319 449.228 111.265 449.532 111.226C449.93 111.175 450.252 111.136 450.5 111.111C450.75 111.082 450.931 111.035 451.045 110.97C451.162 110.905 451.22 110.791 451.22 110.629V110.595C451.22 110.175 451.105 109.848 450.875 109.615C450.647 109.382 450.302 109.265 449.839 109.265C449.359 109.265 448.983 109.371 448.71 109.581C448.437 109.791 448.245 110.015 448.135 110.254L447.18 109.913C447.35 109.515 447.578 109.206 447.862 108.984C448.149 108.76 448.461 108.604 448.799 108.515C449.14 108.425 449.475 108.379 449.805 108.379C450.015 108.379 450.257 108.405 450.529 108.456C450.805 108.504 451.071 108.605 451.326 108.758C451.585 108.912 451.799 109.143 451.97 109.453C452.14 109.763 452.225 110.177 452.225 110.697V115.01H451.22V114.123H451.169C451.1 114.265 450.987 114.417 450.828 114.579C450.669 114.741 450.457 114.879 450.193 114.993C449.929 115.106 449.606 115.163 449.225 115.163ZM449.379 114.26C449.777 114.26 450.112 114.182 450.385 114.025C450.66 113.869 450.868 113.667 451.007 113.42C451.149 113.173 451.22 112.913 451.22 112.64V111.72C451.177 111.771 451.083 111.818 450.939 111.861C450.797 111.9 450.632 111.936 450.444 111.967C450.26 111.996 450.079 112.021 449.903 112.044C449.73 112.064 449.589 112.081 449.481 112.095C449.22 112.129 448.975 112.184 448.748 112.261C448.524 112.335 448.342 112.447 448.203 112.598C448.066 112.746 447.998 112.947 447.998 113.203C447.998 113.552 448.127 113.817 448.386 113.996C448.647 114.172 448.978 114.26 449.379 114.26ZM456.703 117.601C456.217 117.601 455.8 117.538 455.45 117.413C455.101 117.291 454.81 117.129 454.577 116.927C454.347 116.729 454.163 116.515 454.027 116.288L454.828 115.726C454.919 115.845 455.034 115.981 455.173 116.135C455.313 116.291 455.503 116.426 455.744 116.54C455.989 116.656 456.308 116.714 456.703 116.714C457.232 116.714 457.668 116.586 458.011 116.331C458.355 116.075 458.527 115.675 458.527 115.129V113.8H458.442C458.368 113.919 458.263 114.067 458.126 114.243C457.993 114.416 457.8 114.571 457.547 114.707C457.297 114.841 456.959 114.907 456.533 114.907C456.004 114.907 455.53 114.782 455.109 114.532C454.692 114.282 454.361 113.919 454.116 113.442C453.875 112.964 453.754 112.385 453.754 111.703C453.754 111.032 453.872 110.449 454.108 109.952C454.344 109.452 454.672 109.065 455.092 108.792C455.513 108.517 455.999 108.379 456.55 108.379C456.976 108.379 457.314 108.45 457.564 108.592C457.817 108.731 458.01 108.89 458.143 109.069C458.28 109.246 458.385 109.39 458.459 109.504H458.561V108.464H459.533V115.197C459.533 115.76 459.405 116.217 459.149 116.569C458.896 116.925 458.555 117.184 458.126 117.349C457.7 117.517 457.226 117.601 456.703 117.601ZM456.669 114.004C457.072 114.004 457.413 113.912 457.692 113.727C457.97 113.542 458.182 113.277 458.327 112.93C458.472 112.584 458.544 112.169 458.544 111.686C458.544 111.214 458.473 110.798 458.331 110.437C458.189 110.077 457.979 109.794 457.7 109.589C457.422 109.385 457.078 109.282 456.669 109.282C456.243 109.282 455.888 109.39 455.604 109.606C455.322 109.822 455.111 110.112 454.969 110.476C454.83 110.839 454.76 111.243 454.76 111.686C454.76 112.14 454.831 112.542 454.973 112.892C455.118 113.238 455.331 113.511 455.612 113.71C455.896 113.906 456.249 114.004 456.669 114.004ZM464.118 115.146C463.487 115.146 462.943 115.007 462.486 114.729C462.031 114.447 461.68 114.055 461.433 113.552C461.189 113.047 461.067 112.459 461.067 111.788C461.067 111.118 461.189 110.527 461.433 110.015C461.68 109.501 462.024 109.101 462.464 108.814C462.908 108.524 463.425 108.379 464.016 108.379C464.357 108.379 464.693 108.436 465.026 108.55C465.358 108.663 465.661 108.848 465.933 109.104C466.206 109.356 466.423 109.692 466.585 110.109C466.747 110.527 466.828 111.041 466.828 111.652V112.078H461.783V111.209H465.805C465.805 110.839 465.732 110.51 465.584 110.22C465.439 109.93 465.232 109.702 464.962 109.534C464.695 109.366 464.379 109.282 464.016 109.282C463.615 109.282 463.268 109.382 462.976 109.581C462.686 109.777 462.463 110.032 462.307 110.348C462.151 110.663 462.072 111.001 462.072 111.362V111.942C462.072 112.436 462.158 112.855 462.328 113.199C462.501 113.54 462.741 113.8 463.048 113.979C463.355 114.155 463.712 114.243 464.118 114.243C464.382 114.243 464.621 114.206 464.834 114.132C465.05 114.055 465.236 113.942 465.392 113.791C465.548 113.638 465.669 113.447 465.754 113.22L466.726 113.493C466.624 113.822 466.452 114.112 466.21 114.362C465.969 114.609 465.67 114.802 465.315 114.942C464.96 115.078 464.561 115.146 464.118 115.146ZM472.994 109.93L472.091 110.186C472.034 110.035 471.95 109.889 471.839 109.747C471.732 109.602 471.584 109.483 471.396 109.389C471.209 109.295 470.969 109.248 470.676 109.248C470.276 109.248 469.942 109.341 469.675 109.525C469.411 109.707 469.278 109.939 469.278 110.22C469.278 110.47 469.369 110.667 469.551 110.812C469.733 110.957 470.017 111.078 470.403 111.175L471.375 111.413C471.96 111.555 472.396 111.773 472.683 112.065C472.97 112.355 473.114 112.729 473.114 113.186C473.114 113.561 473.006 113.896 472.79 114.192C472.577 114.487 472.278 114.72 471.895 114.89C471.511 115.061 471.065 115.146 470.557 115.146C469.889 115.146 469.337 115.001 468.899 114.711C468.462 114.422 468.185 113.998 468.068 113.442L469.023 113.203C469.114 113.555 469.286 113.819 469.538 113.996C469.794 114.172 470.128 114.26 470.54 114.26C471.009 114.26 471.381 114.16 471.656 113.961C471.935 113.76 472.074 113.518 472.074 113.237C472.074 113.01 471.994 112.819 471.835 112.666C471.676 112.51 471.432 112.393 471.102 112.317L470.011 112.061C469.412 111.919 468.972 111.699 468.69 111.4C468.412 111.099 468.273 110.723 468.273 110.271C468.273 109.902 468.376 109.575 468.584 109.291C468.794 109.007 469.08 108.784 469.44 108.622C469.804 108.46 470.216 108.379 470.676 108.379C471.324 108.379 471.832 108.521 472.202 108.805C472.574 109.089 472.838 109.464 472.994 109.93Z" fill="#737373"/>
53<path d="M573.667 148.019H395.26C391.803 148.019 389 150.824 389 154.284V165.771C389 169.232 391.803 172.037 395.26 172.037H573.667C577.124 172.037 579.927 169.232 579.927 165.771V154.284C579.927 150.824 577.124 148.019 573.667 148.019Z" fill="#FAFAFA"/>
54<path d="M395.26 148.519H573.667C576.847 148.519 579.427 151.1 579.427 154.284V165.771C579.427 168.956 576.847 171.537 573.667 171.537H395.26C392.079 171.537 389.5 168.956 389.5 165.771V154.284C389.5 151.1 392.079 148.519 395.26 148.519Z" stroke="#636262" stroke-opacity="0.2"/>
55<rect width="72.4331" height="10.4429" transform="translate(397.746 155.027)" fill="#FAFAFA"/>
56<path d="M397.746 160.249C397.746 157.366 400.082 155.027 402.963 155.027C405.843 155.027 408.179 157.366 408.179 160.249C408.179 163.132 405.843 165.47 402.963 165.47C400.082 165.47 397.746 163.132 397.746 160.249Z" fill="#00C16A" fill-opacity="0.25"/>
57<path d="M402.963 162.337C404.115 162.337 405.049 161.402 405.049 160.249C405.049 159.095 404.115 158.16 402.963 158.16C401.81 158.16 400.876 159.095 400.876 160.249C400.876 161.402 401.81 162.337 402.963 162.337Z" fill="#00C16A"/>
58<path d="M417.185 154.891L414.373 165.34H413.452L416.265 154.891H417.185ZM421.02 166.618C420.534 166.618 420.116 166.556 419.767 166.431C419.417 166.309 419.126 166.147 418.893 165.945C418.663 165.746 418.48 165.533 418.343 165.306L419.145 164.743C419.235 164.863 419.35 164.999 419.49 165.152C419.629 165.309 419.819 165.444 420.061 165.557C420.305 165.674 420.625 165.732 421.02 165.732C421.548 165.732 421.984 165.604 422.328 165.348C422.672 165.093 422.843 164.692 422.843 164.147V162.817H422.758C422.684 162.936 422.579 163.084 422.443 163.26C422.309 163.434 422.116 163.588 421.863 163.725C421.613 163.858 421.275 163.925 420.849 163.925C420.321 163.925 419.846 163.8 419.426 163.55C419.008 163.3 418.677 162.936 418.433 162.459C418.191 161.982 418.071 161.402 418.071 160.721C418.071 160.05 418.189 159.466 418.424 158.969C418.66 158.469 418.988 158.083 419.409 157.81C419.829 157.534 420.315 157.397 420.866 157.397C421.292 157.397 421.63 157.468 421.88 157.61C422.133 157.749 422.326 157.908 422.46 158.087C422.596 158.263 422.701 158.408 422.775 158.522H422.877V157.482H423.849V164.215C423.849 164.777 423.721 165.235 423.466 165.587C423.213 165.942 422.872 166.202 422.443 166.367C422.017 166.534 421.542 166.618 421.02 166.618ZM420.985 163.022C421.389 163.022 421.73 162.929 422.008 162.745C422.287 162.56 422.498 162.294 422.643 161.948C422.788 161.601 422.86 161.186 422.86 160.703C422.86 160.232 422.789 159.816 422.647 159.455C422.505 159.094 422.295 158.811 422.017 158.607C421.738 158.402 421.395 158.3 420.985 158.3C420.559 158.3 420.204 158.408 419.92 158.624C419.639 158.84 419.427 159.13 419.285 159.493C419.146 159.857 419.076 160.26 419.076 160.703C419.076 161.158 419.147 161.56 419.289 161.909C419.434 162.256 419.647 162.529 419.929 162.728C420.213 162.924 420.565 163.022 420.985 163.022ZM428.434 164.164C427.804 164.164 427.26 164.025 426.802 163.746C426.348 163.465 425.997 163.073 425.75 162.57C425.505 162.064 425.383 161.476 425.383 160.806C425.383 160.135 425.505 159.544 425.75 159.033C425.997 158.519 426.341 158.118 426.781 157.831C427.224 157.542 427.741 157.397 428.332 157.397C428.673 157.397 429.01 157.453 429.342 157.567C429.674 157.681 429.977 157.865 430.25 158.121C430.522 158.374 430.74 158.709 430.902 159.127C431.064 159.544 431.145 160.059 431.145 160.669V161.096H426.099V160.226H430.122C430.122 159.857 430.048 159.527 429.9 159.238C429.755 158.948 429.548 158.719 429.278 158.551C429.011 158.384 428.696 158.3 428.332 158.3C427.931 158.3 427.585 158.4 427.292 158.598C427.002 158.794 426.779 159.05 426.623 159.365C426.467 159.681 426.389 160.019 426.389 160.38V160.959C426.389 161.453 426.474 161.873 426.645 162.216C426.818 162.557 427.058 162.817 427.365 162.996C427.672 163.172 428.028 163.26 428.434 163.26C428.699 163.26 428.937 163.223 429.15 163.15C429.366 163.073 429.552 162.959 429.708 162.809C429.865 162.655 429.985 162.465 430.071 162.238L431.042 162.51C430.94 162.84 430.768 163.13 430.527 163.38C430.285 163.627 429.987 163.82 429.632 163.959C429.277 164.096 428.877 164.164 428.434 164.164ZM435.521 157.482V158.334H432.129V157.482H435.521ZM433.118 155.914H434.123V162.152C434.123 162.436 434.164 162.65 434.247 162.792C434.332 162.931 434.44 163.025 434.571 163.073C434.704 163.118 434.845 163.141 434.993 163.141C435.103 163.141 435.194 163.135 435.265 163.124C435.336 163.11 435.393 163.098 435.436 163.09L435.64 163.993C435.572 164.019 435.477 164.044 435.355 164.07C435.233 164.098 435.078 164.113 434.89 164.113C434.606 164.113 434.328 164.051 434.055 163.929C433.785 163.807 433.561 163.621 433.382 163.371C433.206 163.121 433.118 162.806 433.118 162.425V155.914ZM440.549 159.817V160.755H436.731V159.817H440.549ZM442.319 166.482V157.482H443.29V158.522H443.41C443.484 158.408 443.586 158.263 443.717 158.087C443.85 157.908 444.04 157.749 444.288 157.61C444.538 157.468 444.876 157.397 445.302 157.397C445.853 157.397 446.339 157.534 446.759 157.81C447.18 158.086 447.508 158.476 447.744 158.982C447.979 159.488 448.097 160.084 448.097 160.772C448.097 161.465 447.979 162.066 447.744 162.574C447.508 163.08 447.181 163.472 446.763 163.75C446.346 164.026 445.864 164.164 445.319 164.164C444.898 164.164 444.562 164.094 444.309 163.955C444.056 163.813 443.862 163.652 443.725 163.473C443.589 163.292 443.484 163.141 443.41 163.022H443.325V166.482H442.319ZM443.308 160.755C443.308 161.249 443.38 161.685 443.525 162.063C443.67 162.438 443.881 162.732 444.16 162.945C444.438 163.155 444.779 163.26 445.183 163.26C445.603 163.26 445.954 163.15 446.235 162.928C446.519 162.703 446.732 162.402 446.874 162.025C447.019 161.644 447.092 161.221 447.092 160.755C447.092 160.294 447.021 159.88 446.879 159.51C446.739 159.138 446.528 158.844 446.244 158.628C445.962 158.409 445.609 158.3 445.183 158.3C444.773 158.3 444.43 158.404 444.151 158.611C443.873 158.816 443.663 159.103 443.521 159.472C443.379 159.838 443.308 160.266 443.308 160.755ZM451.558 164.181C451.143 164.181 450.766 164.103 450.428 163.946C450.09 163.787 449.822 163.559 449.623 163.26C449.424 162.959 449.325 162.596 449.325 162.169C449.325 161.794 449.398 161.49 449.546 161.257C449.694 161.022 449.891 160.837 450.138 160.703C450.386 160.57 450.658 160.471 450.957 160.405C451.258 160.337 451.56 160.283 451.864 160.243C452.262 160.192 452.585 160.154 452.832 160.128C453.082 160.1 453.263 160.053 453.377 159.988C453.494 159.922 453.552 159.809 453.552 159.647V159.613C453.552 159.192 453.437 158.865 453.207 158.632C452.979 158.4 452.634 158.283 452.171 158.283C451.691 158.283 451.315 158.388 451.042 158.598C450.769 158.809 450.577 159.033 450.467 159.272L449.512 158.931C449.683 158.533 449.91 158.223 450.194 158.002C450.481 157.777 450.793 157.621 451.131 157.533C451.472 157.442 451.808 157.397 452.137 157.397C452.347 157.397 452.589 157.422 452.862 157.473C453.137 157.522 453.403 157.623 453.658 157.776C453.917 157.929 454.131 158.161 454.302 158.471C454.472 158.78 454.558 159.195 454.558 159.715V164.027H453.552V163.141H453.501C453.433 163.283 453.319 163.435 453.16 163.597C453.001 163.759 452.789 163.897 452.525 164.01C452.261 164.124 451.938 164.181 451.558 164.181ZM451.711 163.277C452.109 163.277 452.444 163.199 452.717 163.043C452.992 162.887 453.2 162.685 453.339 162.438C453.481 162.191 453.552 161.931 453.552 161.658V160.738C453.509 160.789 453.415 160.836 453.271 160.878C453.129 160.918 452.964 160.953 452.776 160.985C452.592 161.013 452.411 161.039 452.235 161.061C452.062 161.081 451.921 161.098 451.813 161.113C451.552 161.147 451.308 161.202 451.08 161.279C450.856 161.353 450.674 161.465 450.535 161.615C450.398 161.763 450.33 161.965 450.33 162.221C450.33 162.57 450.46 162.834 450.718 163.013C450.979 163.189 451.31 163.277 451.711 163.277ZM459.035 166.618C458.549 166.618 458.132 166.556 457.782 166.431C457.433 166.309 457.142 166.147 456.909 165.945C456.679 165.746 456.495 165.533 456.359 165.306L457.16 164.743C457.251 164.863 457.366 164.999 457.505 165.152C457.645 165.309 457.835 165.444 458.076 165.557C458.321 165.674 458.64 165.732 459.035 165.732C459.564 165.732 460 165.604 460.343 165.348C460.687 165.093 460.859 164.692 460.859 164.147V162.817H460.774C460.7 162.936 460.595 163.084 460.458 163.26C460.325 163.434 460.132 163.588 459.879 163.725C459.629 163.858 459.291 163.925 458.865 163.925C458.336 163.925 457.862 163.8 457.441 163.55C457.024 163.3 456.693 162.936 456.449 162.459C456.207 161.982 456.086 161.402 456.086 160.721C456.086 160.05 456.204 159.466 456.44 158.969C456.676 158.469 457.004 158.083 457.424 157.81C457.845 157.534 458.331 157.397 458.882 157.397C459.308 157.397 459.646 157.468 459.896 157.61C460.149 157.749 460.342 157.908 460.475 158.087C460.612 158.263 460.717 158.408 460.791 158.522H460.893V157.482H461.865V164.215C461.865 164.777 461.737 165.235 461.481 165.587C461.228 165.942 460.887 166.202 460.458 166.367C460.032 166.534 459.558 166.618 459.035 166.618ZM459.001 163.022C459.404 163.022 459.745 162.929 460.024 162.745C460.302 162.56 460.514 162.294 460.659 161.948C460.804 161.601 460.876 161.186 460.876 160.703C460.876 160.232 460.805 159.816 460.663 159.455C460.521 159.094 460.311 158.811 460.032 158.607C459.754 158.402 459.41 158.3 459.001 158.3C458.575 158.3 458.22 158.408 457.936 158.624C457.654 158.84 457.443 159.13 457.301 159.493C457.162 159.857 457.092 160.26 457.092 160.703C457.092 161.158 457.163 161.56 457.305 161.909C457.45 162.256 457.663 162.529 457.944 162.728C458.228 162.924 458.581 163.022 459.001 163.022ZM466.45 164.164C465.819 164.164 465.275 164.025 464.818 163.746C464.363 163.465 464.012 163.073 463.765 162.57C463.521 162.064 463.399 161.476 463.399 160.806C463.399 160.135 463.521 159.544 463.765 159.033C464.012 158.519 464.356 158.118 464.797 157.831C465.24 157.542 465.757 157.397 466.348 157.397C466.689 157.397 467.025 157.453 467.358 157.567C467.69 157.681 467.993 157.865 468.265 158.121C468.538 158.374 468.755 158.709 468.917 159.127C469.079 159.544 469.16 160.059 469.16 160.669V161.096H464.115V160.226H468.137C468.137 159.857 468.064 159.527 467.916 159.238C467.771 158.948 467.564 158.719 467.294 158.551C467.027 158.384 466.711 158.3 466.348 158.3C465.947 158.3 465.6 158.4 465.308 158.598C465.018 158.794 464.795 159.05 464.639 159.365C464.483 159.681 464.404 160.019 464.404 160.38V160.959C464.404 161.453 464.49 161.873 464.66 162.216C464.833 162.557 465.074 162.817 465.38 162.996C465.687 163.172 466.044 163.26 466.45 163.26C466.714 163.26 466.953 163.223 467.166 163.15C467.382 163.073 467.568 162.959 467.724 162.809C467.88 162.655 468.001 162.465 468.086 162.238L469.058 162.51C468.956 162.84 468.784 163.13 468.542 163.38C468.301 163.627 468.002 163.82 467.647 163.959C467.292 164.096 466.893 164.164 466.45 164.164Z" fill="#737373"/>
59<path d="M573.667 197.037H395.26C391.803 197.037 389 199.842 389 203.303V214.79C389 218.25 391.803 221.056 395.26 221.056H573.667C577.124 221.056 579.927 218.25 579.927 214.79V203.303C579.927 199.842 577.124 197.037 573.667 197.037Z" fill="#FAFAFA"/>
60<path d="M395.26 197.537H573.667C576.847 197.537 579.427 200.118 579.427 203.303V214.79C579.427 217.975 576.847 220.555 573.667 220.556H395.26C392.079 220.556 389.5 217.975 389.5 214.79V203.303C389.5 200.118 392.079 197.537 395.26 197.537Z" stroke="#636262" stroke-opacity="0.2"/>
61<rect width="134.433" height="10.4429" transform="translate(397.746 204.047)" fill="#FAFAFA"/>
62<path d="M397.746 209.268C397.746 206.385 400.082 204.047 402.963 204.047C405.843 204.047 408.179 206.385 408.179 209.268C408.179 212.152 405.843 214.49 402.963 214.49C400.082 214.49 397.746 212.152 397.746 209.268Z" fill="#00C16A" fill-opacity="0.25"/>
63<path d="M402.963 211.357C404.115 211.357 405.049 210.422 405.049 209.268C405.049 208.115 404.115 207.18 402.963 207.18C401.81 207.18 400.876 208.115 400.876 209.268C400.876 210.422 401.81 211.357 402.963 211.357Z" fill="#00C16A"/>
64<path d="M417.185 203.911L414.373 214.359H413.452L416.265 203.911H417.185ZM421.02 215.638C420.534 215.638 420.116 215.575 419.767 215.45C419.417 215.328 419.126 215.166 418.893 214.964C418.663 214.766 418.48 214.553 418.343 214.325L419.145 213.763C419.235 213.882 419.35 214.018 419.49 214.172C419.629 214.328 419.819 214.463 420.061 214.577C420.305 214.693 420.625 214.751 421.02 214.751C421.548 214.751 421.984 214.624 422.328 214.368C422.672 214.112 422.843 213.712 422.843 213.166V211.837H422.758C422.684 211.956 422.579 212.104 422.443 212.28C422.309 212.453 422.116 212.608 421.863 212.744C421.613 212.878 421.275 212.945 420.849 212.945C420.321 212.945 419.846 212.82 419.426 212.57C419.008 212.32 418.677 211.956 418.433 211.479C418.191 211.001 418.071 210.422 418.071 209.74C418.071 209.07 418.189 208.486 418.424 207.989C418.66 207.489 418.988 207.102 419.409 206.83C419.829 206.554 420.315 206.416 420.866 206.416C421.292 206.416 421.63 206.487 421.88 206.629C422.133 206.768 422.326 206.928 422.46 207.107C422.596 207.283 422.701 207.428 422.775 207.541H422.877V206.501H423.849V213.234C423.849 213.797 423.721 214.254 423.466 214.607C423.213 214.962 422.872 215.222 422.443 215.386C422.017 215.554 421.542 215.638 421.02 215.638ZM420.985 212.041C421.389 212.041 421.73 211.949 422.008 211.764C422.287 211.58 422.498 211.314 422.643 210.967C422.788 210.621 422.86 210.206 422.86 209.723C422.86 209.251 422.789 208.835 422.647 208.474C422.505 208.114 422.295 207.831 422.017 207.626C421.738 207.422 421.395 207.32 420.985 207.32C420.559 207.32 420.204 207.428 419.92 207.643C419.639 207.859 419.427 208.149 419.285 208.513C419.146 208.876 419.076 209.28 419.076 209.723C419.076 210.178 419.147 210.58 419.289 210.929C419.434 211.276 419.647 211.548 419.929 211.747C420.213 211.943 420.565 212.041 420.985 212.041ZM428.434 213.183C427.804 213.183 427.26 213.044 426.802 212.766C426.348 212.484 425.997 212.092 425.75 211.589C425.505 211.084 425.383 210.496 425.383 209.825C425.383 209.155 425.505 208.564 425.75 208.053C425.997 207.538 426.341 207.138 426.781 206.851C427.224 206.561 427.741 206.416 428.332 206.416C428.673 206.416 429.01 206.473 429.342 206.587C429.674 206.7 429.977 206.885 430.25 207.141C430.522 207.393 430.74 207.729 430.902 208.146C431.064 208.564 431.145 209.078 431.145 209.689V210.115H426.099V209.246H430.122C430.122 208.876 430.048 208.547 429.9 208.257C429.755 207.967 429.548 207.739 429.278 207.571C429.011 207.403 428.696 207.32 428.332 207.32C427.931 207.32 427.585 207.419 427.292 207.618C427.002 207.814 426.779 208.07 426.623 208.385C426.467 208.7 426.389 209.038 426.389 209.399V209.979C426.389 210.473 426.474 210.892 426.645 211.236C426.818 211.577 427.058 211.837 427.365 212.016C427.672 212.192 428.028 212.28 428.434 212.28C428.699 212.28 428.937 212.243 429.15 212.169C429.366 212.092 429.552 211.979 429.708 211.828C429.865 211.675 429.985 211.484 430.071 211.257L431.042 211.53C430.94 211.859 430.768 212.149 430.527 212.399C430.285 212.646 429.987 212.839 429.632 212.979C429.277 213.115 428.877 213.183 428.434 213.183ZM435.521 206.501V207.354H432.129V206.501H435.521ZM433.118 204.933H434.123V211.172C434.123 211.456 434.164 211.669 434.247 211.811C434.332 211.95 434.44 212.044 434.571 212.092C434.704 212.138 434.845 212.161 434.993 212.161C435.103 212.161 435.194 212.155 435.265 212.143C435.336 212.129 435.393 212.118 435.436 212.109L435.64 213.013C435.572 213.038 435.477 213.064 435.355 213.089C435.233 213.118 435.078 213.132 434.89 213.132C434.606 213.132 434.328 213.071 434.055 212.949C433.785 212.827 433.561 212.641 433.382 212.391C433.206 212.141 433.118 211.825 433.118 211.445V204.933ZM440.549 208.837V209.774H436.731V208.837H440.549ZM442.319 213.047V206.501H443.29V207.524H443.376C443.512 207.175 443.732 206.903 444.036 206.71C444.34 206.514 444.705 206.416 445.131 206.416C445.563 206.416 445.923 206.514 446.21 206.71C446.499 206.903 446.725 207.175 446.887 207.524H446.955C447.123 207.186 447.374 206.918 447.71 206.719C448.045 206.517 448.447 206.416 448.915 206.416C449.501 206.416 449.979 206.599 450.352 206.966C450.724 207.33 450.91 207.896 450.91 208.666V213.047H449.904V208.666C449.904 208.183 449.772 207.838 449.508 207.631C449.244 207.423 448.933 207.32 448.575 207.32C448.114 207.32 447.758 207.459 447.505 207.737C447.252 208.013 447.126 208.362 447.126 208.786V213.047H446.103V208.564C446.103 208.192 445.982 207.892 445.741 207.665C445.499 207.435 445.188 207.32 444.808 207.32C444.546 207.32 444.302 207.389 444.075 207.528C443.85 207.668 443.668 207.861 443.529 208.108C443.393 208.352 443.325 208.635 443.325 208.956V213.047H442.319ZM452.749 213.047V206.501H453.754V213.047H452.749ZM453.26 205.411C453.064 205.411 452.895 205.344 452.753 205.21C452.614 205.077 452.544 204.916 452.544 204.729C452.544 204.541 452.614 204.381 452.753 204.247C452.895 204.114 453.064 204.047 453.26 204.047C453.456 204.047 453.624 204.114 453.763 204.247C453.905 204.381 453.976 204.541 453.976 204.729C453.976 204.916 453.905 205.077 453.763 205.21C453.624 205.344 453.456 205.411 453.26 205.411ZM458.238 215.638C457.752 215.638 457.335 215.575 456.985 215.45C456.636 215.328 456.345 215.166 456.112 214.964C455.882 214.766 455.699 214.553 455.562 214.325L456.363 213.763C456.454 213.882 456.569 214.018 456.708 214.172C456.848 214.328 457.038 214.463 457.279 214.577C457.524 214.693 457.843 214.751 458.238 214.751C458.767 214.751 459.203 214.624 459.547 214.368C459.89 214.112 460.062 213.712 460.062 213.166V211.837H459.977C459.903 211.956 459.798 212.104 459.662 212.28C459.528 212.453 459.335 212.608 459.082 212.744C458.832 212.878 458.494 212.945 458.068 212.945C457.539 212.945 457.065 212.82 456.645 212.57C456.227 212.32 455.896 211.956 455.652 211.479C455.41 211.001 455.289 210.422 455.289 209.74C455.289 209.07 455.407 208.486 455.643 207.989C455.879 207.489 456.207 207.102 456.627 206.83C457.048 206.554 457.534 206.416 458.085 206.416C458.511 206.416 458.849 206.487 459.099 206.629C459.352 206.768 459.545 206.928 459.679 207.107C459.815 207.283 459.92 207.428 459.994 207.541H460.096V206.501H461.068V213.234C461.068 213.797 460.94 214.254 460.684 214.607C460.431 214.962 460.091 215.222 459.662 215.386C459.235 215.554 458.761 215.638 458.238 215.638ZM458.204 212.041C458.608 212.041 458.949 211.949 459.227 211.764C459.505 211.58 459.717 211.314 459.862 210.967C460.007 210.621 460.079 210.206 460.079 209.723C460.079 209.251 460.008 208.835 459.866 208.474C459.724 208.114 459.514 207.831 459.235 207.626C458.957 207.422 458.613 207.32 458.204 207.32C457.778 207.32 457.423 207.428 457.139 207.643C456.858 207.859 456.646 208.149 456.504 208.513C456.365 208.876 456.295 209.28 456.295 209.723C456.295 210.178 456.366 210.58 456.508 210.929C456.653 211.276 456.866 211.548 457.147 211.747C457.431 211.943 457.784 212.041 458.204 212.041ZM462.909 213.047V206.501H463.88V207.49H463.949C464.068 207.166 464.284 206.903 464.596 206.702C464.909 206.5 465.261 206.399 465.653 206.399C465.727 206.399 465.819 206.401 465.93 206.403C466.041 206.406 466.125 206.411 466.181 206.416V207.439C466.147 207.43 466.069 207.418 465.947 207.401C465.828 207.381 465.701 207.371 465.568 207.371C465.25 207.371 464.966 207.437 464.716 207.571C464.468 207.702 464.272 207.884 464.127 208.116C463.985 208.347 463.914 208.609 463.914 208.905V213.047H462.909ZM469.3 213.2C468.885 213.2 468.509 213.122 468.17 212.966C467.832 212.807 467.564 212.578 467.365 212.28C467.166 211.979 467.067 211.615 467.067 211.189C467.067 210.814 467.141 210.51 467.288 210.277C467.436 210.041 467.634 209.857 467.881 209.723C468.128 209.589 468.401 209.49 468.699 209.425C469 209.357 469.303 209.303 469.607 209.263C470.004 209.212 470.327 209.173 470.574 209.148C470.824 209.119 471.006 209.072 471.119 209.007C471.236 208.942 471.294 208.828 471.294 208.666V208.632C471.294 208.212 471.179 207.885 470.949 207.652C470.722 207.419 470.376 207.303 469.913 207.303C469.433 207.303 469.057 207.408 468.784 207.618C468.511 207.828 468.32 208.053 468.209 208.291L467.254 207.95C467.425 207.553 467.652 207.243 467.936 207.021C468.223 206.797 468.536 206.641 468.874 206.553C469.214 206.462 469.55 206.416 469.879 206.416C470.089 206.416 470.331 206.442 470.604 206.493C470.879 206.541 471.145 206.642 471.401 206.795C471.659 206.949 471.874 207.18 472.044 207.49C472.214 207.8 472.3 208.214 472.3 208.734V213.047H471.294V212.161H471.243C471.175 212.303 471.061 212.455 470.902 212.616C470.743 212.778 470.531 212.916 470.267 213.03C470.003 213.143 469.68 213.2 469.3 213.2ZM469.453 212.297C469.851 212.297 470.186 212.219 470.459 212.062C470.734 211.906 470.942 211.705 471.081 211.457C471.223 211.21 471.294 210.95 471.294 210.678V209.757C471.251 209.808 471.158 209.855 471.013 209.898C470.871 209.937 470.706 209.973 470.518 210.004C470.334 210.033 470.153 210.058 469.977 210.081C469.804 210.101 469.663 210.118 469.555 210.132C469.294 210.166 469.05 210.222 468.822 210.298C468.598 210.372 468.416 210.484 468.277 210.635C468.141 210.783 468.072 210.984 468.072 211.24C468.072 211.589 468.202 211.854 468.46 212.033C468.722 212.209 469.053 212.297 469.453 212.297ZM476.982 206.501V207.354H473.59V206.501H476.982ZM474.578 204.933H475.584V211.172C475.584 211.456 475.625 211.669 475.708 211.811C475.793 211.95 475.901 212.044 476.032 212.092C476.165 212.138 476.306 212.161 476.453 212.161C476.564 212.161 476.655 212.155 476.726 212.143C476.797 212.129 476.854 212.118 476.897 212.109L477.101 213.013C477.033 213.038 476.938 213.064 476.816 213.089C476.694 213.118 476.539 213.132 476.351 213.132C476.067 213.132 475.789 213.071 475.516 212.949C475.246 212.827 475.022 212.641 474.843 212.391C474.667 212.141 474.578 211.825 474.578 211.445V204.933ZM478.495 213.047V206.501H479.5V213.047H478.495ZM479.006 205.411C478.81 205.411 478.641 205.344 478.499 205.21C478.36 205.077 478.29 204.916 478.29 204.729C478.29 204.541 478.36 204.381 478.499 204.247C478.641 204.114 478.81 204.047 479.006 204.047C479.202 204.047 479.37 204.114 479.509 204.247C479.651 204.381 479.722 204.541 479.722 204.729C479.722 204.916 479.651 205.077 479.509 205.21C479.37 205.344 479.202 205.411 479.006 205.411ZM484.001 213.183C483.411 213.183 482.892 213.043 482.446 212.761C482.003 212.48 481.656 212.087 481.406 211.581C481.159 211.075 481.036 210.484 481.036 209.808C481.036 209.126 481.159 208.531 481.406 208.023C481.656 207.514 482.003 207.119 482.446 206.838C482.892 206.557 483.411 206.416 484.001 206.416C484.592 206.416 485.109 206.557 485.553 206.838C485.999 207.119 486.345 207.514 486.592 208.023C486.842 208.531 486.967 209.126 486.967 209.808C486.967 210.484 486.842 211.075 486.592 211.581C486.345 212.087 485.999 212.48 485.553 212.761C485.109 213.043 484.592 213.183 484.001 213.183ZM484.001 212.28C484.45 212.28 484.82 212.165 485.109 211.935C485.399 211.705 485.614 211.402 485.753 211.027C485.892 210.652 485.962 210.246 485.962 209.808C485.962 209.371 485.892 208.963 485.753 208.585C485.614 208.207 485.399 207.902 485.109 207.669C484.82 207.436 484.45 207.32 484.001 207.32C483.553 207.32 483.183 207.436 482.893 207.669C482.604 207.902 482.389 208.207 482.25 208.585C482.111 208.963 482.041 209.371 482.041 209.808C482.041 210.246 482.111 210.652 482.25 211.027C482.389 211.402 482.604 211.705 482.893 211.935C483.183 212.165 483.553 212.28 484.001 212.28ZM489.508 209.109V213.047H488.502V206.501H489.474V207.524H489.559C489.713 207.192 489.946 206.925 490.258 206.723C490.571 206.518 490.974 206.416 491.468 206.416C491.912 206.416 492.299 206.507 492.632 206.689C492.964 206.868 493.223 207.141 493.407 207.507C493.592 207.871 493.684 208.331 493.684 208.888V213.047H492.679V208.956C492.679 208.442 492.545 208.041 492.278 207.754C492.011 207.464 491.645 207.32 491.179 207.32C490.858 207.32 490.571 207.389 490.318 207.528C490.068 207.668 489.87 207.871 489.725 208.138C489.581 208.405 489.508 208.729 489.508 209.109ZM499.272 208.837V209.774H495.454V208.837H499.272ZM503.684 215.638C503.198 215.638 502.78 215.575 502.431 215.45C502.081 215.328 501.79 215.166 501.557 214.964C501.327 214.766 501.144 214.553 501.007 214.325L501.809 213.763C501.9 213.882 502.015 214.018 502.154 214.172C502.293 214.328 502.483 214.463 502.725 214.577C502.969 214.693 503.289 214.751 503.684 214.751C504.212 214.751 504.648 214.624 504.992 214.368C505.336 214.112 505.507 213.712 505.507 213.166V211.837H505.422C505.348 211.956 505.243 212.104 505.107 212.28C504.973 212.453 504.78 212.608 504.527 212.744C504.277 212.878 503.939 212.945 503.513 212.945C502.985 212.945 502.51 212.82 502.09 212.57C501.672 212.32 501.341 211.956 501.097 211.479C500.855 211.001 500.735 210.422 500.735 209.74C500.735 209.07 500.853 208.486 501.088 207.989C501.324 207.489 501.652 207.102 502.073 206.83C502.493 206.554 502.979 206.416 503.53 206.416C503.956 206.416 504.294 206.487 504.544 206.629C504.797 206.768 504.99 206.928 505.124 207.107C505.26 207.283 505.365 207.428 505.439 207.541H505.542V206.501H506.513V213.234C506.513 213.797 506.385 214.254 506.13 214.607C505.877 214.962 505.536 215.222 505.107 215.386C504.681 215.554 504.206 215.638 503.684 215.638ZM503.65 212.041C504.053 212.041 504.394 211.949 504.672 211.764C504.951 211.58 505.162 211.314 505.307 210.967C505.452 210.621 505.525 210.206 505.525 209.723C505.525 209.251 505.453 208.835 505.311 208.474C505.169 208.114 504.959 207.831 504.681 207.626C504.402 207.422 504.059 207.32 503.65 207.32C503.223 207.32 502.868 207.428 502.584 207.643C502.303 207.859 502.091 208.149 501.949 208.513C501.81 208.876 501.74 209.28 501.74 209.723C501.74 210.178 501.811 210.58 501.953 210.929C502.098 211.276 502.311 211.548 502.593 211.747C502.877 211.943 503.229 212.041 503.65 212.041ZM512.479 210.371V206.501H513.485V213.047H512.479V211.939H512.411C512.257 212.271 512.019 212.554 511.695 212.787C511.371 213.017 510.962 213.132 510.468 213.132C510.059 213.132 509.695 213.043 509.377 212.864C509.059 212.682 508.809 212.409 508.627 212.045C508.445 211.679 508.354 211.217 508.354 210.661V206.501H509.36V210.592C509.36 211.07 509.493 211.45 509.76 211.734C510.03 212.018 510.374 212.161 510.792 212.161C511.042 212.161 511.296 212.097 511.554 211.969C511.816 211.841 512.034 211.645 512.211 211.381C512.39 211.116 512.479 210.78 512.479 210.371ZM515.327 213.047V206.501H516.332V213.047H515.327ZM515.838 205.411C515.642 205.411 515.473 205.344 515.331 205.21C515.192 205.077 515.122 204.916 515.122 204.729C515.122 204.541 515.192 204.381 515.331 204.247C515.473 204.114 515.642 204.047 515.838 204.047C516.034 204.047 516.202 204.114 516.341 204.247C516.483 204.381 516.554 204.541 516.554 204.729C516.554 204.916 516.483 205.077 516.341 205.21C516.202 205.344 516.034 205.411 515.838 205.411ZM520.646 213.183C520.1 213.183 519.619 213.045 519.201 212.77C518.784 212.491 518.457 212.099 518.221 211.594C517.985 211.085 517.868 210.484 517.868 209.791C517.868 209.104 517.985 208.507 518.221 208.001C518.457 207.496 518.785 207.105 519.206 206.83C519.626 206.554 520.112 206.416 520.663 206.416C521.089 206.416 521.426 206.487 521.673 206.629C521.923 206.768 522.113 206.928 522.244 207.107C522.377 207.283 522.481 207.428 522.555 207.541H522.64V204.32H523.646V213.047H522.674V212.041H522.555C522.481 212.161 522.376 212.311 522.24 212.493C522.103 212.672 521.909 212.832 521.656 212.974C521.403 213.114 521.066 213.183 520.646 213.183ZM520.782 212.28C521.186 212.28 521.527 212.175 521.805 211.964C522.083 211.751 522.295 211.457 522.44 211.082C522.585 210.705 522.657 210.268 522.657 209.774C522.657 209.286 522.586 208.858 522.444 208.491C522.302 208.122 522.092 207.835 521.814 207.631C521.535 207.423 521.191 207.32 520.782 207.32C520.356 207.32 520.001 207.429 519.717 207.648C519.436 207.864 519.224 208.158 519.082 208.53C518.943 208.899 518.873 209.314 518.873 209.774C518.873 210.24 518.944 210.663 519.086 211.044C519.231 211.422 519.444 211.723 519.725 211.947C520.01 212.169 520.362 212.28 520.782 212.28ZM528.372 213.183C527.741 213.183 527.197 213.044 526.74 212.766C526.285 212.484 525.934 212.092 525.687 211.589C525.443 211.084 525.321 210.496 525.321 209.825C525.321 209.155 525.443 208.564 525.687 208.053C525.934 207.538 526.278 207.138 526.718 206.851C527.162 206.561 527.679 206.416 528.27 206.416C528.61 206.416 528.947 206.473 529.279 206.587C529.612 206.7 529.914 206.885 530.187 207.141C530.46 207.393 530.677 207.729 530.839 208.146C531.001 208.564 531.082 209.078 531.082 209.689V210.115H526.037V209.246H530.059C530.059 208.876 529.985 208.547 529.838 208.257C529.693 207.967 529.485 207.739 529.216 207.571C528.949 207.403 528.633 207.32 528.27 207.32C527.869 207.32 527.522 207.419 527.23 207.618C526.94 207.814 526.717 208.07 526.561 208.385C526.404 208.7 526.326 209.038 526.326 209.399V209.979C526.326 210.473 526.412 210.892 526.582 211.236C526.755 211.577 526.995 211.837 527.302 212.016C527.609 212.192 527.966 212.28 528.372 212.28C528.636 212.28 528.875 212.243 529.088 212.169C529.304 212.092 529.49 211.979 529.646 211.828C529.802 211.675 529.923 211.484 530.008 211.257L530.98 211.53C530.877 211.859 530.706 212.149 530.464 212.399C530.223 212.646 529.924 212.839 529.569 212.979C529.214 213.115 528.815 213.183 528.372 213.183Z" fill="#737373"/>
65<defs>
66<filter id="filter0_d_950_880" x="81.832" y="87.8408" width="149.888" height="143.987" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
67<feFlood flood-opacity="0" result="BackgroundImageFix"/>
68<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
69<feOffset/>
70<feGaussianBlur stdDeviation="3"/>
71<feComposite in2="hardAlpha" operator="out"/>
72<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
73<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_880"/>
74<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_880" result="shape"/>
75</filter>
76<filter id="filter1_d_950_880" x="77.0547" y="83.2441" width="159.441" height="153.183" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
77<feFlood flood-opacity="0" result="BackgroundImageFix"/>
78<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
79<feOffset/>
80<feGaussianBlur stdDeviation="3"/>
81<feComposite in2="hardAlpha" operator="out"/>
82<feColorMatrix type="matrix" values="0 0 0 0 0.0259489 0 0 0 0 0.0365764 0 0 0 0 0.0714956 0 0 0 0.63 0"/>
83<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_880"/>
84<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_880" result="shape"/>
85</filter>
86<filter id="filter2_di_950_880" x="106.632" y="109.318" width="100.922" height="109.262" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
87<feFlood flood-opacity="0" result="BackgroundImageFix"/>
88<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
89<feOffset dy="4"/>
90<feGaussianBlur stdDeviation="2.55"/>
91<feComposite in2="hardAlpha" operator="out"/>
92<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.93 0"/>
93<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_950_880"/>
94<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_950_880" result="shape"/>
95<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
96<feOffset dy="2"/>
97<feGaussianBlur stdDeviation="2.4"/>
98<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
99<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.65 0"/>
100<feBlend mode="normal" in2="shape" result="effect2_innerShadow_950_880"/>
101</filter>
102<linearGradient id="paint0_linear_950_880" x1="354.092" y1="160" x2="274.648" y2="124.038" gradientUnits="userSpaceOnUse">
103<stop/>
104<stop offset="1" stop-opacity="0"/>
105</linearGradient>
106<linearGradient id="paint1_linear_950_880" x1="378.103" y1="102.554" x2="245.778" y2="114.83" gradientUnits="userSpaceOnUse">
107<stop/>
108<stop offset="1" stop-opacity="0"/>
109</linearGradient>
110<linearGradient id="paint2_linear_950_880" x1="378.103" y1="217.446" x2="245.778" y2="205.17" gradientUnits="userSpaceOnUse">
111<stop/>
112<stop offset="1" stop-opacity="0"/>
113</linearGradient>
114</defs>
115</svg>
docs/public/landing/light/nuxt-image.svg+20−0
@@ -0,0 +1,20 @@
1<svg width="423" height="339" viewBox="0 0 423 339" fill="none" xmlns="http://www.w3.org/2000/svg">
2<rect width="423" height="268.719" rx="11" fill="url(#paint0_linear_2163_2287)" fill-opacity="0.2"/>
3<rect x="0.248139" y="0.248139" width="422.504" height="268.223" rx="10.7519" stroke="url(#paint1_linear_2163_2287)" stroke-opacity="0.4" stroke-width="0.496278"/>
4<path d="M388.114 62.5374C388.114 77.6857 375.911 89.9658 360.859 89.9658C345.806 89.9658 333.604 77.6857 333.604 62.5374C333.604 47.389 345.806 35.1089 360.859 35.1089C375.911 35.1089 388.114 47.389 388.114 62.5374Z" fill="black" fill-opacity="0.3"/>
5<path d="M237.045 295.591H319.727H388.211C393.035 295.592 397.652 294.228 401.83 292.305C406.007 290.382 410.313 287.967 412.724 284.636C415.135 281.305 416.812 277.525 416.81 273.679C416.808 269.833 415.139 266.055 412.724 262.726L310.585 121.399C308.175 118.069 305.229 115.653 301.052 113.73C296.876 111.807 290.895 110.444 286.072 110.444C281.249 110.444 276.63 111.807 272.454 113.73C268.277 115.653 265.331 118.069 262.921 121.399L237.045 157.552L185.295 87.4345C182.882 84.1043 179.94 80.5953 175.762 78.6727C171.584 76.7502 166.967 76.4817 162.143 76.4817C157.32 76.4817 152.703 76.7502 148.525 78.6727C144.347 80.5953 140.043 84.1043 137.63 87.4345L10.9776 262.726C8.56302 266.055 8.256 269.833 8.25391 273.679C8.25181 277.525 8.56666 281.304 10.9776 284.635C13.3886 287.967 17.6949 290.382 21.8724 292.305C26.05 294.228 30.667 295.592 35.491 295.591H89.1561H130.821H237.045Z" fill="url(#paint2_linear_2163_2287)" fill-opacity="0.3"/>
6<defs>
7<linearGradient id="paint0_linear_2163_2287" x1="211.5" y1="0" x2="211.5" y2="122.257" gradientUnits="userSpaceOnUse">
8<stop/>
9<stop offset="1" stop-opacity="0"/>
10</linearGradient>
11<linearGradient id="paint1_linear_2163_2287" x1="211.5" y1="-1.55412e-07" x2="211.546" y2="228.713" gradientUnits="userSpaceOnUse">
12<stop/>
13<stop offset="1" stop-opacity="0"/>
14</linearGradient>
15<linearGradient id="paint2_linear_2163_2287" x1="221.809" y1="20.889" x2="215.072" y2="295.576" gradientUnits="userSpaceOnUse">
16<stop/>
17<stop offset="1" stop-opacity="0"/>
18</linearGradient>
19</defs>
20</svg>
docs/public/landing/light/templates-ui-pro.webp+0−0

Binary file not shown.

docs/public/landing/nuxt-logo-3D.svg+29−0
@@ -0,0 +1,29 @@
1<svg width="400" height="348" viewBox="0 0 364 316" fill="none" xmlns="http://www.w3.org/2000/svg">
2<path d="M165.499 171.171L106.762 258.281L61.6377 260.746L149.13 130.992L165.499 171.171Z" fill="url(#paint0_linear_2948_8537)"/>
3<path d="M207.7 142.217L195.91 159.719L170.4 97.1537C170.155 96.5565 169.879 95.9747 169.573 95.4234C169.435 95.1784 169.297 94.9488 169.144 94.7191C169.006 94.4894 168.853 94.2597 168.7 94.0454C168.578 93.8616 168.44 93.6932 168.287 93.5247C168.011 93.1573 167.705 92.8051 167.383 92.4682C167.261 92.3304 167.108 92.1773 166.97 92.0548C166.848 91.9323 166.725 91.8251 166.603 91.7179C166.541 91.6567 166.495 91.6107 166.434 91.5495L194.21 113.905C196.124 115.452 197.609 117.457 198.574 119.831L207.7 142.217Z" fill="url(#paint1_linear_2948_8537)"/>
4<path d="M246.668 197.983L236.593 212.912L209.751 252.708L199.018 253.289L189.049 268.05L177.137 285.69L182.22 289.778C168.087 303.712 151.458 311.322 132.028 312.378L66.3544 315.977C63.0317 316.145 59.908 315.395 57.2897 313.803C56.7691 313.481 56.2791 313.144 55.8197 312.761L28.0591 290.406C28.0591 290.406 28.151 290.467 28.1969 290.498C28.4878 290.727 28.7941 290.926 29.1156 291.125C31.7187 292.718 34.8576 293.468 38.1803 293.284L103.853 289.686C129.869 288.262 150.861 275.109 167.582 250.778L208.404 190.235L217.346 176.974L220.163 172.794L230.269 157.834L246.668 197.983Z" fill="url(#paint2_linear_2948_8537)"/>
5<path d="M331.849 281.554C331.329 285.076 329.935 288.583 327.822 291.722C325.709 294.86 322.953 297.509 319.799 299.439C316.66 301.353 313.26 302.455 309.938 302.639L205.311 308.366L182.22 289.777L177.137 285.689L186.6 285.168L281.764 279.962C285.086 279.778 288.486 278.66 291.625 276.762C294.779 274.832 297.535 272.168 299.648 269.044C301.761 265.89 303.154 262.399 303.675 258.877C304.196 255.356 303.844 251.941 302.634 249.001L251.584 123.963C251.262 123.167 250.879 122.417 250.435 121.712C250.328 121.529 250.206 121.345 250.083 121.161C249.976 121.008 249.884 120.855 249.762 120.717C249.134 119.844 248.399 119.063 247.603 118.359L275.394 140.73C277.293 142.261 278.793 144.282 279.758 146.656L330.808 271.678C332.018 274.633 332.37 278.048 331.849 281.554Z" fill="url(#paint3_linear_2948_8537)"/>
6<path d="M302.633 249.002L251.583 123.964C251.262 123.168 250.879 122.418 250.435 121.714C250.328 121.53 250.205 121.346 250.083 121.162C249.975 121.009 249.884 120.856 249.761 120.718C249.133 119.846 248.398 119.065 247.602 118.36C247.556 118.33 247.51 118.299 247.48 118.268C246.944 117.809 246.362 117.38 245.749 117.013C243.131 115.405 240.007 114.655 236.685 114.839C233.362 115.022 229.947 116.125 226.824 118.039C223.685 119.968 220.913 122.632 218.8 125.756L207.699 142.216L195.909 159.718L170.399 97.1531C170.154 96.556 169.878 95.9741 169.572 95.4229C169.434 95.1779 169.297 94.9482 169.143 94.7185C169.006 94.4889 168.852 94.2592 168.699 94.0448C168.577 93.8611 168.439 93.6926 168.286 93.5242C168.01 93.1567 167.704 92.8045 167.382 92.4677C167.26 92.3299 167.107 92.1767 166.969 92.0543C166.847 91.9318 166.724 91.8246 166.602 91.7174C166.54 91.6561 166.494 91.6102 166.433 91.549C166.341 91.4724 166.234 91.3958 166.142 91.3193C165.652 90.9059 165.116 90.5231 164.565 90.1862C161.962 88.5937 158.838 87.8435 155.5 88.0272C152.178 88.2109 148.763 89.3134 145.624 91.2274C142.485 93.1567 139.714 95.8057 137.616 98.9447L26.2671 264.115C24.1541 267.254 22.7607 270.761 22.2401 274.282C21.7041 277.789 22.0716 281.203 23.2813 284.159C24.3072 286.7 25.9456 288.829 28.0586 290.406C28.1046 290.436 28.1505 290.467 28.1964 290.498C28.4874 290.727 28.7936 290.926 29.1151 291.126C31.7182 292.718 34.8571 293.468 38.1799 293.285L103.853 289.686C129.868 288.262 150.861 275.109 167.582 250.778L208.403 190.235L217.346 176.975L220.163 172.794L230.269 157.835L246.668 197.983L267.707 249.523L209.751 252.708L199.017 253.29L189.049 268.05L177.136 285.69L186.599 285.169L281.763 279.963C285.086 279.779 288.485 278.662 291.624 276.763C294.778 274.834 297.535 272.169 299.648 269.046C301.761 265.891 303.154 262.4 303.675 258.878C304.195 255.357 303.843 251.942 302.633 249.002ZM144.782 235.482C133.727 251.284 122.947 257.409 107.528 258.235L106.762 258.281L61.6378 260.747L149.131 130.993L165.499 171.171L174.028 192.118L144.782 235.482Z" fill="url(#paint4_linear_2948_8537)"/>
7<defs>
8<linearGradient id="paint0_linear_2948_8537" x1="156.127" y1="244.694" x2="76.2665" y2="203.027" gradientUnits="userSpaceOnUse">
9<stop stop-color="#00DC82"/>
10<stop offset="1" stop-color="#058163"/>
11</linearGradient>
12<linearGradient id="paint1_linear_2948_8537" x1="203.976" y1="151.285" x2="169.047" y2="137.503" gradientUnits="userSpaceOnUse">
13<stop stop-color="#00DC82"/>
14<stop offset="1" stop-color="#058163"/>
15</linearGradient>
16<linearGradient id="paint2_linear_2948_8537" x1="226.943" y1="296.433" x2="108.901" y2="190.087" gradientUnits="userSpaceOnUse">
17<stop stop-color="#00DC82"/>
18<stop offset="1" stop-color="#058163"/>
19</linearGradient>
20<linearGradient id="paint3_linear_2948_8537" x1="318.102" y1="284.86" x2="199.919" y2="222.041" gradientUnits="userSpaceOnUse">
21<stop stop-color="#00DC82"/>
22<stop offset="1" stop-color="#058163"/>
23</linearGradient>
24<linearGradient id="paint4_linear_2948_8537" x1="278.471" y1="267.913" x2="125.351" y2="130.87" gradientUnits="userSpaceOnUse">
25<stop stop-color="#00DC82"/>
26<stop offset="1" stop-color="#2CFFCC"/>
27</linearGradient>
28</defs>
29</svg>
docs/public/logo/logo-dark.svg+3−0
@@ -0,0 +1,3 @@
1<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2 <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="black"/>
3</svg>
docs/public/logo/logo-light.svg+3−0
@@ -0,0 +1,3 @@
1<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2 <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="white"/>
3</svg>
docs/public/logo/wordmark-dark.svg+8−0
@@ -0,0 +1,8 @@
1<svg viewBox="0 0 139 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2 <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="black"/>
3 <path fill-rule="evenodd" clip-rule="evenodd" d="M66.9254 19.7235C66.9254 21.3159 67.3047 22.7336 68.0589 23.983C68.8344 25.2345 69.9001 26.2128 71.2614 26.9192C72.6224 27.6255 74.1522 27.9808 75.8559 27.9808C77.58 27.9808 79.1197 27.6253 80.4803 26.9192C81.8415 26.2129 82.8968 25.2349 83.6521 23.9842C84.4068 22.7345 84.7864 21.3165 84.7864 19.7235C84.7864 18.1306 84.4068 16.7233 83.653 15.4945L83.6521 15.4931C82.8972 14.243 81.8427 13.2757 80.4828 12.5895L80.4803 12.5883C79.1197 11.8823 77.58 11.5267 75.8559 11.5267C74.1318 11.5267 72.5921 11.8823 71.2315 12.5883L71.2303 12.5889C69.8902 13.2748 68.8346 14.2426 68.0589 15.4943C67.3044 16.7442 66.9254 18.1519 66.9254 19.7235ZM78.487 22.7884L78.4893 22.7858C79.1787 22.025 79.5098 20.9944 79.5098 19.7235C79.5098 18.472 79.1782 17.4602 78.487 16.7192C77.7995 15.9821 76.9158 15.6155 75.8559 15.6155C74.796 15.6155 73.9122 15.9821 73.2248 16.7192C72.5336 17.4602 72.202 18.472 72.202 19.7235C72.202 20.9944 72.533 22.025 73.2224 22.7858L73.2248 22.7884C73.9122 23.5254 74.796 23.892 75.8559 23.892C76.9158 23.892 77.7995 23.5254 78.487 22.7884Z" fill="black"/>
4 <path d="M102.777 23.9716C102.226 25.168 101.362 26.1218 100.178 26.8352C98.8826 27.5957 97.3382 27.9808 95.5355 27.9808C93.7706 27.9808 92.2006 27.6249 90.82 26.9186C89.4388 26.2119 88.3637 25.2336 87.5888 23.983C86.8345 22.7336 86.4553 21.3159 86.4553 19.7235C86.4553 18.1307 86.8347 16.7236 87.5884 15.495C88.363 14.2446 89.4374 13.2767 90.8176 12.5902L90.82 12.5889C92.2006 11.8826 93.7706 11.5267 95.5355 11.5267C97.3377 11.5267 98.8816 11.9217 100.177 12.7019L100.179 12.7032C101.362 13.3981 102.226 14.3415 102.777 15.536C102.812 15.6127 102.782 15.7129 102.692 15.7592L99.0173 17.6509C98.9272 17.6973 98.8018 17.6656 98.7381 17.559C97.9721 16.2774 96.8895 15.6155 95.5056 15.6155C94.4273 15.6155 93.5161 15.9808 92.7896 16.714L92.7871 16.7165C92.0745 17.4573 91.7318 18.4701 91.7318 19.7235C91.7318 20.9962 92.0739 22.0278 92.7847 22.7885L92.7871 22.7911L92.7896 22.7935C93.5162 23.5267 94.4273 23.892 95.5056 23.892C96.8895 23.892 97.9721 23.2301 98.7381 21.9485C98.8018 21.842 98.9272 21.8102 99.0173 21.8566L102.692 23.7483C102.782 23.7947 102.812 23.8948 102.777 23.9716Z" fill="black"/>
5 <path d="M116.533 27.5185V25.5732L116.118 26.034C115.543 26.6721 114.853 27.1553 114.047 27.4846C113.238 27.8151 112.38 27.9808 111.471 27.9808C109.424 27.9808 107.811 27.3731 106.605 26.1761C105.427 24.9869 104.817 23.1837 104.817 20.7212V11.989C104.817 11.884 104.903 11.7988 105.008 11.7988H109.844C109.949 11.7988 110.034 11.884 110.034 11.989V19.784C110.034 21.0337 110.266 21.9976 110.777 22.6251C111.291 23.2566 112.035 23.5594 112.969 23.5594C113.93 23.5594 114.725 23.2222 115.333 22.5432C115.968 21.8368 116.263 20.7912 116.263 19.4514V11.989C116.263 11.884 116.348 11.7988 116.453 11.7988H121.29C121.395 11.7988 121.48 11.884 121.48 11.989V27.5185C121.48 27.6236 121.395 27.7087 121.29 27.7087H116.723C116.618 27.7087 116.533 27.6236 116.533 27.5185Z" fill="black"/>
6 <path d="M133.19 22.3635C133.033 22.198 132.813 22.0836 132.552 22.0061C132.068 21.8373 131.311 21.6843 130.294 21.5434L130.291 21.543C129.001 21.3828 127.905 21.1732 127.001 20.9156C126.145 20.6659 125.403 20.2057 124.772 19.5307C124.166 18.8818 123.848 17.9594 123.848 16.7305C123.848 15.7331 124.141 14.8573 124.727 14.0941L124.729 14.0918C125.316 13.3081 126.176 12.6868 127.322 12.2358L127.324 12.235C128.488 11.7654 129.884 11.5267 131.52 11.5267C132.682 11.5267 133.834 11.6459 134.977 11.8845C135.957 12.0892 136.792 12.3657 137.485 12.7111C137.561 12.7486 137.599 12.8448 137.559 12.9371L136.195 16.0508C136.152 16.151 136.024 16.2007 135.913 16.145C134.558 15.4693 133.102 15.1318 131.55 15.1318C130.644 15.1318 129.937 15.2416 129.465 15.4899C129 15.7145 128.705 16.053 128.705 16.5188C128.705 16.762 128.779 16.9814 128.933 17.1638C129.084 17.3421 129.298 17.4701 129.553 17.5599L129.558 17.5614L129.562 17.5628C130.04 17.7094 130.814 17.8627 131.874 18.0241C133.206 18.2247 134.303 18.4545 135.167 18.7122C136.003 18.9613 136.725 19.4206 137.336 20.0951L137.338 20.0977L137.341 20.1003C137.945 20.7286 138.263 21.6295 138.263 22.8375C138.263 23.8133 137.97 24.6901 137.382 25.4752C136.797 26.2372 135.919 26.849 134.731 27.301L134.73 27.3015C133.566 27.7517 132.149 27.9808 130.471 27.9808C129.131 27.9808 127.811 27.8318 126.511 27.5337C125.374 27.2555 124.443 26.9114 123.712 26.505C123.641 26.4657 123.606 26.3729 123.645 26.2838L125.008 23.1475C125.053 23.0442 125.188 22.9929 125.304 23.056C125.966 23.4151 126.719 23.7105 127.561 23.9439L127.565 23.9449C128.602 24.2117 129.631 24.3455 130.651 24.3455C131.573 24.3455 132.269 24.2564 132.701 24.0502L132.706 24.0479C133.163 23.8172 133.436 23.4641 133.436 22.9887C133.436 22.7491 133.354 22.5358 133.19 22.3635Z" fill="black"/>
7 <path fill-rule="evenodd" clip-rule="evenodd" d="M44.6799 7.02197H53.7408C56.0076 7.02197 58.0084 7.44945 59.7488 8.29791C61.4884 9.14597 62.8315 10.3455 63.7852 11.897C64.7377 13.4466 65.2181 15.2665 65.2181 17.3654C65.2181 19.4642 64.7377 21.2841 63.7852 22.8337C62.8315 24.3852 61.4884 25.5847 59.7488 26.4328C58.0084 27.2813 56.0076 27.7087 53.7408 27.7087H44.6799C44.3382 27.7087 44.0612 27.4318 44.0612 27.0901V7.64061C44.0612 7.29895 44.3382 7.02197 44.6799 7.02197ZM53.5011 23.4083C55.3462 23.4083 56.8475 22.8794 57.9792 21.8014C59.1352 20.7194 59.7018 19.2302 59.7018 17.3654C59.7018 15.5005 59.1352 14.0113 57.9792 12.9293C56.8475 11.8513 55.3462 11.3224 53.5011 11.3224H50.1841C49.816 11.3224 49.5175 11.6209 49.5175 11.989V22.7417C49.5175 23.1098 49.816 23.4083 50.1841 23.4083H53.5011Z" fill="black"/>
8</svg>
docs/public/logo/wordmark-light.svg+8−0
@@ -0,0 +1,8 @@
1<svg viewBox="0 0 139 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2 <path fill-rule="evenodd" clip-rule="evenodd" d="M16.0752 0C7.21095 0 0 7.18587 0 16.0501V30.3853C0 31.2771 0.722918 32 1.61468 32H16.1002C24.9367 32 32.1002 24.8366 32.1002 16C32.1002 7.16344 24.9117 0 16.0752 0ZM24.802 19.402C26.697 19.402 28.2332 17.8658 28.2332 15.9708C28.2332 14.0758 26.697 12.5396 24.802 12.5396C22.907 12.5396 21.3708 14.0758 21.3708 15.9708C21.3708 17.8658 22.907 19.402 24.802 19.402ZM14.6182 19.4022C16.5133 19.4022 18.0494 17.866 18.0494 15.971C18.0494 14.076 16.5133 12.5398 14.6182 12.5398C12.7233 12.5398 11.1871 14.076 11.1871 15.971C11.1871 17.866 12.7233 19.4022 14.6182 19.4022Z" fill="white"/>
3 <path fill-rule="evenodd" clip-rule="evenodd" d="M66.9254 19.7235C66.9254 21.3159 67.3047 22.7336 68.0589 23.983C68.8344 25.2345 69.9001 26.2128 71.2614 26.9192C72.6224 27.6255 74.1522 27.9808 75.8559 27.9808C77.58 27.9808 79.1197 27.6253 80.4803 26.9192C81.8415 26.2129 82.8968 25.2349 83.6521 23.9842C84.4068 22.7345 84.7864 21.3165 84.7864 19.7235C84.7864 18.1306 84.4068 16.7233 83.653 15.4945L83.6521 15.4931C82.8972 14.243 81.8427 13.2757 80.4828 12.5895L80.4803 12.5883C79.1197 11.8823 77.58 11.5267 75.8559 11.5267C74.1318 11.5267 72.5921 11.8823 71.2315 12.5883L71.2303 12.5889C69.8902 13.2748 68.8346 14.2426 68.0589 15.4943C67.3044 16.7442 66.9254 18.1519 66.9254 19.7235ZM78.487 22.7884L78.4893 22.7858C79.1787 22.025 79.5098 20.9944 79.5098 19.7235C79.5098 18.472 79.1782 17.4602 78.487 16.7192C77.7995 15.9821 76.9158 15.6155 75.8559 15.6155C74.796 15.6155 73.9122 15.9821 73.2248 16.7192C72.5336 17.4602 72.202 18.472 72.202 19.7235C72.202 20.9944 72.533 22.025 73.2224 22.7858L73.2248 22.7884C73.9122 23.5254 74.796 23.892 75.8559 23.892C76.9158 23.892 77.7995 23.5254 78.487 22.7884Z" fill="white"/>
4 <path d="M102.777 23.9716C102.226 25.168 101.362 26.1218 100.178 26.8352C98.8826 27.5957 97.3382 27.9808 95.5355 27.9808C93.7706 27.9808 92.2006 27.6249 90.82 26.9186C89.4388 26.2119 88.3637 25.2336 87.5888 23.983C86.8345 22.7336 86.4553 21.3159 86.4553 19.7235C86.4553 18.1307 86.8347 16.7236 87.5884 15.495C88.363 14.2446 89.4374 13.2767 90.8176 12.5902L90.82 12.5889C92.2006 11.8826 93.7706 11.5267 95.5355 11.5267C97.3377 11.5267 98.8816 11.9217 100.177 12.7019L100.179 12.7032C101.362 13.3981 102.226 14.3415 102.777 15.536C102.812 15.6127 102.782 15.7129 102.692 15.7592L99.0173 17.6509C98.9272 17.6973 98.8018 17.6656 98.7381 17.559C97.9721 16.2774 96.8895 15.6155 95.5056 15.6155C94.4273 15.6155 93.5161 15.9808 92.7896 16.714L92.7871 16.7165C92.0745 17.4573 91.7318 18.4701 91.7318 19.7235C91.7318 20.9962 92.0739 22.0278 92.7847 22.7885L92.7871 22.7911L92.7896 22.7935C93.5162 23.5267 94.4273 23.892 95.5056 23.892C96.8895 23.892 97.9721 23.2301 98.7381 21.9485C98.8018 21.842 98.9272 21.8102 99.0173 21.8566L102.692 23.7483C102.782 23.7947 102.812 23.8948 102.777 23.9716Z" fill="white"/>
5 <path d="M116.533 27.5185V25.5732L116.118 26.034C115.543 26.6721 114.853 27.1553 114.047 27.4846C113.238 27.8151 112.38 27.9808 111.471 27.9808C109.424 27.9808 107.811 27.3731 106.605 26.1761C105.427 24.9869 104.817 23.1837 104.817 20.7212V11.989C104.817 11.884 104.903 11.7988 105.008 11.7988H109.844C109.949 11.7988 110.034 11.884 110.034 11.989V19.784C110.034 21.0337 110.266 21.9976 110.777 22.6251C111.291 23.2566 112.035 23.5594 112.969 23.5594C113.93 23.5594 114.725 23.2222 115.333 22.5432C115.968 21.8368 116.263 20.7912 116.263 19.4514V11.989C116.263 11.884 116.348 11.7988 116.453 11.7988H121.29C121.395 11.7988 121.48 11.884 121.48 11.989V27.5185C121.48 27.6236 121.395 27.7087 121.29 27.7087H116.723C116.618 27.7087 116.533 27.6236 116.533 27.5185Z" fill="white"/>
6 <path d="M133.19 22.3635C133.033 22.198 132.813 22.0836 132.552 22.0061C132.068 21.8373 131.311 21.6843 130.294 21.5434L130.291 21.543C129.001 21.3828 127.905 21.1732 127.001 20.9156C126.145 20.6659 125.403 20.2057 124.772 19.5307C124.166 18.8818 123.848 17.9594 123.848 16.7305C123.848 15.7331 124.141 14.8573 124.727 14.0941L124.729 14.0918C125.316 13.3081 126.176 12.6868 127.322 12.2358L127.324 12.235C128.488 11.7654 129.884 11.5267 131.52 11.5267C132.682 11.5267 133.834 11.6459 134.977 11.8845C135.957 12.0892 136.792 12.3657 137.485 12.7111C137.561 12.7486 137.599 12.8448 137.559 12.9371L136.195 16.0508C136.152 16.151 136.024 16.2007 135.913 16.145C134.558 15.4693 133.102 15.1318 131.55 15.1318C130.644 15.1318 129.937 15.2416 129.465 15.4899C129 15.7145 128.705 16.053 128.705 16.5188C128.705 16.762 128.779 16.9814 128.933 17.1638C129.084 17.3421 129.298 17.4701 129.553 17.5599L129.558 17.5614L129.562 17.5628C130.04 17.7094 130.814 17.8627 131.874 18.0241C133.206 18.2247 134.303 18.4545 135.167 18.7122C136.003 18.9613 136.725 19.4206 137.336 20.0951L137.338 20.0977L137.341 20.1003C137.945 20.7286 138.263 21.6295 138.263 22.8375C138.263 23.8133 137.97 24.6901 137.382 25.4752C136.797 26.2372 135.919 26.849 134.731 27.301L134.73 27.3015C133.566 27.7517 132.149 27.9808 130.471 27.9808C129.131 27.9808 127.811 27.8318 126.511 27.5337C125.374 27.2555 124.443 26.9114 123.712 26.505C123.641 26.4657 123.606 26.3729 123.645 26.2838L125.008 23.1475C125.053 23.0442 125.188 22.9929 125.304 23.056C125.966 23.4151 126.719 23.7105 127.561 23.9439L127.565 23.9449C128.602 24.2117 129.631 24.3455 130.651 24.3455C131.573 24.3455 132.269 24.2564 132.701 24.0502L132.706 24.0479C133.163 23.8172 133.436 23.4641 133.436 22.9887C133.436 22.7491 133.354 22.5358 133.19 22.3635Z" fill="white"/>
7 <path fill-rule="evenodd" clip-rule="evenodd" d="M44.6799 7.02197H53.7408C56.0076 7.02197 58.0084 7.44945 59.7488 8.29791C61.4884 9.14597 62.8315 10.3455 63.7852 11.897C64.7377 13.4466 65.2181 15.2665 65.2181 17.3654C65.2181 19.4642 64.7377 21.2841 63.7852 22.8337C62.8315 24.3852 61.4884 25.5847 59.7488 26.4328C58.0084 27.2813 56.0076 27.7087 53.7408 27.7087H44.6799C44.3382 27.7087 44.0612 27.4318 44.0612 27.0901V7.64061C44.0612 7.29895 44.3382 7.02197 44.6799 7.02197ZM53.5011 23.4083C55.3462 23.4083 56.8475 22.8794 57.9792 21.8014C59.1352 20.7194 59.7018 19.2302 59.7018 17.3654C59.7018 15.5005 59.1352 14.0113 57.9792 12.9293C56.8475 11.8513 55.3462 11.3224 53.5011 11.3224H50.1841C49.816 11.3224 49.5175 11.6209 49.5175 11.989V22.7417C49.5175 23.1098 49.816 23.4083 50.1841 23.4083H53.5011Z" fill="white"/>
8</svg>
docs/public/mountains.webp+0−0

Binary file not shown.

docs/skills/create-docs/SKILL.md+499−0
@@ -0,0 +1,499 @@
1---
2name: create-docs
3description: |
4 Create complete documentation sites for projects. Use when asked to:
5 "create docs", "add documentation", "setup docs site", "generate docs",
6 "document my project", "write docs", "initialize documentation",
7 "add a docs folder", "create a docs website". Generates Docus-based sites
8 with search, dark mode, MCP server, and llms.txt integration.
9---
10
11# Create Docs
12
13Generate a complete, production-ready documentation site for any project.
14
15## Workflow
16
171. **Analyze** - Detect package manager, monorepo structure, read context
182. **Initialize** - Create docs directory with correct setup
193. **Generate** - Write documentation pages using templates
204. **Configure** - Set up AI integration (MCP, llms.txt)
215. **Finalize** - Provide next steps with correct commands
22
23---
24
25## Package Manager Reference
26
27Detect from lock files, default to npm if none found:
28
29| Lock File | PM | Install | Run | Add |
30|-----------|------|---------|-----|-----|
31| `pnpm-lock.yaml` | pnpm | `pnpm install` | `pnpm run` | `pnpm add` |
32| `package-lock.json` | npm | `npm install` | `npm run` | `npm install` |
33| `yarn.lock` | yarn | `yarn install` | `yarn` | `yarn add` |
34| `bun.lockb` | bun | `bun install` | `bun run` | `bun add` |
35
36Use `[pm]` as placeholder in commands below.
37
38---
39
40## Step 1: Analyze Project
41
42### Detect Project Structure
43
44```
45Check for:
46├── pnpm-workspace.yaml → pnpm monorepo
47├── turbo.json → Turborepo monorepo
48├── lerna.json → Lerna monorepo
49├── nx.json → Nx monorepo
50├── apps/ → Apps directory (monorepo)
51├── packages/ → Packages directory (monorepo)
52├── docs/ → Existing docs (avoid overwriting)
53├── README.md → Main documentation source
54└── src/ or lib/ → Source code location
55```
56
57### Determine Docs Location
58
59| Project Type | Target Directory | Workspace Entry |
60|--------------|------------------|-----------------|
61| Standard project | `./docs` | N/A |
62| Monorepo with `apps/` | `./apps/docs` | `apps/docs` |
63| Monorepo with `packages/` | `./docs` | `docs` |
64| Existing `docs/` folder | Ask user or `./documentation` | — |
65
66### Read Context Files
67
68| File | Extract |
69|------|---------|
70| `README.md` | Project name, description, features, usage examples |
71| `package.json` | Name, description, dependencies, repository URL |
72| `src/` or `lib/` | Exported functions, composables for API docs |
73
74### Detect i18n Requirement
75
76Check if project needs multi-language docs:
77
78| Indicator | Action |
79|-----------|--------|
80| `@nuxtjs/i18n` in dependencies | Use i18n template |
81| `locales/` or `i18n/` folder exists | Use i18n template |
82| Multiple language README files | Use i18n template |
83| User explicitly mentions multiple languages | Use i18n template |
84| None of the above | Use default template |
85
86---
87
88## Step 2: Initialize Docs
89
90### Create Directory Structure
91
92**Default template:**
93
94```
95[docs-location]/
96├── app/ # Optional: for customization
97│ ├── app.config.ts
98│ ├── components/
99│ ├── layouts/
100│ └── pages/
101├── content/
102│ ├── index.md
103│ └── 1.getting-started/
104│ ├── .navigation.yml
105│ └── 1.introduction.md
106├── public/
107│ └── favicon.ico
108├── package.json
109└── .gitignore
110```
111
112**i18n template** (if multi-language detected):
113
114```
115[docs-location]/
116├── app/
117│ └── app.config.ts
118├── content/
119│ ├── en/
120│ │ ├── index.md
121│ │ └── 1.getting-started/
122│ │ ├── .navigation.yml
123│ │ └── 1.introduction.md
124│ └── fr/ # Or other detected languages
125│ ├── index.md
126│ └── 1.getting-started/
127│ ├── .navigation.yml
128│ └── 1.introduction.md
129├── nuxt.config.ts # Required for i18n config
130├── public/
131│ └── favicon.ico
132├── package.json
133└── .gitignore
134```
135
136### Create package.json
137
138**Default:**
139
140```json
141{
142 "name": "[project-name]-docs",
143 "private": true,
144 "scripts": {
145 "dev": "nuxt dev --extends docus",
146 "build": "nuxt build --extends docus",
147 "generate": "nuxt generate --extends docus",
148 "preview": "nuxt preview --extends docus"
149 },
150 "dependencies": {
151 "docus": "latest",
152 "better-sqlite3": "^12.5.0",
153 "nuxt": "^4.2.2"
154 }
155}
156```
157
158**i18n** (add `@nuxtjs/i18n`):
159
160```json
161{
162 "name": "[project-name]-docs",
163 "private": true,
164 "scripts": {
165 "dev": "nuxt dev --extends docus",
166 "build": "nuxt build --extends docus",
167 "generate": "nuxt generate --extends docus",
168 "preview": "nuxt preview --extends docus"
169 },
170 "dependencies": {
171 "@nuxtjs/i18n": "^10.2.1",
172 "docus": "latest",
173 "better-sqlite3": "^12.5.0",
174 "nuxt": "^4.2.2"
175 }
176}
177```
178
179### Create nuxt.config.ts (i18n only)
180
181```ts [nuxt.config.ts]
182export default defineNuxtConfig({
183 modules: ['@nuxtjs/i18n'],
184 i18n: {
185 locales: [
186 { code: 'en', language: 'en-US', name: 'English' },
187 { code: 'fr', language: 'fr-FR', name: 'Français' }
188 ],
189 defaultLocale: 'en'
190 }
191})
192```
193
194### Create .gitignore
195
196```
197node_modules
198.nuxt
199.output
200.data
201dist
202```
203
204### Update Monorepo Configuration (if applicable)
205
206#### pnpm Monorepo
207
2081. Add docs to workspace and configure `onlyBuiltDependencies` (required for better-sqlite3):
209
210```yaml [pnpm-workspace.yaml]
211packages:
212 - 'apps/*'
213 - 'docs'
214
215onlyBuiltDependencies:
216 - better-sqlite3
217```
218
2192. Add dev script to root package.json:
220
221```json [package.json]
222{
223 "scripts": {
224 "docs:dev": "pnpm run --filter [docs-package-name] dev"
225 }
226}
227```
228
229Or with directory path:
230
231```json [package.json]
232{
233 "scripts": {
234 "docs:dev": "cd docs && pnpm dev"
235 }
236}
237```
238
239#### npm/yarn Monorepo
240
241```json [package.json]
242{
243 "workspaces": ["apps/*", "docs"],
244 "scripts": {
245 "docs:dev": "npm run dev --workspace=docs"
246 }
247}
248```
249
250---
251
252## Step 3: Generate Documentation
253
254Use templates from [references/templates.md](references/templates.md).
255
256**CRITICAL: MDC Component Naming**
257
258All Nuxt UI components in MDC must use the `u-` prefix:
259
260| Correct | Wrong |
261|---------|-------|
262| `::u-page-hero` | `::page-hero` |
263| `::u-page-section` | `::page-section` |
264| `:::u-page-feature` | `:::page-feature` |
265| `:::u-button` | `:::button` |
266| `::::u-page-card` | `::::page-card` |
267
268Without the `u-` prefix, Vue will fail to resolve the components.
269
270### Documentation Structure
271
272```
273content/
274├── index.md # Landing page
275├── 1.getting-started/
276│ ├── .navigation.yml
277│ ├── 1.introduction.md
278│ └── 2.installation.md
279├── 2.guide/
280│ ├── .navigation.yml
281│ ├── 1.configuration.md
282│ ├── 2.authentication.md
283│ └── 3.deployment.md
284└── 3.api/ # If applicable
285 ├── .navigation.yml
286 └── 1.reference.md
287```
288
289### Generate Pages
290
2911. **Landing page** (`index.md`) - Hero + features grid
2922. **Introduction** - What & why, use cases
2933. **Installation** - Prerequisites, install commands
2944. **Guide pages** - Feature documentation with action-based H2 headings
295
296For writing style, see [references/writing-guide.md](references/writing-guide.md).
297For MDC components, see [references/mdc-components.md](references/mdc-components.md).
298
299---
300
301## Step 4: Configure AI Integration
302
303Docus automatically includes MCP server (`/mcp`) and llms.txt generation. No configuration needed.
304
305**Do NOT add AI Integration sections to the landing page.** These features work automatically.
306
307Optionally mention in the introduction page:
308
309```markdown
310::note
311This documentation includes AI integration with MCP server and automatic `llms.txt` generation.
312::
313```
314
315### Optional: app.config.ts
316
317```ts [app/app.config.ts]
318export default defineAppConfig({
319 docus: {
320 name: '[Project Name]',
321 description: '[Project description]',
322 url: 'https://[docs-url]',
323 socials: {
324 github: '[org]/[repo]'
325 }
326 }
327})
328```
329
330### Optional: Theme Customization
331
332If the project has a design system or brand colors, customize the docs theme.
333
334#### Custom CSS
335
336Create `app/assets/css/main.css`:
337
338```css [app/assets/css/main.css]
339@import "tailwindcss";
340@import "@nuxt/ui";
341
342@theme {
343 /* Custom font */
344 --font-sans: 'Inter', sans-serif;
345
346 /* Custom container width */
347 --ui-container: 90rem;
348
349 /* Custom primary color (use project brand color) */
350 --color-primary-50: oklch(0.97 0.02 250);
351 --color-primary-500: oklch(0.55 0.2 250);
352 --color-primary-900: oklch(0.25 0.1 250);
353}
354```
355
356#### Extended app.config.ts
357
358```ts [app/app.config.ts]
359export default defineAppConfig({
360 docus: {
361 name: '[Project Name]',
362 description: '[Project description]',
363 url: 'https://[docs-url]',
364 socials: {
365 github: '[org]/[repo]',
366 x: '@[handle]'
367 }
368 },
369 // Customize UI components
370 ui: {
371 colors: {
372 primary: 'emerald',
373 neutral: 'zinc',
374 },
375 pageHero: {
376 slots: {
377 title: 'font-semibold sm:text-6xl'
378 }
379 }
380 }
381})
382```
383
384---
385
386## Step 5: Finalize
387
388Provide instructions using detected package manager.
389
390### Standard Project
391
392```
393Documentation created in [docs-location]
394
395To start:
396
397 cd [docs-location]
398 [pm] install
399 [pm] run dev
400
401Available at http://localhost:3000
402```
403
404### Monorepo
405
406```
407Documentation created in [docs-location]
408
409To start from root:
410
411 [pm] install
412 [pm] run docs:dev
413
414Or from docs directory:
415
416 cd [docs-location]
417 [pm] run dev
418
419Available at http://localhost:3000
420```
421
422### Features Included
423
424- Full-text search
425- Dark mode
426- MCP server for AI tools (/mcp)
427- LLM integration (/llms.txt)
428- SEO optimized
429
430### Next Steps
431
4321. Review generated content
4332. Add more guides in `content/2.guide/`
4343. Customize theme in `app.config.ts`
4354. Deploy to Vercel/Netlify/Cloudflare
436
437### Suggest Follow-ups
438
439After documentation is created, suggest enhancements:
440
441```
442Your documentation is ready!
443
444Would you like me to:
445- **Customize the UI** - Match your brand colors and style
446- **Enhance the landing page** - Add feature cards, code previews, visuals
447- **Add i18n support** - Multi-language documentation
448- **Set up deployment** - Deploy to Vercel, Netlify, or Cloudflare
449
450Let me know what you'd like to improve!
451```
452
453---
454
455## Deployment
456
457| Platform | Command | Output |
458|----------|---------|--------|
459| Vercel | `npx vercel --prod` | Auto-detected |

40 more lines aren’t shown here.

docs/skills/create-docs/references/mdc-components.md+222−0

This diff is large: its 223 lines aren’t shown here.

docs/skills/create-docs/references/templates.md+362−0

This diff is large: its 363 lines aren’t shown here.

docs/skills/create-docs/references/writing-guide.md+111−0

This diff is large: its 112 lines aren’t shown here.

docs/skills/review-docs/SKILL.md+480−0

This diff is large: its 481 lines aren’t shown here.

docs/skills/review-docs/assets/report-template.md+214−0

This diff is large: its 215 lines aren’t shown here.

docs/skills/review-docs/references/clarity-checks.md+201−0

This diff is large: its 202 lines aren’t shown here.

docs/skills/review-docs/references/i18n-checks.md+264−0

This diff is large: its 265 lines aren’t shown here.

docs/skills/review-docs/references/seo-checks.md+219−0

This diff is large: its 220 lines aren’t shown here.

docs/skills/review-docs/references/structure-checks.md+317−0

This diff is large: its 318 lines aren’t shown here.

docs/skills/review-docs/references/technical-checks.md+538−0

This diff is large: its 539 lines aren’t shown here.

docs/tsconfig.json+17−0

This diff is large: its 18 lines aren’t shown here.

eslint.config.mjs+24−0

This diff is large: its 25 lines aren’t shown here.

layer/README.md+5−0

This diff is large: its 6 lines aren’t shown here.

layer/app/app.config.ts+41−0

This diff is large: its 42 lines aren’t shown here.

layer/app/app.vue+104−0

This diff is large: its 105 lines aren’t shown here.

layer/app/assets/icons/LICENSE+14−0

This diff is large: its 15 lines aren’t shown here.

layer/app/assets/icons/ai.svg+1−0

This diff is large: its 2 lines aren’t shown here.

layer/app/components/IconMenuToggle.vue+83−0

This diff is large: its 84 lines aren’t shown here.

layer/app/components/LanguageSelect.vue+81−0

This diff is large: its 82 lines aren’t shown here.

layer/app/components/OgImage/Docs.takumi.vue+43−0

This diff is large: its 44 lines aren’t shown here.

layer/app/components/OgImage/Landing.takumi.vue+67−0

This diff is large: its 68 lines aren’t shown here.

layer/app/components/app/AppFooter.vue+11−0

This diff is large: its 12 lines aren’t shown here.

layer/app/components/app/AppFooterLeft.vue+5−0

This diff is large: its 6 lines aren’t shown here.

layer/app/components/app/AppFooterRight.vue+51−0

This diff is large: its 52 lines aren’t shown here.

layer/app/components/app/AppHeader.vue+96−0

This diff is large: its 97 lines aren’t shown here.

layer/app/components/app/AppHeaderBody.vue+30−0

This diff is large: its 31 lines aren’t shown here.

layer/app/components/app/AppHeaderBottom.vue+24−0

This diff is large: its 25 lines aren’t shown here.

layer/app/components/app/AppHeaderBottomRight.vue+3−0

This diff is large: its 4 lines aren’t shown here.

layer/app/components/app/AppHeaderCTA.vue+3−0

This diff is large: its 4 lines aren’t shown here.

layer/app/components/app/AppHeaderCenter.vue+10−0

This diff is large: its 11 lines aren’t shown here.

layer/app/components/app/AppHeaderLeft.vue+16−0

This diff is large: its 17 lines aren’t shown here.

layer/app/components/app/AppHeaderLogo.vue+21−0

This diff is large: its 22 lines aren’t shown here.

layer/app/components/app/AppSearch.vue+54−0

This diff is large: its 55 lines aren’t shown here.

layer/app/components/app/AppSidebar.vue+316−0

This diff is large: its 317 lines aren’t shown here.

layer/app/components/app/AppSidebarFolder.vue+42−0

This diff is large: its 43 lines aren’t shown here.

layer/app/components/app/AppSidebarTree.vue+39−0

This diff is large: its 40 lines aren’t shown here.

layer/app/components/docs/DocsAsideLeftBody.vue+16−0

This diff is large: its 17 lines aren’t shown here.

layer/app/components/docs/DocsAsideLeftTop.vue+20−0

This diff is large: its 21 lines aren’t shown here.

layer/app/components/docs/DocsAsideMobileBar.vue+98−0

This diff is large: its 99 lines aren’t shown here.

layer/app/components/docs/DocsAsideRight.vue+37−0

This diff is large: its 38 lines aren’t shown here.

layer/app/components/docs/DocsAsideRightBottom.vue+45−0

This diff is large: its 46 lines aren’t shown here.

layer/app/components/docs/DocsPageHeaderLinks.vue+101−0

This diff is large: its 102 lines aren’t shown here.

layer/app/composables/useDocusColorMode.ts+7−0

This diff is large: its 8 lines aren’t shown here.

layer/app/composables/useDocusI18n.ts+51−0

This diff is large: its 52 lines aren’t shown here.

layer/app/composables/useDocusShortcuts.ts+24−0

This diff is large: its 25 lines aren’t shown here.

layer/app/composables/useLogoAssets.ts+246−0

This diff is large: its 247 lines aren’t shown here.

layer/app/composables/useSeo.ts+207−0

This diff is large: its 208 lines aren’t shown here.

layer/app/composables/useSubNavigation.ts+55−0

This diff is large: its 56 lines aren’t shown here.

layer/app/composables/useUIConfig.ts+30−0

This diff is large: its 31 lines aren’t shown here.

layer/app/error.vue+70−0

This diff is large: its 71 lines aren’t shown here.

layer/app/layouts/default.vue+5−0

This diff is large: its 6 lines aren’t shown here.

layer/app/layouts/docs.vue+7−0

This diff is large: its 8 lines aren’t shown here.

layer/app/middleware/colorMode.global.ts+8−0

This diff is large: its 9 lines aren’t shown here.

layer/app/pages/[[lang]]/[...slug].vue+146−0

This diff is large: its 147 lines aren’t shown here.

layer/app/plugins/i18n.ts+57−0

This diff is large: its 58 lines aren’t shown here.

layer/app/templates/landing.vue+38−0

This diff is large: its 39 lines aren’t shown here.

layer/app/types/index.d.ts+121−0

This diff is large: its 122 lines aren’t shown here.

layer/app/utils/assistantTools.ts+88−0

This diff is large: its 89 lines aren’t shown here.

layer/app/utils/navigation.ts+57−0

This diff is large: its 58 lines aren’t shown here.

layer/app/utils/ogImage.ts+23−0

This diff is large: its 24 lines aren’t shown here.

layer/app/utils/prerender.ts+12−0

This diff is large: its 13 lines aren’t shown here.

layer/content.config.ts+79−0

This diff is large: its 80 lines aren’t shown here.

layer/i18n/locales/ar.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/be.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/bg.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/bn.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ca.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ckb.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/cs.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/da.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/de.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/el.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/en.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/es.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/et.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/fi.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/fr.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/he.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/hi.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/hy.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/id.json+80−0

This diff is large: its 81 lines aren’t shown here.

layer/i18n/locales/it.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ja.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/kk.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/km.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ko.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ky.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/lb.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ms.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/nb.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/nl.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/pl.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/pt-BR.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ro.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ru.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/si.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/sl.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/sv.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/tr.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/uk.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/ur.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/vi.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/i18n/locales/zh-CN.json+77−0

This diff is large: its 78 lines aren’t shown here.

layer/index.d.ts+33−0

This diff is large: its 34 lines aren’t shown here.

layer/modules/assistant/README.md+222−0

This diff is large: its 223 lines aren’t shown here.

layer/modules/assistant/index.ts+115−0

This diff is large: its 116 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantChat.vue+24−0

This diff is large: its 25 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantChatDisabled.vue+3−0

This diff is large: its 4 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantComark.ts+10−0

This diff is large: its 11 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantFloatingInput.vue+120−0

This diff is large: its 121 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantIndicator.vue+125−0

This diff is large: its 126 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantPanel.vue+325−0

This diff is large: its 326 lines aren’t shown here.

layer/modules/assistant/runtime/components/AssistantPreStream.vue+46−0

This diff is large: its 47 lines aren’t shown here.

layer/modules/assistant/runtime/composables/useAssistant.ts+107−0

This diff is large: its 108 lines aren’t shown here.

layer/modules/assistant/runtime/composables/useHighlighter.ts+34−0

This diff is large: its 35 lines aren’t shown here.

layer/modules/assistant/runtime/server/api/search.ts+131−0

This diff is large: its 132 lines aren’t shown here.

layer/modules/assistant/runtime/types.ts+7−0

This diff is large: its 8 lines aren’t shown here.

layer/modules/config.ts+146−0

This diff is large: its 147 lines aren’t shown here.

layer/modules/css.ts+79−0

This diff is large: its 80 lines aren’t shown here.

layer/modules/markdown-rewrite.ts+144−0

This diff is large: its 145 lines aren’t shown here.

layer/modules/routing.ts+48−0

This diff is large: its 49 lines aren’t shown here.

layer/modules/skills/index.ts+160−0

This diff is large: its 161 lines aren’t shown here.

layer/modules/skills/runtime/server/routes/skills-files.ts+49−0

This diff is large: its 50 lines aren’t shown here.

layer/modules/skills/runtime/server/routes/skills-index.ts+8−0

This diff is large: its 9 lines aren’t shown here.

layer/nuxt.config.ts+136−0

This diff is large: its 137 lines aren’t shown here.

layer/nuxt.schema.ts+394−0

This diff is large: its 395 lines aren’t shown here.

layer/package.json+68−0

This diff is large: its 69 lines aren’t shown here.

layer/server/mcp/tools/get-page.ts+78−0

This diff is large: its 79 lines aren’t shown here.

layer/server/mcp/tools/list-pages.ts+75−0

This diff is large: its 76 lines aren’t shown here.

layer/server/routes/sitemap.xml.ts+96−0

This diff is large: its 97 lines aren’t shown here.

layer/server/utils/content.ts+41−0

This diff is large: its 42 lines aren’t shown here.

layer/shared/types/docus.d.ts+15−0

This diff is large: its 16 lines aren’t shown here.

layer/tsconfig.json+17−0

This diff is large: its 18 lines aren’t shown here.

layer/utils/git.ts+110−0

This diff is large: its 111 lines aren’t shown here.

layer/utils/meta.ts+35−0

This diff is large: its 36 lines aren’t shown here.

layer/utils/pages.ts+22−0

This diff is large: its 23 lines aren’t shown here.

package.json+57−0

This diff is large: its 58 lines aren’t shown here.

playground/app/pages/index.vue+13−0

This diff is large: its 14 lines aren’t shown here.

playground/content/docs/1.getting-started/.navigation.yml+2−0

This diff is large: its 3 lines aren’t shown here.

playground/content/docs/1.getting-started/2.introduction.md+73−0

This diff is large: its 74 lines aren’t shown here.

playground/content/docs/1.getting-started/3.installation.md+58−0

This diff is large: its 59 lines aren’t shown here.

playground/content/docs/1.getting-started/4.project-structure.md+154−0

This diff is large: its 155 lines aren’t shown here.

playground/content/docs/1.getting-started/5.studio.md+99−0

This diff is large: its 100 lines aren’t shown here.

playground/content/docs/1.getting-started/6.migration.md+42−0

This diff is large: its 43 lines aren’t shown here.

playground/content/docs/1.getting-started/7.troubleshooting.md+32−0

This diff is large: its 33 lines aren’t shown here.

playground/content/docs/2.essentials/.navigation.yml+1−0

This diff is large: its 2 lines aren’t shown here.

playground/content/docs/2.essentials/1.markdown-syntax.md+223−0

This diff is large: its 224 lines aren’t shown here.

playground/content/docs/2.essentials/2.code-blocks.md+402−0

This diff is large: its 403 lines aren’t shown here.

playground/content/docs/2.essentials/3.components.md+424−0

This diff is large: its 425 lines aren’t shown here.

playground/content/docs/2.essentials/4.images-embeds.md+53−0

This diff is large: its 54 lines aren’t shown here.

playground/nuxt.config.ts+4−0

This diff is large: its 5 lines aren’t shown here.

playground/package.json+12−0

This diff is large: its 13 lines aren’t shown here.

playground/public/favicon.ico+0−0

Binary file not shown.

playground/public/mountains.webp+0−0

Binary file not shown.

playground/skills/docus-playground/SKILL.md+21−0

This diff is large: its 22 lines aren’t shown here.

playground/skills/docus-playground/references/example.md+3−0

This diff is large: its 4 lines aren’t shown here.

playground/tsconfig.json+17−0

This diff is large: its 18 lines aren’t shown here.