livemark 0.24.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/README.md +3 -2
  2. package/build/actions/config/define.d.ts +6 -0
  3. package/build/actions/config/define.unit.js +8 -1
  4. package/build/actions/escape/copy.d.ts +11 -0
  5. package/build/actions/escape/copy.js +29 -0
  6. package/build/actions/escape/copy.unit.d.ts +1 -0
  7. package/build/actions/escape/copy.unit.js +37 -0
  8. package/build/actions/escape/list.d.ts +12 -0
  9. package/build/actions/escape/list.js +27 -0
  10. package/build/actions/escape/list.unit.d.ts +1 -0
  11. package/build/actions/escape/list.unit.js +36 -0
  12. package/build/actions/target/build.d.ts +9 -26
  13. package/build/actions/target/build.js +50 -71
  14. package/build/actions/target/build.unit.d.ts +1 -0
  15. package/build/actions/target/build.unit.js +76 -0
  16. package/build/actions/target/clear.d.ts +4 -0
  17. package/build/actions/target/clear.js +14 -0
  18. package/build/actions/target/clear.unit.d.ts +1 -0
  19. package/build/actions/target/clear.unit.js +23 -0
  20. package/build/commands/build.js +1 -2
  21. package/build/commands/clear.d.ts +5 -0
  22. package/build/commands/clear.js +15 -0
  23. package/build/commands/escape.d.ts +4 -3
  24. package/build/commands/escape.js +45 -48
  25. package/build/commands/preview.js +1 -2
  26. package/build/commands/start.js +1 -2
  27. package/build/components/Abbr.d.ts +1 -1
  28. package/build/components/Abbr.js +2 -4
  29. package/build/components/AnsiCode.d.ts +1 -1
  30. package/build/components/AnsiCode.js +2 -2
  31. package/build/components/Article.d.ts +2 -1
  32. package/build/components/Article.js +7 -14
  33. package/build/components/BackToTop.d.ts +1 -1
  34. package/build/components/Banner.d.ts +2 -2
  35. package/build/components/Banner.js +7 -3
  36. package/build/components/BlogIndex.d.ts +1 -1
  37. package/build/components/BlogIndex.js +2 -11
  38. package/build/components/Breadcrumbs.d.ts +1 -1
  39. package/build/components/Breadcrumbs.js +2 -3
  40. package/build/components/Callout.d.ts +1 -1
  41. package/build/components/Callout.js +5 -9
  42. package/build/components/Card.d.ts +1 -1
  43. package/build/components/Card.js +2 -3
  44. package/build/components/Cards.d.ts +1 -1
  45. package/build/components/ChangelogIndex.d.ts +1 -1
  46. package/build/components/ChangelogIndex.js +2 -11
  47. package/build/components/ChoiceList.d.ts +15 -0
  48. package/build/components/ChoiceList.js +13 -0
  49. package/build/components/CodeBlock.d.ts +1 -1
  50. package/build/components/CodeBlock.js +3 -16
  51. package/build/components/CodeTabs.d.ts +1 -1
  52. package/build/components/CodeTabs.js +2 -3
  53. package/build/components/Column.d.ts +1 -1
  54. package/build/components/Columns.d.ts +1 -1
  55. package/build/components/Content.d.ts +1 -1
  56. package/build/components/ContentTab.d.ts +1 -1
  57. package/build/components/ContentTabs.d.ts +1 -1
  58. package/build/components/ContentTabs.js +2 -3
  59. package/build/components/DefaultCatchBoundary.d.ts +1 -1
  60. package/build/components/DefaultCatchBoundary.js +5 -7
  61. package/build/components/DefinitionList.d.ts +3 -3
  62. package/build/components/Details.d.ts +1 -1
  63. package/build/components/Details.js +2 -5
  64. package/build/components/FileTree.d.ts +1 -1
  65. package/build/components/FileTree.js +3 -5
  66. package/build/components/Footer.d.ts +1 -1
  67. package/build/components/Footer.js +2 -5
  68. package/build/components/FootnoteRef.d.ts +1 -1
  69. package/build/components/FootnoteRef.js +2 -4
  70. package/build/components/Header.d.ts +6 -0
  71. package/build/components/Header.js +26 -0
  72. package/build/components/HeaderMenu.d.ts +2 -0
  73. package/build/components/HeaderMenu.js +27 -0
  74. package/build/components/HeaderNav.d.ts +6 -0
  75. package/build/components/HeaderNav.js +74 -0
  76. package/build/components/HeaderSearch.d.ts +4 -0
  77. package/build/components/HeaderSearch.js +33 -0
  78. package/build/components/Heading.d.ts +6 -6
  79. package/build/components/InlineBadge.d.ts +2 -2
  80. package/build/components/InlineBadge.js +1 -1
  81. package/build/components/InlineIcon.d.ts +1 -1
  82. package/build/components/InlineToc.d.ts +1 -1
  83. package/build/components/InlineToc.js +2 -4
  84. package/build/components/Layout.d.ts +2 -1
  85. package/build/components/Layout.js +5 -58
  86. package/build/components/LinkButton.d.ts +2 -2
  87. package/build/components/LinkButton.js +1 -1
  88. package/build/components/MenuSheet.d.ts +22 -0
  89. package/build/components/MenuSheet.js +27 -0
  90. package/build/components/Mermaid.d.ts +1 -1
  91. package/build/components/MermaidRenderer.d.ts +1 -1
  92. package/build/components/MermaidRenderer.js +20 -8
  93. package/build/components/NotFound.d.ts +1 -1
  94. package/build/components/NotFound.js +3 -6
  95. package/build/components/PackageTabs.d.ts +1 -1
  96. package/build/components/PackageTabs.js +3 -7
  97. package/build/components/PageToolbar.d.ts +1 -1
  98. package/build/components/PageToolbar.js +2 -10
  99. package/build/components/PrevNext.d.ts +1 -1
  100. package/build/components/PrevNext.js +2 -10
  101. package/build/components/Root.d.ts +4 -0
  102. package/build/components/Root.js +8 -0
  103. package/build/components/Search.d.ts +5 -2
  104. package/build/components/Search.js +11 -9
  105. package/build/components/SearchDialog.d.ts +1 -1
  106. package/build/components/SearchDialog.js +10 -133
  107. package/build/components/Section.d.ts +1 -1
  108. package/build/components/SectionHeader.d.ts +1 -1
  109. package/build/components/SheetPanel.d.ts +12 -0
  110. package/build/components/SheetPanel.js +19 -0
  111. package/build/components/Sidebar.d.ts +1 -1
  112. package/build/components/Sidebar.js +12 -14
  113. package/build/components/SidebarArticles.d.ts +4 -1
  114. package/build/components/SidebarArticles.js +5 -9
  115. package/build/components/SidebarLinks.d.ts +4 -1
  116. package/build/components/SidebarLinks.js +6 -9
  117. package/build/components/SidebarPosts.d.ts +4 -1
  118. package/build/components/SidebarPosts.js +7 -23
  119. package/build/components/SidebarReleases.d.ts +4 -1
  120. package/build/components/SidebarReleases.js +5 -15
  121. package/build/components/SidebarSectionPicker.d.ts +8 -0
  122. package/build/components/SidebarSectionPicker.js +31 -0
  123. package/build/components/SidebarSections.d.ts +1 -1
  124. package/build/components/SidebarSections.js +5 -9
  125. package/build/components/SiteLink.d.ts +1 -1
  126. package/build/components/SiteTitle.d.ts +1 -1
  127. package/build/components/SiteTitle.js +2 -6
  128. package/build/components/SortableTable.d.ts +1 -1
  129. package/build/components/SoundCloud.d.ts +1 -1
  130. package/build/components/SoundCloud.js +2 -2
  131. package/build/components/TagIndex.d.ts +1 -1
  132. package/build/components/TagIndex.js +2 -11
  133. package/build/components/Theme.d.ts +2 -1
  134. package/build/components/Theme.js +35 -15
  135. package/build/components/Toc.d.ts +5 -4
  136. package/build/components/Toc.js +35 -35
  137. package/build/components/YouTube.d.ts +1 -1
  138. package/build/components/YouTube.js +2 -2
  139. package/build/components/ZoomImage.d.ts +1 -1
  140. package/build/content-collections.js +5 -1
  141. package/build/elements/accordion.d.ts +4 -4
  142. package/build/elements/accordion.js +2 -3
  143. package/build/elements/alert-dialog.d.ts +12 -12
  144. package/build/elements/alert-dialog.js +2 -4
  145. package/build/elements/alert.d.ts +4 -4
  146. package/build/elements/alert.js +2 -2
  147. package/build/elements/aspect-ratio.d.ts +1 -1
  148. package/build/elements/avatar.d.ts +6 -6
  149. package/build/elements/badge.d.ts +1 -1
  150. package/build/elements/badge.js +3 -1
  151. package/build/elements/breadcrumb.d.ts +6 -6
  152. package/build/elements/breadcrumb.js +2 -4
  153. package/build/elements/button-group.d.ts +2 -2
  154. package/build/elements/button-group.js +5 -5
  155. package/build/elements/button.d.ts +2 -2
  156. package/build/elements/button.js +9 -7
  157. package/build/elements/calendar.d.ts +2 -2
  158. package/build/elements/calendar.js +2 -2
  159. package/build/elements/card.d.ts +7 -7
  160. package/build/elements/card.js +4 -4
  161. package/build/elements/carousel.d.ts +5 -5
  162. package/build/elements/carousel.js +3 -7
  163. package/build/elements/chart.d.ts +6 -6
  164. package/build/elements/chart.js +5 -11
  165. package/build/elements/checkbox.d.ts +1 -1
  166. package/build/elements/collapsible.d.ts +3 -3
  167. package/build/elements/command.d.ts +9 -9
  168. package/build/elements/command.js +5 -11
  169. package/build/elements/context-menu.d.ts +15 -15
  170. package/build/elements/context-menu.js +6 -9
  171. package/build/elements/dialog.d.ts +10 -10
  172. package/build/elements/dialog.js +2 -6
  173. package/build/elements/drawer.d.ts +14 -12
  174. package/build/elements/drawer.js +14 -15
  175. package/build/elements/dropdown-menu.d.ts +15 -15
  176. package/build/elements/dropdown-menu.js +7 -10
  177. package/build/elements/empty.d.ts +6 -6
  178. package/build/elements/empty.js +2 -2
  179. package/build/elements/field.d.ts +10 -10
  180. package/build/elements/field.js +3 -4
  181. package/build/elements/hover-card.d.ts +3 -3
  182. package/build/elements/hover-card.js +2 -2
  183. package/build/elements/input-group.d.ts +7 -7
  184. package/build/elements/input-group.js +5 -5
  185. package/build/elements/input-otp.d.ts +4 -4
  186. package/build/elements/input.d.ts +1 -1
  187. package/build/elements/input.js +2 -2
  188. package/build/elements/item.d.ts +9 -9
  189. package/build/elements/item.js +2 -2
  190. package/build/elements/kbd.d.ts +2 -2
  191. package/build/elements/label.d.ts +1 -1
  192. package/build/elements/menubar.d.ts +16 -16
  193. package/build/elements/menubar.js +9 -11
  194. package/build/elements/native-select.d.ts +3 -3
  195. package/build/elements/native-select.js +2 -4
  196. package/build/elements/navigation-menu.d.ts +8 -8
  197. package/build/elements/navigation-menu.js +3 -5
  198. package/build/elements/pagination.d.ts +7 -7
  199. package/build/elements/pagination.js +4 -10
  200. package/build/elements/popover.d.ts +6 -6
  201. package/build/elements/popover.js +2 -2
  202. package/build/elements/progress.d.ts +5 -5
  203. package/build/elements/progress.js +2 -3
  204. package/build/elements/radio-group.d.ts +2 -2
  205. package/build/elements/resizable.d.ts +3 -3
  206. package/build/elements/scroll-area.d.ts +2 -2
  207. package/build/elements/scroll-area.js +2 -4
  208. package/build/elements/select.d.ts +9 -9
  209. package/build/elements/select.js +4 -9
  210. package/build/elements/separator.d.ts +1 -1
  211. package/build/elements/sheet.d.ts +8 -8
  212. package/build/elements/sheet.js +2 -6
  213. package/build/elements/sidebar.d.ts +19 -19
  214. package/build/elements/sidebar.js +15 -37
  215. package/build/elements/skeleton.d.ts +1 -1
  216. package/build/elements/slider.d.ts +2 -1
  217. package/build/elements/slider.js +2 -3
  218. package/build/elements/sonner.d.ts +1 -1
  219. package/build/elements/spinner.d.ts +1 -1
  220. package/build/elements/switch.d.ts +1 -1
  221. package/build/elements/table.d.ts +8 -8
  222. package/build/elements/tabs.d.ts +4 -4
  223. package/build/elements/tabs.js +3 -3
  224. package/build/elements/textarea.d.ts +1 -1
  225. package/build/elements/textarea.js +2 -2
  226. package/build/elements/toggle-group.d.ts +3 -2
  227. package/build/elements/toggle-group.js +3 -3
  228. package/build/elements/toggle.d.ts +1 -1
  229. package/build/elements/toggle.js +2 -2
  230. package/build/elements/tooltip.d.ts +4 -4
  231. package/build/elements/tooltip.js +2 -3
  232. package/build/head.d.ts +4 -0
  233. package/build/head.js +6 -0
  234. package/build/helpers/article-search.d.ts +19 -0
  235. package/build/helpers/article-search.js +134 -0
  236. package/build/helpers/dependency-dir.d.ts +5 -0
  237. package/build/helpers/dependency-dir.js +20 -0
  238. package/build/helpers/dependency-dir.unit.d.ts +1 -0
  239. package/build/helpers/dependency-dir.unit.js +25 -0
  240. package/build/helpers/dynamic-icon-resolver.d.ts +1 -1
  241. package/build/helpers/dynamic-icon.d.ts +1 -1
  242. package/build/helpers/head.d.ts +53 -0
  243. package/build/helpers/head.js +69 -0
  244. package/build/helpers/head.unit.d.ts +1 -0
  245. package/build/helpers/head.unit.js +108 -0
  246. package/build/helpers/nav-items.d.ts +11 -0
  247. package/build/helpers/nav-items.js +65 -0
  248. package/build/helpers/render-inline-markdown.d.ts +1 -0
  249. package/build/helpers/render-inline-markdown.js +34 -0
  250. package/build/helpers/render-inline-markdown.unit.d.ts +1 -0
  251. package/build/helpers/render-inline-markdown.unit.js +20 -0
  252. package/build/helpers/search-highlight.d.ts +8 -0
  253. package/build/helpers/search-highlight.js +59 -0
  254. package/build/helpers/search-highlight.unit.d.ts +1 -0
  255. package/build/helpers/search-highlight.unit.js +36 -0
  256. package/build/helpers/target-export.d.ts +9 -0
  257. package/build/helpers/target-export.js +24 -0
  258. package/build/helpers/target-export.unit.d.ts +1 -0
  259. package/build/helpers/target-export.unit.js +25 -0
  260. package/build/helpers/theme.d.ts +6 -2
  261. package/build/helpers/theme.js +40 -7
  262. package/build/helpers/theme.unit.d.ts +1 -0
  263. package/build/helpers/theme.unit.js +30 -0
  264. package/build/hooks/hydrated.d.ts +2 -0
  265. package/build/hooks/hydrated.js +15 -0
  266. package/build/index.d.ts +1 -0
  267. package/build/index.js +1 -1
  268. package/build/models/config.d.ts +32 -6
  269. package/build/models/config.js +10 -1
  270. package/build/models/section.d.ts +4 -2
  271. package/build/models/section.js +1 -1
  272. package/build/plugins/vite-livemark.d.ts +4 -5
  273. package/build/plugins/vite-livemark.js +56 -90
  274. package/build/program.js +4 -2
  275. package/build/routes/$.d.ts +4 -1
  276. package/build/routes/$.js +20 -9
  277. package/build/routes/__root.js +29 -63
  278. package/build/settings.js +2 -1
  279. package/package.json +68 -66
  280. package/{.agents/skills → skills}/livemark-authoring/SKILL.md +2 -2
  281. package/{.agents/skills → skills}/livemark-configuration/SKILL.md +12 -5
  282. package/skills/livemark-customization/SKILL.md +145 -0
  283. package/source/actions/config/define.unit.ts +9 -0
  284. package/source/actions/escape/copy.ts +35 -0
  285. package/source/actions/escape/copy.unit.ts +51 -0
  286. package/source/actions/escape/list.ts +30 -0
  287. package/source/actions/escape/list.unit.ts +42 -0
  288. package/source/actions/target/build.ts +49 -69
  289. package/source/actions/target/build.unit.ts +95 -0
  290. package/source/actions/target/clear.ts +14 -0
  291. package/source/actions/target/clear.unit.ts +25 -0
  292. package/source/commands/build.ts +0 -1
  293. package/source/commands/clear.ts +15 -0
  294. package/source/commands/escape.ts +42 -59
  295. package/source/commands/preview.ts +0 -1
  296. package/source/commands/start.ts +0 -1
  297. package/source/components/AnsiCode.tsx +1 -1
  298. package/source/components/Article.tsx +8 -4
  299. package/source/components/Banner.tsx +12 -2
  300. package/source/components/BlogIndex.tsx +1 -1
  301. package/source/components/Callout.tsx +4 -6
  302. package/source/components/ChangelogIndex.tsx +1 -1
  303. package/source/components/ChoiceList.tsx +69 -0
  304. package/source/components/CodeBlock.tsx +6 -6
  305. package/source/components/CodeTabs.tsx +1 -1
  306. package/source/components/ContentTabs.tsx +1 -1
  307. package/source/components/DefaultCatchBoundary.tsx +4 -6
  308. package/source/components/Details.tsx +1 -1
  309. package/source/components/FileTree.tsx +1 -1
  310. package/source/components/Header.tsx +52 -0
  311. package/source/components/HeaderMenu.tsx +41 -0
  312. package/source/components/HeaderNav.tsx +145 -0
  313. package/source/components/HeaderSearch.tsx +77 -0
  314. package/source/components/InlineBadge.tsx +1 -1
  315. package/source/components/InlineToc.tsx +1 -1
  316. package/source/components/Layout.tsx +16 -160
  317. package/source/components/LinkButton.tsx +9 -1
  318. package/source/components/MenuSheet.tsx +92 -0
  319. package/source/components/MermaidRenderer.tsx +19 -8
  320. package/source/components/NotFound.tsx +3 -5
  321. package/source/components/PackageTabs.tsx +2 -2
  322. package/source/components/PageToolbar.tsx +11 -3
  323. package/source/components/PrevNext.tsx +2 -2
  324. package/source/components/Root.tsx +13 -0
  325. package/source/components/Search.tsx +28 -8
  326. package/source/components/SearchDialog.tsx +15 -189
  327. package/source/components/SheetPanel.tsx +69 -0
  328. package/source/components/Sidebar.tsx +27 -14
  329. package/source/components/SidebarArticles.tsx +4 -3
  330. package/source/components/SidebarLinks.tsx +3 -2
  331. package/source/components/SidebarPosts.tsx +3 -2
  332. package/source/components/SidebarReleases.tsx +3 -2
  333. package/source/components/SidebarSectionPicker.tsx +70 -0
  334. package/source/components/SiteTitle.tsx +5 -5
  335. package/source/components/SoundCloud.tsx +1 -1
  336. package/source/components/TagIndex.tsx +1 -1
  337. package/source/components/Theme.tsx +55 -29
  338. package/source/components/Toc.tsx +76 -55
  339. package/source/components/YouTube.tsx +1 -1
  340. package/source/content-collections.ts +4 -0
  341. package/source/elements/alert-dialog.tsx +1 -1
  342. package/source/elements/alert.tsx +1 -1
  343. package/source/elements/badge.tsx +4 -0
  344. package/source/elements/button-group.tsx +4 -4
  345. package/source/elements/button.tsx +10 -6
  346. package/source/elements/calendar.tsx +1 -1
  347. package/source/elements/card.tsx +3 -3
  348. package/source/elements/command.tsx +7 -4
  349. package/source/elements/context-menu.tsx +5 -5
  350. package/source/elements/dialog.tsx +1 -1
  351. package/source/elements/drawer.tsx +59 -43
  352. package/source/elements/dropdown-menu.tsx +6 -6
  353. package/source/elements/empty.tsx +1 -1
  354. package/source/elements/field.tsx +1 -1
  355. package/source/elements/hover-card.tsx +1 -1
  356. package/source/elements/input-group.tsx +4 -4
  357. package/source/elements/input.tsx +1 -1
  358. package/source/elements/item.tsx +1 -1
  359. package/source/elements/menubar.tsx +8 -8
  360. package/source/elements/native-select.tsx +1 -1
  361. package/source/elements/popover.tsx +1 -1
  362. package/source/elements/select.tsx +3 -3
  363. package/source/elements/sidebar.tsx +8 -21
  364. package/source/elements/tabs.tsx +2 -2
  365. package/source/elements/textarea.tsx +1 -1
  366. package/source/elements/toggle-group.tsx +2 -2
  367. package/source/elements/toggle.tsx +1 -1
  368. package/source/env.d.ts +1 -0
  369. package/source/head.ts +7 -0
  370. package/source/helpers/article-search.tsx +192 -0
  371. package/source/helpers/dependency-dir.ts +20 -0
  372. package/source/helpers/dependency-dir.unit.ts +39 -0
  373. package/source/helpers/head.ts +94 -0
  374. package/source/helpers/head.unit.ts +116 -0
  375. package/source/helpers/nav-items.tsx +102 -0
  376. package/source/helpers/render-inline-markdown.ts +44 -0
  377. package/source/helpers/render-inline-markdown.unit.ts +30 -0
  378. package/source/helpers/search-highlight.ts +73 -0
  379. package/source/helpers/search-highlight.unit.ts +42 -0
  380. package/source/helpers/target-export.ts +28 -0
  381. package/source/helpers/target-export.unit.ts +37 -0
  382. package/source/helpers/theme.ts +40 -6
  383. package/source/helpers/theme.unit.ts +32 -0
  384. package/source/hooks/hydrated.ts +18 -0
  385. package/source/index.ts +1 -0
  386. package/source/models/config.ts +13 -0
  387. package/source/models/section.ts +3 -0
  388. package/source/plugins/vite-livemark.ts +54 -95
  389. package/source/program.ts +2 -0
  390. package/source/routes/$.tsx +27 -9
  391. package/source/routes/__root.tsx +51 -71
  392. package/source/settings.ts +1 -0
  393. package/source/styles/general.css +59 -11
  394. package/source/styles/markdown.css +13 -7
  395. package/source/styles/shape.css +14 -0
  396. package/.agents/skills/change-review/SKILL.md +0 -47
  397. package/.agents/skills/livemark-customization/SKILL.md +0 -118
@@ -1,57 +1,57 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronDown } from "lucide-react";
2
+ import { ChevronUp } from "lucide-react";
3
3
  import { useEffect, useRef, useState } from "react";
4
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from "../elements/tabs.js";
5
+ import { ChoiceList } from "./ChoiceList.js";
6
+ import { SheetPanel } from "./SheetPanel.js";
4
7
  export function Toc(props) {
5
8
  const activeId = useActiveHeading(props.items);
6
9
  if (props.items.length === 0 && !props.children)
7
10
  return null;
8
- return (_jsx("aside", { className: "hidden xl:block w-56 shrink-0", children: _jsxs("div", { className: "sticky top-20 max-h-[calc(100vh-5rem)] overflow-auto [scrollbar-width:none]", children: [props.children, props.items.length > 0 && (_jsxs("nav", { children: [
9
- _jsx("p", { className: "text-sm font-medium mb-3", children: "Contents" }), _jsx("ul", { className: "text-sm border-l border-border", children: props.items.map(item => (_jsx("li", { children: _jsx("a", { href: item.url, "data-active": activeId === item.url.slice(1) || undefined, className: `-ms-px block py-1.5 border-l border-transparent text-muted-foreground transition-colors hover:text-foreground data-[active]:border-primary data-[active]:text-primary data-[active]:font-medium ${item.depth <= 2 ? "ps-3" : item.depth === 3 ? "ps-6" : "ps-8"}`, children: item.title }) }, item.url))) })
10
- ] }))] }) }));
11
+ return (_jsx("aside", { className: "hidden xl:block w-56 shrink-0", children: _jsxs("div", { className: "sticky top-20 max-h-[calc(100vh-5rem)] overflow-auto [scrollbar-width:none]", children: [props.children && (_jsxs("div", { className: "mb-6", children: [_jsx("p", { className: "text-sm font-medium mb-3", children: "Actions" }), props.children] })), props.items.length > 0 && (_jsxs("nav", { children: [_jsx("p", { className: "text-sm font-medium mb-3", children: "Contents" }), _jsx("ul", { className: "text-sm border-l border-border", children: props.items.map(item => (_jsx("li", { children: _jsx("a", { href: item.url, "data-active": activeId === item.url.slice(1) || undefined, className: `-ms-px block py-1.5 border-l border-transparent text-muted-foreground transition-colors hover:text-foreground data-[active]:border-primary data-[active]:text-primary data-[active]:font-medium ${item.depth <= 2 ? "ps-3" : item.depth === 3 ? "ps-6" : "ps-8"}`, children: item.title }) }, item.url))) })] }))] }) }));
11
12
  }
12
- /** Mobile-only sticky secondary bar showing the active heading and an
13
- * overlay dropdown with the Contents + page Actions. */
13
+ const SHEET_ACTIONS = "[&_[data-slot=page-toolbar]]:-mx-2 [&_[data-slot=page-toolbar]]:gap-0.5 [&_[data-slot=page-action]]:h-10 [&_[data-slot=page-action]]:gap-2.5 [&_[data-slot=page-action]]:rounded-control [&_[data-slot=page-action]]:px-2 [&_[data-slot=page-action]]:text-base [&_[data-slot=page-action]]:text-foreground [&_[data-slot=page-action]:hover]:bg-muted [&_[data-slot=page-action]_svg]:size-[18px]";
14
+ /** Mobile-only sticky secondary bar showing the active heading; it opens a
15
+ * bottom sheet with the Contents and page Actions as two tabs. */
14
16
  export function MobileToc(props) {
15
17
  const activeId = useActiveHeading(props.items);
16
18
  const [open, setOpen] = useState(false);
17
- const wrapperRef = useRef(null);
18
- useEffect(() => {
19
- if (!open)
20
- return;
21
- const onPointerDown = (event) => {
22
- if (!wrapperRef.current?.contains(event.target))
23
- setOpen(false);
24
- };
25
- const onKey = (event) => {
26
- if (event.key === "Escape")
27
- setOpen(false);
28
- };
29
- document.addEventListener("mousedown", onPointerDown);
30
- document.addEventListener("keydown", onKey);
31
- return () => {
32
- document.removeEventListener("mousedown", onPointerDown);
33
- document.removeEventListener("keydown", onKey);
34
- };
35
- }, [open]);
19
+ const [tab, setTab] = useState(props.items.length > 0 ? "contents" : "actions");
20
+ const pendingUrl = useRef(null);
36
21
  if (props.items.length === 0 && !props.children)
37
22
  return null;
38
23
  const active = props.items.find(item => item.url.slice(1) === activeId);
39
24
  const title = active?.title ?? props.items[0]?.title ?? "Contents";
40
- return (_jsxs("div", { ref: wrapperRef, className: "xl:hidden sticky top-16 z-20 border-b bg-background", children: [
41
- _jsxs("button", { type: "button", onClick: () => setOpen(v => !v), "aria-expanded": open, className: "flex w-full items-center gap-3 px-4 py-3 text-sm text-muted-foreground", children: [
42
- _jsx(ScrollProgressRing, {}), _jsx("span", { className: "truncate flex-1 text-left", children: title }), _jsx(ChevronDown, { className: `size-4 shrink-0 transition-transform ${open ? "rotate-180" : ""}` })
43
- ] }), open && (_jsx("div", { className: "absolute top-full left-0 right-0 mt-px max-h-[calc(100vh-8rem)] overflow-auto border-b bg-background shadow-md animate-in slide-in-from-top-2 fade-in-0 duration-200", children: _jsxs("div", { className: "space-y-4 px-4 pt-4 pb-4", children: [props.children, props.items.length > 0 && (_jsxs("nav", { children: [
44
- _jsx("p", { className: "mb-2 text-sm font-medium", children: "Contents" }), _jsx("ul", { className: "border-l border-border text-sm", children: props.items.map(item => (_jsx("li", { children: _jsx("a", { href: item.url, "data-active": activeId === item.url.slice(1) || undefined, onClick: () => setOpen(false), className: `-ms-px block border-l border-transparent py-1.5 text-muted-foreground transition-colors hover:text-foreground data-[active]:border-primary data-[active]:font-medium data-[active]:text-primary ${item.depth <= 2 ? "ps-3" : item.depth === 3 ? "ps-6" : "ps-8"}`, children: item.title }) }, item.url))) })
45
- ] }))] }) }))] }));
25
+ const choices = props.items.map(item => ({
26
+ id: item.url.slice(1),
27
+ label: item.title,
28
+ href: item.url,
29
+ depth: Math.max(0, item.depth - 2),
30
+ }));
31
+ // The sheet locks page scroll until it has closed, which swallows a native hash
32
+ // jump made from inside it; navigate once the close has finished.
33
+ const handleSelect = (choice, event) => {
34
+ event.preventDefault();
35
+ pendingUrl.current = choice.href ?? null;
36
+ setOpen(false);
37
+ };
38
+ const handleOpenChangeComplete = (isOpen) => {
39
+ const url = pendingUrl.current;
40
+ if (isOpen || !url)
41
+ return;
42
+ pendingUrl.current = null;
43
+ history.pushState(null, "", url);
44
+ document.getElementById(url.slice(1))?.scrollIntoView();
45
+ };
46
+ const contents = (_jsx(ChoiceList, { choices: choices, selectedId: activeId, onSelect: handleSelect }));
47
+ return (_jsxs("div", { className: "xl:hidden sticky top-16 z-20 border-b bg-background", children: [_jsxs("button", { type: "button", onClick: () => setOpen(true), "aria-haspopup": "dialog", className: "flex w-full items-center gap-3 px-4 py-3 text-sm text-muted-foreground", children: [_jsx(ScrollProgressRing, {}), _jsx("span", { className: "truncate flex-1 text-left", children: title }), _jsx(ChevronUp, { className: "size-4 shrink-0" })] }), _jsx(SheetPanel, { open: open, onOpenChange: setOpen, onOpenChangeComplete: handleOpenChangeComplete, title: props.title ?? "On this page", children: props.children && props.items.length > 0 ? (_jsxs(Tabs, { value: tab, onValueChange: value => setTab(String(value)), children: [_jsxs(TabsList, { className: "mb-2 w-full", children: [_jsx(TabsTrigger, { value: "contents", children: "Contents" }), _jsx(TabsTrigger, { value: "actions", children: "Actions" })] }), _jsx(TabsContent, { value: "contents", children: contents }), _jsx(TabsContent, { value: "actions", className: SHEET_ACTIONS, children: props.children })] })) : props.children ? (_jsx("div", { className: SHEET_ACTIONS, children: props.children })) : (contents) })] }));
46
48
  }
47
49
  function ScrollProgressRing() {
48
50
  const progress = useScrollProgress();
49
51
  const radius = 6;
50
52
  const circumference = 2 * Math.PI * radius;
51
53
  const offset = circumference * (1 - progress);
52
- return (_jsxs("svg", { viewBox: "0 0 16 16", className: "size-4 shrink-0 -rotate-90", "aria-hidden": true, children: [
53
- _jsx("circle", { cx: "8", cy: "8", r: radius, className: "stroke-muted-foreground/30", strokeWidth: "2", fill: "none" }), _jsx("circle", { cx: "8", cy: "8", r: radius, className: "stroke-primary transition-[stroke-dashoffset] duration-150", strokeWidth: "2", fill: "none", strokeLinecap: "round", strokeDasharray: circumference, strokeDashoffset: offset })
54
- ] }));
54
+ return (_jsxs("svg", { viewBox: "0 0 16 16", className: "size-4 shrink-0 -rotate-90", "aria-hidden": true, children: [_jsx("circle", { cx: "8", cy: "8", r: radius, className: "stroke-muted-foreground/30", strokeWidth: "2", fill: "none" }), _jsx("circle", { cx: "8", cy: "8", r: radius, className: "stroke-primary transition-[stroke-dashoffset] duration-150", strokeWidth: "2", fill: "none", strokeLinecap: "round", strokeDasharray: circumference, strokeDashoffset: offset })] }));
55
55
  }
56
56
  function useScrollProgress() {
57
57
  const [progress, setProgress] = useState(0);
@@ -125,4 +125,4 @@ function useActiveHeading(items) {
125
125
  }, [items]);
126
126
  return activeId;
127
127
  }
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvVG9jLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWtCLE1BQU0sT0FBTyxDQUFBO0FBR25FLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUQ7SUFDbkUsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTlDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUU1RCxPQUFPLENBQ0wsZ0JBQU8sU0FBUyxFQUFDLCtCQUErQixZQUM5QyxlQUFLLFNBQVMsRUFBQyw2RUFBNkUsYUFDekYsS0FBSyxDQUFDLFFBQVEsRUFDZCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FDekI7d0JBQ0UsWUFBRyxTQUFTLEVBQUMsMEJBQTBCLHlCQUFhLEVBQ3BELGFBQUksU0FBUyxFQUFDLGdDQUFnQyxZQUMzQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQ3ZCLHVCQUNFLFlBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLGlCQUNELFFBQVEsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLEVBQ3hELFNBQVMsRUFBRSxtTUFBbU0sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFD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QUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMxQixRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBRUQsT0FBTyxHQUFHLEVBQUU7WUFDVixRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFBO1FBQ2hDLENBQUMsQ0FBQTtJQUNILENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFFWCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdHlwZSBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHR5cGUgeyBUb2NJdGVtIH0gZnJvbSBcIi4uL21vZGVscy90b2MudHNcIlxuXG5leHBvcnQgZnVuY3Rpb24gVG9jKHByb3BzOiB7IGl0ZW1zOiBUb2NJdGVtW107IGNoaWxkcmVuPzogUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgYWN0aXZlSWQgPSB1c2VBY3RpdmVIZWFkaW5nKHByb3BzLml0ZW1zKVxuXG4gIGlmIChwcm9wcy5pdGVtcy5sZW5ndGggPT09IDAgJiYgIXByb3BzLmNoaWxkcmVuKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPGFzaWRlIGNsYXNzTmFtZT1cImhpZGRlbiB4bDpibG9jayB3LTU2IHNocmluay0wXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0aWNreSB0b3AtMjAgbWF4LWgtW2NhbGMoMTAwdmgtNXJlbSldIG92ZXJmbG93LWF1dG8gW3Njcm9sbGJhci13aWR0aDpub25lXVwiPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgIHtwcm9wcy5pdGVtcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICA8bmF2PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBtYi0zXCI+Q29udGVudHM8L3A+XG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwidGV4dC1zbSBib3JkZXItbCBib3JkZXItYm9yZGVyXCI+XG4gICAgICAgICAgICAgIHtwcm9wcy5pdGVtcy5tYXAoaXRlbSA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17aXRlbS51cmx9PlxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgaHJlZj17aXRlbS51cmx9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aXZlPXthY3RpdmVJZCA9PT0gaXRlbS51cmwuc2xpY2UoMSkgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2AtbXMtcHggYmxvY2sgcHktMS41IGJvcmRlci1sIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LW11dGVkLWZvcmVncm91bmQgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGRhdGEtW2FjdGl2ZV06Ym9yZGVyLXByaW1hcnkgZGF0YS1bYWN0aXZlXTp0ZXh0LXByaW1hcnkgZGF0YS1bYWN0aXZlXTpmb250LW1lZGl1bSAke2l0ZW0uZGVwdGggPD0gMiA/IFwicHMtM1wiIDogaXRlbS5kZXB0aCA9PT0gMyA/IFwicHMtNlwiIDogXCJwcy04XCJ9YH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2l0ZW0udGl0bGV9XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9hc2lkZT5cbiAgKVxufVxuXG4vKiogTW9iaWxlLW9ubHkgc3RpY2t5IHNlY29uZGFyeSBiYXIgc2hvd2luZyB0aGUgYWN0aXZlIGhlYWRpbmcgYW5kIGFuXG4gKiBvdmVybGF5IGRyb3Bkb3duIHdpdGggdGhlIENvbnRlbnRzICsgcGFnZSBBY3Rpb25zLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1vYmlsZVRvYyhwcm9wczogeyBpdGVtczogVG9jSXRlbVtdOyBjaGlsZHJlbj86IFJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IGFjdGl2ZUlkID0gdXNlQWN0aXZlSGVhZGluZyhwcm9wcy5pdGVtcylcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW9wZW4pIHJldHVyblxuICAgIGNvbnN0IG9uUG9pbnRlckRvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICghd3JhcHBlclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHNldE9wZW4oZmFsc2UpXG4gICAgfVxuICAgIGNvbnN0IG9uS2V5ID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSBzZXRPcGVuKGZhbHNlKVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIG9uUG9pbnRlckRvd24pXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgb25LZXkpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgb25Qb2ludGVyRG93bilcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIG9uS2V5KVxuICAgIH1cbiAgfSwgW29wZW5dKVxuXG4gIGlmIChwcm9wcy5pdGVtcy5sZW5ndGggPT09IDAgJiYgIXByb3BzLmNoaWxkcmVuKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGFjdGl2ZSA9IHByb3BzLml0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnVybC5zbGljZSgxKSA9PT0gYWN0aXZlSWQpXG4gIGNvbnN0IHRpdGxlID0gYWN0aXZlPy50aXRsZSA/PyBwcm9wcy5pdGVtc1swXT8udGl0bGUgPz8gXCJDb250ZW50c1wiXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17d3JhcHBlclJlZn0gY2xhc3NOYW1lPVwieGw6aGlkZGVuIHN0aWNreSB0b3AtMTYgei0yMCBib3JkZXItYiBiZy1iYWNrZ3JvdW5kXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRPcGVuKHYgPT4gIXYpfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXtvcGVufVxuICAgICAgICBjbGFzc05hbWU9XCJmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIgZ2FwLTMgcHgtNCBweS0zIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCJcbiAgICAgID5cbiAgICAgICAgPFNjcm9sbFByb2dyZXNzUmluZyAvPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0cnVuY2F0ZSBmbGV4LTEgdGV4dC1sZWZ0XCI+e3RpdGxlfTwvc3Bhbj5cbiAgICAgICAgPENoZXZyb25Eb3duXG4gICAgICAgICAgY2xhc3NOYW1lPXtgc2l6ZS00IHNocmluay0wIHRyYW5zaXRpb24tdHJhbnNmb3JtICR7b3BlbiA/IFwicm90YXRlLTE4MFwiIDogXCJcIn1gfVxuICAgICAgICAvPlxuICAgICAgPC9idXR0b24+XG4gICAgICB7b3BlbiAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLWZ1bGwgbGVmdC0wIHJpZ2h0LTAgbXQtcHggbWF4LWgtW2NhbGMoMTAwdmgtOHJlbSldIG92ZXJmbG93LWF1dG8gYm9yZGVyLWIgYmctYmFja2dyb3VuZCBzaGFkb3ctbWQgYW5pbWF0ZS1pbiBzbGlkZS1pbi1mcm9tLXRvcC0yIGZhZGUtaW4tMCBkdXJhdGlvbi0yMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNCBweC00IHB0LTQgcGItNFwiPlxuICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAge3Byb3BzLml0ZW1zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8bmF2PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm1iLTIgdGV4dC1zbSBmb250LW1lZGl1bVwiPkNvbnRlbnRzPC9wPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJib3JkZXItbCBib3JkZXItYm9yZGVyIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5pdGVtcy5tYXAoaXRlbSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2l0ZW0udXJsfT5cbiAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17aXRlbS51cmx9XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWFjdGl2ZT17YWN0aXZlSWQgPT09IGl0ZW0udXJsLnNsaWNlKDEpIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE9wZW4oZmFsc2UpfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgLW1zLXB4IGJsb2NrIGJvcmRlci1sIGJvcmRlci10cmFuc3BhcmVudCBweS0xLjUgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOnRleHQtZm9yZWdyb3VuZCBkYXRhLVthY3RpdmVdOmJvcmRlci1wcmltYXJ5IGRhdGEtW2FjdGl2ZV06Zm9udC1tZWRpdW0gZGF0YS1bYWN0aXZlXTp0ZXh0LXByaW1hcnkgJHtpdGVtLmRlcHRoIDw9IDIgPyBcInBzLTNcIiA6IGl0ZW0uZGVwdGggPT09IDMgPyBcInBzLTZcIiA6IFwicHMtOFwifWB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0udGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gU2Nyb2xsUHJvZ3Jlc3NSaW5nKCkge1xuICBjb25zdCBwcm9ncmVzcyA9IHVzZVNjcm9sbFByb2dyZXNzKClcbiAgY29uc3QgcmFkaXVzID0gNlxuICBjb25zdCBjaXJjdW1mZXJlbmNlID0gMiAqIE1hdGguUEkgKiByYWRpdXNcbiAgY29uc3Qgb2Zmc2V0ID0gY2lyY3VtZmVyZW5jZSAqICgxIC0gcHJvZ3Jlc3MpXG4gIHJldHVybiAoXG4gICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgY2xhc3NOYW1lPVwic2l6ZS00IHNocmluay0wIC1yb3RhdGUtOTBcIiBhcmlhLWhpZGRlbj5cbiAgICAgIDxjaXJjbGVcbiAgICAgICAgY3g9XCI4XCJcbiAgICAgICAgY3k9XCI4XCJcbiAgICAgICAgcj17cmFkaXVzfVxuICAgICAgICBjbGFzc05hbWU9XCJzdHJva2UtbXV0ZWQtZm9yZWdyb3VuZC8zMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIC8+XG4gICAgICA8Y2lyY2xlXG4gICAgICAgIGN4PVwiOFwiXG4gICAgICAgIGN5PVwiOFwiXG4gICAgICAgIHI9e3JhZGl1c31cbiAgICAgICAgY2xhc3NOYW1lPVwic3Ryb2tlLXByaW1hcnkgdHJhbnNpdGlvbi1bc3Ryb2tlLWRhc2hvZmZzZXRdIGR1cmF0aW9uLTE1MFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlRGFzaGFycmF5PXtjaXJjdW1mZXJlbmNlfVxuICAgICAgICBzdHJva2VEYXNob2Zmc2V0PXtvZmZzZXR9XG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApXG59XG5cbmZ1bmN0aW9uIHVzZVNjcm9sbFByb2dyZXNzKCkge1xuICBjb25zdCBbcHJvZ3Jlc3MsIHNldFByb2dyZXNzXSA9IHVzZVN0YXRlKDApXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWF4ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCAtIHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgY29uc3QgbmV4dCA9IG1heCA+IDAgPyB3aW5kb3cuc2Nyb2xsWSAvIG1heCA6IDBcbiAgICAgIHNldFByb2dyZXNzKE1hdGgubWluKDEsIE1hdGgubWF4KDAsIG5leHQpKSlcbiAgICB9XG4gICAgdXBkYXRlKClcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB1cGRhdGUsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHVwZGF0ZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdXBkYXRlKVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdXBkYXRlKVxuICAgIH1cbiAgfSwgW10pXG4gIHJldHVybiBwcm9ncmVzc1xufVxuXG5mdW5jdGlvbiB1c2VBY3RpdmVIZWFkaW5nKGl0ZW1zOiBUb2NJdGVtW10pIHtcbiAgY29uc3QgW2FjdGl2ZUlkLCBzZXRBY3RpdmVJZF0gPSB1c2VTdGF0ZTxzdHJpbmc+KFwiXCIpXG4gIGNvbnN0IG9ic2VydmVyID0gdXNlUmVmPEludGVyc2VjdGlvbk9ic2VydmVyIHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlkcyA9IGl0ZW1zLm1hcChpdGVtID0+IGl0ZW0udXJsLnNsaWNlKDEpKVxuICAgIGNvbnN0IGVsZW1lbnRzID0gaWRzXG4gICAgICAubWFwKGlkID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgSFRNTEVsZW1lbnRbXVxuXG4gICAgaWYgKGVsZW1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG5cbiAgICBjb25zdCB2aXNpYmxlU2V0ID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKVxuXG4gICAgb2JzZXJ2ZXIuY3VycmVudCA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgIGVudHJpZXMgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICAgIHZpc2libGVTZXQuc2V0KGVudHJ5LnRhcmdldC5pZCwgZW50cnkudGltZSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmlzaWJsZVNldC5kZWxldGUoZW50cnkudGFyZ2V0LmlkKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2aXNpYmxlU2V0LnNpemUgPiAwKSB7XG4gICAgICAgICAgbGV0IGxhdGVzdCA9IFwiXCJcbiAgICAgICAgICBsZXQgbGF0ZXN0VGltZSA9IDBcbiAgICAgICAgICBmb3IgKGNvbnN0IFtpZCwgdGltZV0gb2YgdmlzaWJsZVNldCkge1xuICAgICAgICAgICAgaWYgKHRpbWUgPiBsYXRlc3RUaW1lKSB7XG4gICAgICAgICAgICAgIGxhdGVzdCA9IGlkXG4gICAgICAgICAgICAgIGxhdGVzdFRpbWUgPSB0aW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNldEFjdGl2ZUlkKGxhdGVzdClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCB2aWV3VG9wID0gd2luZG93LnNjcm9sbFlcbiAgICAgICAgICBsZXQgY2xvc2VzdCA9IFwiXCJcbiAgICAgICAgICBsZXQgY2xvc2VzdERpc3QgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFlcbiAgICAgICAgICBmb3IgKGNvbnN0IGVsIG9mIGVsZW1lbnRzKSB7XG4gICAgICAgICAgICBjb25zdCBkaXN0ID0gTWF0aC5hYnMoXG4gICAgICAgICAgICAgIHZpZXdUb3AgLSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSB3aW5kb3cuc2Nyb2xsWSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChkaXN0IDwgY2xvc2VzdERpc3QpIHtcbiAgICAgICAgICAgICAgY2xvc2VzdCA9IGVsLmlkXG4gICAgICAgICAgICAgIGNsb3Nlc3REaXN0ID0gZGlzdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRBY3RpdmVJZChjbG9zZXN0KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyB0aHJlc2hvbGQ6IDAuOTggfSxcbiAgICApXG5cbiAgICBmb3IgKGNvbnN0IGVsIG9mIGVsZW1lbnRzKSB7XG4gICAgICBvYnNlcnZlci5jdXJyZW50Lm9ic2VydmUoZWwpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIG9ic2VydmVyLmN1cnJlbnQ/LmRpc2Nvbm5lY3QoKVxuICAgIH1cbiAgfSwgW2l0ZW1zXSlcblxuICByZXR1cm4gYWN0aXZlSWRcbn1cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvVG9jLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQW1DLE1BQU0sT0FBTyxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBc0IsQ0FBQTtBQUUvRSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0saUJBQWtCLENBQUE7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFrQixDQUFBO0FBRTdDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUQ7SUFDbkUsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTlDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUU1RCxPQUFPLENBQ0wsZ0JBQU8sU0FBUyxFQUFDLCtCQUErQixZQUM5QyxlQUFLLFNBQVMsRUFBQyw2RUFBNkUsYUFDekYsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUNqQixlQUFLLFNBQVMsRUFBQyxNQUFNLGFBQ25CLFlBQUcsU0FBUyxFQUFDLDBCQUEwQix3QkFBWSxFQUNsRCxLQUFLLENBQUMsUUFBUSxJQUNYLENBQ1AsRUFDQSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FDekIsMEJBQ0UsWUFBRyxTQUFTLEVBQUMsMEJBQTBCLHlCQUFhLEVBQ3BELGFBQUksU0FBUyxFQUFDLGdDQUFnQyxZQUMzQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMs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O0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGV2cm9uVXAgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdHlwZSBNb3VzZUV2ZW50LCB0eXBlIFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyBUYWJzLCBUYWJzQ29udGVudCwgVGFic0xpc3QsIFRhYnNUcmlnZ2VyIH0gZnJvbSBcIi4uL2VsZW1lbnRzL3RhYnMudHN4XCJcbmltcG9ydCB0eXBlIHsgVG9jSXRlbSB9IGZyb20gXCIuLi9tb2RlbHMvdG9jLnRzXCJcbmltcG9ydCB7IENob2ljZUxpc3QsIHR5cGUgQ2hvaWNlIH0gZnJvbSBcIi4vQ2hvaWNlTGlzdC50c3hcIlxuaW1wb3J0IHsgU2hlZXRQYW5lbCB9IGZyb20gXCIuL1NoZWV0UGFuZWwudHN4XCJcblxuZXhwb3J0IGZ1bmN0aW9uIFRvYyhwcm9wczogeyBpdGVtczogVG9jSXRlbVtdOyBjaGlsZHJlbj86IFJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IGFjdGl2ZUlkID0gdXNlQWN0aXZlSGVhZGluZyhwcm9wcy5pdGVtcylcblxuICBpZiAocHJvcHMuaXRlbXMubGVuZ3RoID09PSAwICYmICFwcm9wcy5jaGlsZHJlbikgcmV0dXJuIG51bGxcblxuICByZXR1cm4gKFxuICAgIDxhc2lkZSBjbGFzc05hbWU9XCJoaWRkZW4geGw6YmxvY2sgdy01NiBzaHJpbmstMFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGlja3kgdG9wLTIwIG1heC1oLVtjYWxjKDEwMHZoLTVyZW0pXSBvdmVyZmxvdy1hdXRvIFtzY3JvbGxiYXItd2lkdGg6bm9uZV1cIj5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVuICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTZcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gbWItM1wiPkFjdGlvbnM8L3A+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtwcm9wcy5pdGVtcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICA8bmF2PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSBtYi0zXCI+Q29udGVudHM8L3A+XG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwidGV4dC1zbSBib3JkZXItbCBib3JkZXItYm9yZGVyXCI+XG4gICAgICAgICAgICAgIHtwcm9wcy5pdGVtcy5tYXAoaXRlbSA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17aXRlbS51cmx9PlxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgaHJlZj17aXRlbS51cmx9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYWN0aXZlPXthY3RpdmVJZCA9PT0gaXRlbS51cmwuc2xpY2UoMSkgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2AtbXMtcHggYmxvY2sgcHktMS41IGJvcmRlci1sIGJvcmRlci10cmFuc3BhcmVudCB0ZXh0LW11dGVkLWZvcmVncm91bmQgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kIGRhdGEtW2FjdGl2ZV06Ym9yZGVyLXByaW1hcnkgZGF0YS1bYWN0aXZlXTp0ZXh0LXByaW1hcnkgZGF0YS1bYWN0aXZlXTpmb250LW1lZGl1bSAke2l0ZW0uZGVwdGggPD0gMiA/IFwicHMtM1wiIDogaXRlbS5kZXB0aCA9PT0gMyA/IFwicHMtNlwiIDogXCJwcy04XCJ9YH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2l0ZW0udGl0bGV9XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9hc2lkZT5cbiAgKVxufVxuXG5jb25zdCBTSEVFVF9BQ1RJT05TID1cbiAgXCJbJl9bZGF0YS1zbG90PXBhZ2UtdG9vbGJhcl1dOi1teC0yIFsmX1tkYXRhLXNsb3Q9cGFnZS10b29sYmFyXV06Z2FwLTAuNSBbJl9bZGF0YS1zbG90PXBhZ2UtYWN0aW9uXV06aC0xMCBbJl9bZGF0YS1zbG90PXBhZ2UtYWN0aW9uXV06Z2FwLTIuNSBbJl9bZGF0YS1zbG90PXBhZ2UtYWN0aW9uXV06cm91bmRlZC1jb250cm9sIFsmX1tkYXRhLXNsb3Q9cGFnZS1hY3Rpb25dXTpweC0yIFsmX1tkYXRhLXNsb3Q9cGFnZS1hY3Rpb25dXTp0ZXh0LWJhc2UgWyZfW2RhdGEtc2xvdD1wYWdlLWFjdGlvbl1dOnRleHQtZm9yZWdyb3VuZCBbJl9bZGF0YS1zbG90PXBhZ2UtYWN0aW9uXTpob3Zlcl06YmctbXV0ZWQgWyZfW2RhdGEtc2xvdD1wYWdlLWFjdGlvbl1fc3ZnXTpzaXplLVsxOHB4XVwiXG5cbi8qKiBNb2JpbGUtb25seSBzdGlja3kgc2Vjb25kYXJ5IGJhciBzaG93aW5nIHRoZSBhY3RpdmUgaGVhZGluZzsgaXQgb3BlbnMgYVxuICogYm90dG9tIHNoZWV0IHdpdGggdGhlIENvbnRlbnRzIGFuZCBwYWdlIEFjdGlvbnMgYXMgdHdvIHRhYnMuICovXG5leHBvcnQgZnVuY3Rpb24gTW9iaWxlVG9jKHByb3BzOiB7XG4gIGl0ZW1zOiBUb2NJdGVtW11cbiAgdGl0bGU/OiBzdHJpbmdcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbn0pIHtcbiAgY29uc3QgYWN0aXZlSWQgPSB1c2VBY3RpdmVIZWFkaW5nKHByb3BzLml0ZW1zKVxuICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3RhYiwgc2V0VGFiXSA9IHVzZVN0YXRlKHByb3BzLml0ZW1zLmxlbmd0aCA+IDAgPyBcImNvbnRlbnRzXCIgOiBcImFjdGlvbnNcIilcbiAgY29uc3QgcGVuZGluZ1VybCA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGlmIChwcm9wcy5pdGVtcy5sZW5ndGggPT09IDAgJiYgIXByb3BzLmNoaWxkcmVuKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGFjdGl2ZSA9IHByb3BzLml0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnVybC5zbGljZSgxKSA9PT0gYWN0aXZlSWQpXG4gIGNvbnN0IHRpdGxlID0gYWN0aXZlPy50aXRsZSA/PyBwcm9wcy5pdGVtc1swXT8udGl0bGUgPz8gXCJDb250ZW50c1wiXG4gIGNvbnN0IGNob2ljZXM6IENob2ljZVtdID0gcHJvcHMuaXRlbXMubWFwKGl0ZW0gPT4gKHtcbiAgICBpZDogaXRlbS51cmwuc2xpY2UoMSksXG4gICAgbGFiZWw6IGl0ZW0udGl0bGUsXG4gICAgaHJlZjogaXRlbS51cmwsXG4gICAgZGVwdGg6IE1hdGgubWF4KDAsIGl0ZW0uZGVwdGggLSAyKSxcbiAgfSkpXG5cbiAgLy8gVGhlIHNoZWV0IGxvY2tzIHBhZ2Ugc2Nyb2xsIHVudGlsIGl0IGhhcyBjbG9zZWQsIHdoaWNoIHN3YWxsb3dzIGEgbmF0aXZlIGhhc2hcbiAgLy8ganVtcCBtYWRlIGZyb20gaW5zaWRlIGl0OyBuYXZpZ2F0ZSBvbmNlIHRoZSBjbG9zZSBoYXMgZmluaXNoZWQuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdCA9IChjaG9pY2U6IENob2ljZSwgZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIHBlbmRpbmdVcmwuY3VycmVudCA9IGNob2ljZS5ocmVmID8/IG51bGxcbiAgICBzZXRPcGVuKGZhbHNlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZUNvbXBsZXRlID0gKGlzT3BlbjogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHVybCA9IHBlbmRpbmdVcmwuY3VycmVudFxuICAgIGlmIChpc09wZW4gfHwgIXVybCkgcmV0dXJuXG4gICAgcGVuZGluZ1VybC5jdXJyZW50ID0gbnVsbFxuICAgIGhpc3RvcnkucHVzaFN0YXRlKG51bGwsIFwiXCIsIHVybClcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh1cmwuc2xpY2UoMSkpPy5zY3JvbGxJbnRvVmlldygpXG4gIH1cblxuICBjb25zdCBjb250ZW50cyA9IChcbiAgICA8Q2hvaWNlTGlzdCBjaG9pY2VzPXtjaG9pY2VzfSBzZWxlY3RlZElkPXthY3RpdmVJZH0gb25TZWxlY3Q9e2hhbmRsZVNlbGVjdH0gLz5cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ4bDpoaWRkZW4gc3RpY2t5IHRvcC0xNiB6LTIwIGJvcmRlci1iIGJnLWJhY2tncm91bmRcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE9wZW4odHJ1ZSl9XG4gICAgICAgIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuICAgICAgICBjbGFzc05hbWU9XCJmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIgZ2FwLTMgcHgtNCBweS0zIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCJcbiAgICAgID5cbiAgICAgICAgPFNjcm9sbFByb2dyZXNzUmluZyAvPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0cnVuY2F0ZSBmbGV4LTEgdGV4dC1sZWZ0XCI+e3RpdGxlfTwvc3Bhbj5cbiAgICAgICAgPENoZXZyb25VcCBjbGFzc05hbWU9XCJzaXplLTQgc2hyaW5rLTBcIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8U2hlZXRQYW5lbFxuICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICBvbk9wZW5DaGFuZ2U9e3NldE9wZW59XG4gICAgICAgIG9uT3BlbkNoYW5nZUNvbXBsZXRlPXtoYW5kbGVPcGVuQ2hhbmdlQ29tcGxldGV9XG4gICAgICAgIHRpdGxlPXtwcm9wcy50aXRsZSA/PyBcIk9uIHRoaXMgcGFnZVwifVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW4gJiYgcHJvcHMuaXRlbXMubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICA8VGFicyB2YWx1ZT17dGFifSBvblZhbHVlQ2hhbmdlPXt2YWx1ZSA9PiBzZXRUYWIoU3RyaW5nKHZhbHVlKSl9PlxuICAgICAgICAgICAgPFRhYnNMaXN0IGNsYXNzTmFtZT1cIm1iLTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgIDxUYWJzVHJpZ2dlciB2YWx1ZT1cImNvbnRlbnRzXCI+Q29udGVudHM8L1RhYnNUcmlnZ2VyPlxuICAgICAgICAgICAgICA8VGFic1RyaWdnZXIgdmFsdWU9XCJhY3Rpb25zXCI+QWN0aW9uczwvVGFic1RyaWdnZXI+XG4gICAgICAgICAgICA8L1RhYnNMaXN0PlxuICAgICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwiY29udGVudHNcIj57Y29udGVudHN9PC9UYWJzQ29udGVudD5cbiAgICAgICAgICAgIDxUYWJzQ29udGVudCB2YWx1ZT1cImFjdGlvbnNcIiBjbGFzc05hbWU9e1NIRUVUX0FDVElPTlN9PlxuICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICA8L1RhYnNDb250ZW50PlxuICAgICAgICAgIDwvVGFicz5cbiAgICAgICAgKSA6IHByb3BzLmNoaWxkcmVuID8gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTSEVFVF9BQ1RJT05TfT57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgY29udGVudHNcbiAgICAgICAgKX1cbiAgICAgIDwvU2hlZXRQYW5lbD5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5mdW5jdGlvbiBTY3JvbGxQcm9ncmVzc1JpbmcoKSB7XG4gIGNvbnN0IHByb2dyZXNzID0gdXNlU2Nyb2xsUHJvZ3Jlc3MoKVxuICBjb25zdCByYWRpdXMgPSA2XG4gIGNvbnN0IGNpcmN1bWZlcmVuY2UgPSAyICogTWF0aC5QSSAqIHJhZGl1c1xuICBjb25zdCBvZmZzZXQgPSBjaXJjdW1mZXJlbmNlICogKDEgLSBwcm9ncmVzcylcbiAgcmV0dXJuIChcbiAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBjbGFzc05hbWU9XCJzaXplLTQgc2hyaW5rLTAgLXJvdGF0ZS05MFwiIGFyaWEtaGlkZGVuPlxuICAgICAgPGNpcmNsZVxuICAgICAgICBjeD1cIjhcIlxuICAgICAgICBjeT1cIjhcIlxuICAgICAgICByPXtyYWRpdXN9XG4gICAgICAgIGNsYXNzTmFtZT1cInN0cm9rZS1tdXRlZC1mb3JlZ3JvdW5kLzMwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgLz5cbiAgICAgIDxjaXJjbGVcbiAgICAgICAgY3g9XCI4XCJcbiAgICAgICAgY3k9XCI4XCJcbiAgICAgICAgcj17cmFkaXVzfVxuICAgICAgICBjbGFzc05hbWU9XCJzdHJva2UtcHJpbWFyeSB0cmFuc2l0aW9uLVtzdHJva2UtZGFzaG9mZnNldF0gZHVyYXRpb24tMTUwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VEYXNoYXJyYXk9e2NpcmN1bWZlcmVuY2V9XG4gICAgICAgIHN0cm9rZURhc2hvZmZzZXQ9e29mZnNldH1cbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIClcbn1cblxuZnVuY3Rpb24gdXNlU2Nyb2xsUHJvZ3Jlc3MoKSB7XG4gIGNvbnN0IFtwcm9ncmVzcywgc2V0UHJvZ3Jlc3NdID0gdXNlU3RhdGUoMClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICBjb25zdCBtYXggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gd2luZG93LmlubmVySGVpZ2h0XG4gICAgICBjb25zdCBuZXh0ID0gbWF4ID4gMCA/IHdpbmRvdy5zY3JvbGxZIC8gbWF4IDogMFxuICAgICAgc2V0UHJvZ3Jlc3MoTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgbmV4dCkpKVxuICAgIH1cbiAgICB1cGRhdGUoKVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHVwZGF0ZSwgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdXBkYXRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB1cGRhdGUpXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB1cGRhdGUpXG4gICAgfVxuICB9LCBbXSlcbiAgcmV0dXJuIHByb2dyZXNzXG59XG5cbmZ1bmN0aW9uIHVzZUFjdGl2ZUhlYWRpbmcoaXRlbXM6IFRvY0l0ZW1bXSkge1xuICBjb25zdCBbYWN0aXZlSWQsIHNldEFjdGl2ZUlkXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIilcbiAgY29uc3Qgb2JzZXJ2ZXIgPSB1c2VSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfCBudWxsPihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaWRzID0gaXRlbXMubWFwKGl0ZW0gPT4gaXRlbS51cmwuc2xpY2UoMSkpXG4gICAgY29uc3QgZWxlbWVudHMgPSBpZHNcbiAgICAgIC5tYXAoaWQgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKVxuICAgICAgLmZpbHRlcihCb29sZWFuKSBhcyBIVE1MRWxlbWVudFtdXG5cbiAgICBpZiAoZWxlbWVudHMubGVuZ3RoID09PSAwKSByZXR1cm5cblxuICAgIGNvbnN0IHZpc2libGVTZXQgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpXG5cbiAgICBvYnNlcnZlci5jdXJyZW50ID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgZW50cmllcyA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICAgICAgdmlzaWJsZVNldC5zZXQoZW50cnkudGFyZ2V0LmlkLCBlbnRyeS50aW1lKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2aXNpYmxlU2V0LmRlbGV0ZShlbnRyeS50YXJnZXQuaWQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZpc2libGVTZXQuc2l6ZSA+IDApIHtcbiAgICAgICAgICBsZXQgbGF0ZXN0ID0gXCJcIlxuICAgICAgICAgIGxldCBsYXRlc3RUaW1lID0gMFxuICAgICAgICAgIGZvciAoY29uc3QgW2lkLCB0aW1lXSBvZiB2aXNpYmxlU2V0KSB7XG4gICAgICAgICAgICBpZiAodGltZSA+IGxhdGVzdFRpbWUpIHtcbiAgICAgICAgICAgICAgbGF0ZXN0ID0gaWRcbiAgICAgICAgICAgICAgbGF0ZXN0VGltZSA9IHRpbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0QWN0aXZlSWQobGF0ZXN0KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHZpZXdUb3AgPSB3aW5kb3cuc2Nyb2xsWVxuICAgICAgICAgIGxldCBjbG9zZXN0ID0gXCJcIlxuICAgICAgICAgIGxldCBjbG9zZXN0RGlzdCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWVxuICAgICAgICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3QgPSBNYXRoLmFicyhcbiAgICAgICAgICAgICAgdmlld1RvcCAtIGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIHdpbmRvdy5zY3JvbGxZLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGRpc3QgPCBjbG9zZXN0RGlzdCkge1xuICAgICAgICAgICAgICBjbG9zZXN0ID0gZWwuaWRcbiAgICAgICAgICAgICAgY2xvc2VzdERpc3QgPSBkaXN0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNldEFjdGl2ZUlkKGNsb3Nlc3QpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IHRocmVzaG9sZDogMC45OCB9LFxuICAgIClcblxuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIG9ic2VydmVyLmN1cnJlbnQub2JzZXJ2ZShlbClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgb2JzZXJ2ZXIuY3VycmVudD8uZGlzY29ubmVjdCgpXG4gICAgfVxuICB9LCBbaXRlbXNdKVxuXG4gIHJldHVybiBhY3RpdmVJZFxufVxuIl19
@@ -1,4 +1,4 @@
1
1
  /** Renders a responsive YouTube iframe embed */
2
2
  export declare function YouTube(props: {
3
3
  id: string;
4
- }): import("react/jsx-runtime").JSX.Element;
4
+ }): import("react").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /** Renders a responsive YouTube iframe embed */
3
3
  export function YouTube(props) {
4
- return (_jsx("div", { className: "not-prose my-4 overflow-hidden rounded-lg border", children: _jsx("div", { className: "aspect-video", children: _jsx("iframe", { className: "h-full w-full", src: `https://www.youtube.com/embed/${props.id}`, title: "YouTube video", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true }) }) }));
4
+ return (_jsx("div", { className: "not-prose my-4 overflow-hidden rounded-card border", children: _jsx("div", { className: "aspect-video", children: _jsx("iframe", { className: "h-full w-full", src: `https://www.youtube.com/embed/${props.id}`, title: "YouTube video", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true }) }) }));
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWW91VHViZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9jb21wb25lbnRzL1lvdVR1YmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnREFBZ0Q7QUFDaEQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFxQjtJQUMzQyxPQUFPLENBQ0wsY0FBSyxTQUFTLEVBQUMsa0RBQWtELFlBQy9ELGNBQUssU0FBUyxFQUFDLGNBQWMsWUFDM0IsaUJBQ0UsU0FBUyxFQUFDLGVBQWUsRUFDekIsR0FBRyxFQUFFLGlDQUFpQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQ2hELEtBQUssRUFBQyxlQUFlLEVBQ3JCLEtBQUssRUFBQywwRkFBMEYsRUFDaEcsZUFBZSxTQUNmLEdBQ0UsR0FDRixDQUNQLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFJlbmRlcnMgYSByZXNwb25zaXZlIFlvdVR1YmUgaWZyYW1lIGVtYmVkICovXG5leHBvcnQgZnVuY3Rpb24gWW91VHViZShwcm9wczogeyBpZDogc3RyaW5nIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm5vdC1wcm9zZSBteS00IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWxnIGJvcmRlclwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhc3BlY3QtdmlkZW9cIj5cbiAgICAgICAgPGlmcmFtZVxuICAgICAgICAgIGNsYXNzTmFtZT1cImgtZnVsbCB3LWZ1bGxcIlxuICAgICAgICAgIHNyYz17YGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7cHJvcHMuaWR9YH1cbiAgICAgICAgICB0aXRsZT1cIllvdVR1YmUgdmlkZW9cIlxuICAgICAgICAgIGFsbG93PVwiYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZVwiXG4gICAgICAgICAgYWxsb3dGdWxsU2NyZWVuXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWW91VHViZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9jb21wb25lbnRzL1lvdVR1YmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnREFBZ0Q7QUFDaEQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFxQjtJQUMzQyxPQUFPLENBQ0wsY0FBSyxTQUFTLEVBQUMsb0RBQW9ELFlBQ2pFLGNBQUssU0FBUyxFQUFDLGNBQWMsWUFDM0IsaUJBQ0UsU0FBUyxFQUFDLGVBQWUsRUFDekIsR0FBRyxFQUFFLGlDQUFpQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQ2hELEtBQUssRUFBQyxlQUFlLEVBQ3JCLEtBQUssRUFBQywwRkFBMEYsRUFDaEcsZUFBZSxTQUNmLEdBQ0UsR0FDRixDQUNQLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFJlbmRlcnMgYSByZXNwb25zaXZlIFlvdVR1YmUgaWZyYW1lIGVtYmVkICovXG5leHBvcnQgZnVuY3Rpb24gWW91VHViZShwcm9wczogeyBpZDogc3RyaW5nIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm5vdC1wcm9zZSBteS00IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLWNhcmQgYm9yZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImFzcGVjdC12aWRlb1wiPlxuICAgICAgICA8aWZyYW1lXG4gICAgICAgICAgY2xhc3NOYW1lPVwiaC1mdWxsIHctZnVsbFwiXG4gICAgICAgICAgc3JjPXtgaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtwcm9wcy5pZH1gfVxuICAgICAgICAgIHRpdGxlPVwiWW91VHViZSB2aWRlb1wiXG4gICAgICAgICAgYWxsb3c9XCJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlXCJcbiAgICAgICAgICBhbGxvd0Z1bGxTY3JlZW5cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  import { type ComponentProps } from "react";
2
2
  import "react-medium-image-zoom/dist/styles.css";
3
3
  /** Image component with click-to-zoom and light/dark theme variant support */
4
- export declare function ZoomImage(props: ComponentProps<"img">): import("react/jsx-runtime").JSX.Element;
4
+ export declare function ZoomImage(props: ComponentProps<"img">): import("react").JSX.Element;
@@ -167,6 +167,10 @@ const articles = defineCollection({
167
167
  light: config.codeThemeLight,
168
168
  dark: config.codeThemeDark,
169
169
  },
170
+ // A fence with no or an unknown lang is otherwise skipped by Shiki and
171
+ // renders without line padding, theme colours or transformers.
172
+ defaultLanguage: "text",
173
+ fallbackLanguage: "text",
170
174
  // Darken catppuccin-latte's green (the colour used for strings and
171
175
  // some comments) — the theme default #40A02B lands at 3.2:1 on the
172
176
  // code-block background, below the WCAG AA 4.5:1 threshold.
@@ -214,4 +218,4 @@ export default defineConfig({
214
218
  // @ts-expect-error tsgo picks wrong overload when rehype-slug augments unified types
215
219
  content: [articles],
216
220
  });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jb2xsZWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LWNvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLFdBQVcsTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2RCxPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sb0JBQW9CLE1BQU0sd0JBQXdCLENBQUE7QUFDekQsT0FBTyxlQUFlLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDN0MsT0FBTyxPQUFPLE1BQU0sdUJBQXVCLENBQUE7QUFDM0MsT0FB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QUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3RELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLO1lBQ3JCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDakUsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUNiLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFdBQVc7WUFDWCxLQUFLO1lBQ0wsS0FBSztZQUNMLElBQUk7WUFDSixJQUFJO1lBQ0osUUFBUTtZQUNSLFVBQVU7WUFDVixHQUFHO1NBQ0osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUE7QUFFRixlQUFlLFlBQVksQ0FBQztJQUMxQixxRkFBcUY7SUFDckYsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO0NBQ3BCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIlxuaW1wb3J0IHsgYmFzZW5hbWUsIHJlbGF0aXZlLCByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBERUZBVUxUX0VYQ0xVREVTIH0gZnJvbSBcIi4vc2V0dGluZ3MudHNcIlxuaW1wb3J0IHsgZGVmaW5lQ29sbGVjdGlvbiwgZGVmaW5lQ29uZmlnIH0gZnJvbSBcIkBjb250ZW50LWNvbGxlY3Rpb25zL2NvcmVcIlxuaW1wb3J0IHsgY29tcGlsZU1EWCB9IGZyb20gXCJAY29udGVudC1jb2xsZWN0aW9ucy9tZHhcIlxuaW1wb3J0IHJlaHlwZVNoaWtpIGZyb20gXCJAc2hpa2lqcy9yZWh5cGVcIlxuaW1wb3J0IHsgdHJhbnNmb3JtZXJUd29zbGFzaCB9IGZyb20gXCJAc2hpa2lqcy90d29zbGFzaFwiXG5pbXBvcnQgcmVoeXBlS2F0ZXggZnJvbSBcInJlaHlwZS1rYXRleFwiXG5pbXBvcnQgcmVoeXBlU2x1ZyBmcm9tIFwicmVoeXBlLXNsdWdcIlxuaW1wb3J0IHJlbWFya0RlZmluaXRpb25MaXN0IGZyb20gXCJyZW1hcmstZGVmaW5pdGlvbi1saXN0XCJcbmltcG9ydCByZW1hcmtEaXJlY3RpdmUgZnJvbSBcInJlbWFyay1kaXJlY3RpdmVcIlxuaW1wb3J0IHJlbWFya0dlbW9qaSBmcm9tIFwicmVtYXJrLWdlbW9qaVwiXG5pbXBvcnQgcmVtYXJrR2ZtIGZyb20gXCJyZW1hcmstZ2ZtXCJcbmltcG9ydCByZW1hcmtNYXRoIGZyb20gXCJyZW1hcmstbWF0aFwiXG5pbXBvcnQgeyBsb2FkQ29uZmlnIH0gZnJvbSBcIi4vYWN0aW9ucy9jb25maWcvbG9hZC50c1wiXG5pbXBvcnQgeyBidWlsZENoYW5nZWxvZywgY2FjaGVJbmNsdWRlR2xvYiB9IGZyb20gXCIuL2FjdGlvbnMvY2hhbmdlbG9nL2J1aWxkLnRzXCJcbmltcG9ydCB7IEFydGljbGUgfSBmcm9tIFwiLi9tb2RlbHMvYXJ0aWNsZS50c1wiXG5pbXBvcnQgc2x1Z2lmeSBmcm9tIFwiQHNpbmRyZXNvcmh1cy9zbHVnaWZ5XCJcbmltcG9ydCByZW1hcmtDdXN0b21IZWFkaW5nSWQgZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY3VzdG9tLWhlYWRpbmctaWQudHNcIlxuaW1wb3J0IHsgcmVtYXJrQ2FsbG91dCB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWNhbGxvdXQudHNcIlxuaW1wb3J0IHsgcmVtYXJrQ2FyZCB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWNhcmQudHNcIlxuaW1wb3J0IHsgcmVtYXJrQ29sdW1ucyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWNvbHVtbnMudHNcIlxuaW1wb3J0IHsgcmVtYXJrVGFiIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstdGFiLnRzXCJcbmltcG9ydCB7IHJlbWFya0JhZGdlIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstYmFkZ2UudHNcIlxuaW1wb3J0IHsgcmVtYXJrQnV0dG9uIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstYnV0dG9uLnRzXCJcbmltcG9ydCB7IHJlbWFya0FiYnIgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1hYmJyLnRzXCJcbmltcG9ydCB7IHJlbWFya0RlZmxpc3QgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1kZWZsaXN0LnRzXCJcbmltcG9ydCB7IHJlbWFya0RldGFpbHMgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1kZXRhaWxzLnRzXCJcbmltcG9ydCB7IHJlbWFya0ZpbGV0cmVlIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstZmlsZXRyZWUudHNcIlxuaW1wb3J0IHsgcmVtYXJrSWNvbiB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWljb24udHNcIlxuaW1wb3J0IHsgcmVtYXJrQ29kZVRhYnMgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1jb2RlLXRhYnMudHNcIlxuaW1wb3J0IHsgcmVtYXJrR2l0aHViQ2FsbG91dCB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWdpdGh1Yi1jYWxsb3V0LnRzXCJcbmltcG9ydCB7IHJlbWFya0ltYWdlIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstaW1hZ2UudHNcIlxuaW1wb3J0IHsgcmVtYXJrTWVkaWEgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1tZWRpYS50c1wiXG5pbXBvcnQgeyByZW1hcmtBbnNpIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstYW5zaS50c1wiXG5pbXBvcnQgeyByZW1hcmtNZXJtYWlkIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstbWVybWFpZC50c1wiXG5pbXBvcnQgeyByZW1hcmtUb2MgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay10b2MudHNcIlxuaW1wb3J0IHsgcmVtYXJrTnBtIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstbnBtLnRzXCJcbmltcG9ydCB7IHJlbWFya1N0ZXBzIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstc3RlcHMudHNcIlxuaW1wb3J0IHsgcmVtYXJrUGFzc3Rocm91Z2hEaXJlY3RpdmUgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1wYXNzdGhyb3VnaC1kaXJlY3RpdmUudHNcIlxuaW1wb3J0IHtcbiAgdHJhbnNmb3JtZXJMaW5lSGlnaGxpZ2h0LFxuICB0cmFuc2Zvcm1lck5vdGF0aW9ucyxcbn0gZnJvbSBcIi4vcGx1Z2lucy9zaGlraS1saW5lLWhpZ2hsaWdodC50c1wiXG5pbXBvcnQgeyByZWh5cGVJbmxpbmVDb2RlIH0gZnJvbSBcIi4vcGx1Z2lucy9yZWh5cGUtaW5saW5lLWNvZGUudHNcIlxuaW1wb3J0IHsgcmVoeXBlVGFza0xpc3RBMTF5IH0gZnJvbSBcIi4vcGx1Z2lucy9yZWh5cGUtdGFzay1saXN0LWExMXkudHNcIlxuaW1wb3J0IHsgdHJhbnNmb3JtZXJJY29uIH0gZnJvbSBcIi4vcGx1Z2lucy9zaGlraS1pY29uLnRzXCJcbmltcG9ydCB7IHJlc29sdmVBc3NldFBhdGggfSBmcm9tIFwiLi9oZWxwZXJzL3Jlc29sdmUtYXNzZXQtcGF0aC50c1wiXG5pbXBvcnQgeyByZXNvbHZlSW5jbHVkZXMgfSBmcm9tIFwiLi9oZWxwZXJzL3Jlc29sdmUtaW5jbHVkZXMudHNcIlxuaW1wb3J0IHsgZXh0cmFjdFNlYXJjaFRleHQgfSBmcm9tIFwiLi9oZWxwZXJzL3NlYXJjaC10ZXh0LnRzXCJcbmltcG9ydCB7IGV4dHJhY3RUb2MgfSBmcm9tIFwiLi9oZWxwZXJzL3RvYy50c1wiXG5cbmNvbnN0IGNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcoKVxuXG5jb25zdCBjaGFuZ2Vsb2dTZWN0aW9ucyA9IGNvbmZpZy5zZWN0aW9ucz8uZmlsdGVyKHMgPT4gcy50eXBlID09PSBcImNoYW5nZWxvZ1wiKSA/PyBbXVxuZm9yIChjb25zdCBzZWN0aW9uIG9mIGNoYW5nZWxvZ1NlY3Rpb25zKSB7XG4gIGF3YWl0IGJ1aWxkQ2hhbmdlbG9nKHNlY3Rpb24sIGNvbmZpZylcbn1cblxuY29uc3QgY29uZmlnSW5jbHVkZSA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmluY2x1ZGUpID8gY29uZmlnLmluY2x1ZGUgOiBbY29uZmlnLmluY2x1ZGVdXG5jb25zdCBpbmNsdWRlID0gW1xuICAuLi5jb25maWdJbmNsdWRlLFxuICAuLi5jaGFuZ2Vsb2dTZWN0aW9ucy5tYXAoc2VjdGlvbiA9PiBjYWNoZUluY2x1ZGVHbG9iKHNlY3Rpb24sIGNvbmZpZykpLFxuXVxuXG5jb25zdCB1c2VyRXhjbHVkZSA9IGNvbmZpZy5leGNsdWRlXG4gID8gQXJyYXkuaXNBcnJheShjb25maWcuZXhjbHVkZSlcbiAgICA/IGNvbmZpZy5leGNsdWRlXG4gICAgOiBbY29uZmlnLmV4Y2x1ZGVdXG4gIDogW11cbi8vIFdoZW4gdGhlIGNvbnN1bWVyIGRvZXNuJ3QgaGF2ZSBhIC5naXRpZ25vcmUsIGZhbGwgYmFjayB0byBhIHNlbnNpYmxlXG4vLyBmbG9vciBzbyBgKiovKi5tZGAgZG9lc24ndCBzd2VlcCB1cCBldmVyeSBSRUFETUUubWQgdW5kZXIgbm9kZV9tb2R1bGVzLFxuLy8gYnVpbGQgb3V0cHV0cywgZXRjLiBXaXRoIGEgLmdpdGlnbm9yZSBwcmVzZW50IHdlIHRydXN0IHRoZSB1c2VyLlxuY29uc3QgaGFzR2l0aWdub3JlID0gZXhpc3RzU3luYyhyZXNvbHZlKGNvbmZpZy5yb290LCBcIi5naXRpZ25vcmVcIikpXG5jb25zdCBkZWZhdWx0RXhjbHVkZSA9IGhhc0dpdGlnbm9yZSA/IFtdIDogWy4uLkRFRkFVTFRfRVhDTFVERVNdXG5jb25zdCBleGNsdWRlID0gWy4uLmRlZmF1bHRFeGNsdWRlLCAuLi51c2VyRXhjbHVkZV1cblxuLy8gY29udGVudC1jb2xsZWN0aW9ucyBjb21waWxlcyB0aGlzIGZpbGUgdG8gLmNvbnRlbnQtY29sbGVjdGlvbnMvY2FjaGUvO1xuLy8gZ29pbmcgdXAgMiBsZXZlbHMgcmVjb25zdHJ1Y3RzIHRoZSBiYXNlRGlyZWN0b3J5IGl0IHVzZXMgZm9yIHBhdGggcmVzb2x1dGlvblxuY29uc3QgYmFzZURpciA9IHJlc29sdmUoaW1wb3J0Lm1ldGEuZGlybmFtZSwgXCIuLi8uLlwiKVxuY29uc3QgZGlyZWN0b3J5ID0gcmVsYXRpdmUoYmFzZURpciwgY29uZmlnLnJvb3QpIHx8IFwiLlwiXG5cbmZ1bmN0aW9uIHRvUGF0aChmaWxlUGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IG5hbWUgPSBiYXNlbmFtZShmaWxlUGF0aCkucmVwbGFjZSgvXFwuXFx3KyQvLCBcIlwiKVxuICByZXR1cm4gc2x1Z2lmeShuYW1lKVxufVxuXG5mdW5jdGlvbiBnZXRMYXN0VXBkYXRlZChmaWxlUGF0aDogc3RyaW5nKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gZXhlY1N5bmMoYGdpdCBsb2cgLTEgLS1mb3JtYXQ9JWNJIC0tIFwiJHtmaWxlUGF0aH1cImAsIHtcbiAgICAgIGN3ZDogY29uZmlnLnJvb3QsXG4gICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgIH0pLnRyaW0oKVxuICAgIHJldHVybiB0aW1lc3RhbXAgfHwgdW5kZWZpbmVkXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5mdW5jdGlvbiBzdHJpcExlYWRpbmdIMShjb250ZW50OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNvbnRlbnQucmVwbGFjZSgvXlsgXFx0XSojXFxzK1teXFxuXSpcXG4rLywgXCJcIilcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRpdGxlKGNvbnRlbnQ6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoID0gL14jXFxzKyguKykkL20uZXhlYyhjb250ZW50KVxuICBpZiAobWF0Y2gpIHJldHVybiBtYXRjaFsxXSFcbiAgcmV0dXJuIChcbiAgICBwYXRoXG4gICAgICAuc3BsaXQoXCIvXCIpXG4gICAgICAucG9wKClcbiAgICAgID8ucmVwbGFjZSgvXFwuXFx3KyQvLCBcIlwiKSA/PyBwYXRoXG4gIClcbn1cblxuY29uc3QgYXJ0aWNsZXMgPSBkZWZpbmVDb2xsZWN0aW9uKHtcbiAgbmFtZTogXCJhcnRpY2xlc1wiLFxuICBkaXJlY3RvcnksXG4gIGluY2x1ZGUsXG4gIGV4Y2x1ZGUsXG4gIHNjaGVtYTogQXJ0aWNsZSxcbiAgdHJhbnNmb3JtOiBhc3luYyAoZG9jdW1lbnQsIGNvbnRleHQpID0+IHtcbiAgICBjb25zdCBwYXRjaCA9IGNvbmZpZy5wYXRjaGVzPy5maW5kKHAgPT4gcC5maWxlID09PSBkb2N1bWVudC5fbWV0YS5maWxlUGF0aClcbiAgICBjb25zdCBkb2MgPSBwYXRjaCA/IHsgLi4uZG9jdW1lbnQsIC4uLnBhdGNoLmFydGljbGUgfSA6IGRvY3VtZW50XG4gICAgY29uc3QgZmlsZVBhdGggPSByZXNvbHZlKGNvbmZpZy5yb290LCBkb2MuX21ldGEuZmlsZVBhdGgpXG4gICAgY29uc3QgY29udGVudCA9IHJlc29sdmVJbmNsdWRlcyhkb2MuY29udGVudCwgZmlsZVBhdGgpXG4gICAgY29uc3QgdGl0bGUgPSBkb2MudGl0bGUgPz8gZXh0cmFjdFRpdGxlKGNvbnRlbnQsIGRvYy5fbWV0YS5wYXRoKVxuICAgIGNvbnN0IGljb24gPSBkb2MuaWNvblxuICAgIGNvbnN0IHBhdGggPSBkb2MucGF0aCA/PyB0b1BhdGgoZG9jLl9tZXRhLmZpbGVQYXRoKVxuICAgIC8vIFRoZSBhcnRpY2xlJ3MgaDEgaXMgcmVuZGVyZWQgZnJvbSBgdGl0bGVgIGJ5IHRoZSBsYXlvdXQsIHNvIHN0cmlwIGFueVxuICAgIC8vIGxlYWRpbmcgaDEgaW4gdGhlIGJvZHkgdG8gYXZvaWQgdHdvIGgxcyBzaWRlLWJ5LXNpZGUgKGVzcGVjaWFsbHkgd2hlblxuICAgIC8vIGEgY29udGVudCBwYXRjaCBvdmVycmlkZXMgdGhlIHRpdGxlIHRvIHNvbWV0aGluZyBkaWZmZXJlbnQgZnJvbSB0aGVcbiAgICAvLyBib2R5J3Mgb3duIGhlYWRpbmcpLlxuICAgIGNvbnN0IGJvZHlDb250ZW50ID0gc3RyaXBMZWFkaW5nSDEoY29udGVudClcbiAgICBjb25zdCBtZHggPSBhd2FpdCBjb21waWxlTURYKFxuICAgICAgY29udGV4dCxcbiAgICAgIHsgLi4uZG9jLCBjb250ZW50OiBib2R5Q29udGVudCB9LFxuICAgICAge1xuICAgICAgICByZW1hcmtQbHVnaW5zOiBbXG4gICAgICAgICAgcmVtYXJrR2ZtLFxuICAgICAgICAgIHJlbWFya0dlbW9qaSxcbiAgICAgICAgICByZW1hcmtEZWZpbml0aW9uTGlzdCxcbiAgICAgICAgICByZW1hcmtEZWZsaXN0LFxuICAgICAgICAgIHJlbWFya01hdGgsXG4gICAgICAgICAgcmVtYXJrRGlyZWN0aXZlLFxuICAgICAgICAgIHJlbWFya0NhbGxvdXQsXG4gICAgICAgICAgcmVtYXJrQ2FyZCxcbiAgICAgICAgICByZW1hcmtDb2x1bW5zLFxuICAgICAgICAgIHJlbWFya1RhYixcbiAgICAgICAgICByZW1hcmtEZXRhaWxzLFxuICAgICAgICAgIHJlbWFya0ZpbGV0cmVlLFxuICAgICAgICAgIHJlbWFya0ljb24sXG4gICAgICAgICAgcmVtYXJrQmFkZ2UsXG4gICAgICAgICAgcmVtYXJrQnV0dG9uLFxuICAgICAgICAgIHJlbWFya0FiYnIsXG4gICAgICAgICAgcmVtYXJrR2l0aHViQ2FsbG91dCxcbiAgICAgICAgICBbXG4gICAgICAgICAgICByZW1hcmtJbWFnZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmlsZVBhdGg6IHJlc29sdmUoY29uZmlnLnJvb3QsIGRvYy5fbWV0YS5maWxlUGF0aCksXG4gICAgICAgICAgICAgIHJvb3Q6IGNvbmZpZy5yb290LFxuICAgICAgICAgICAgICBiYXNlOiBjb25maWcuYmFzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZW1hcmtBbnNpLFxuICAgICAgICAgIHJlbWFya01lcm1haWQsXG4gICAgICAgICAgcmVtYXJrTWVkaWEsXG4gICAgICAgICAgcmVtYXJrVG9jLFxuICAgICAgICAgIHJlbWFya05wbSxcbiAgICAgICAgICByZW1hcmtDb2RlVGFicyxcbiAgICAgICAgICByZW1hcmtTdGVwcyxcbiAgICAgICAgICByZW1hcmtDdXN0b21IZWFkaW5nSWQsXG4gICAgICAgICAgLy8gUnVuIGxhc3Q6IGFueXRoaW5nIHN0aWxsIHR5cGVkIGFzIGEgZGlyZWN0aXZlIGFmdGVyIGV2ZXJ5IGhhbmRsZXJcbiAgICAgICAgICAvLyBhYm92ZSBpcyB1bmludGVuZGVkIChlLmcuIGAzLjI6MWAsIGBwb3J0OjgwODBgKSDigJQgcGFzc3Rocm91Z2ggYXNcbiAgICAgICAgICAvLyBwbGFpbiB0ZXh0IHNvIGl0IGRvZXNuJ3QgcmVuZGVyIGFzIGFuIGVtcHR5IHNwYW4vZGl2LlxuICAgICAgICAgIHJlbWFya1Bhc3N0aHJvdWdoRGlyZWN0aXZlLFxuICAgICAgICBdLFxuICAgICAgICByZWh5cGVQbHVnaW5zOiBbXG4gICAgICAgICAgW1xuICAgICAgICAgICAgcmVoeXBlU2hpa2ksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRoZW1lczoge1xuICAgICAgICAgICAgICAgIGxpZ2h0OiBjb25maWcuY29kZVRoZW1lTGlnaHQsXG4gICAgICAgICAgICAgICAgZGFyazogY29uZmlnLmNvZGVUaGVtZURhcmssXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIC8vIERhcmtlbiBjYXRwcHVjY2luLWxhdHRlJ3MgZ3JlZW4gKHRoZSBjb2xvdXIgdXNlZCBmb3Igc3RyaW5ncyBhbmRcbiAgICAgICAgICAgICAgLy8gc29tZSBjb21tZW50cykg4oCUIHRoZSB0aGVtZSBkZWZhdWx0ICM0MEEwMkIgbGFuZHMgYXQgMy4yOjEgb24gdGhlXG4gICAgICAgICAgICAgIC8vIGNvZGUtYmxvY2sgYmFja2dyb3VuZCwgYmVsb3cgdGhlIFdDQUcgQUEgNC41OjEgdGhyZXNob2xkLlxuICAgICAgICAgICAgICBjb2xvclJlcGxhY2VtZW50czoge1xuICAgICAgICAgICAgICAgIFwiY2F0cHB1Y2Npbi1sYXR0ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcIiM0MGEwMmJcIjogXCIjMmE3ZTE2XCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtZXJzOiBbXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXJUd29zbGFzaCh7IGV4cGxpY2l0VHJpZ2dlcjogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lckljb24oKSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lck5vdGF0aW9ucygpLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVyTGluZUhpZ2hsaWdodCgpLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBwYXJzZU1ldGFTdHJpbmc6IChtZXRhOiBzdHJpbmcpID0+ICh7IFwiZGF0YS1tZXRhXCI6IG1ldGEgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVoeXBlSW5saW5lQ29kZSxcbiAgICAgICAgICByZWh5cGVTbHVnLFxuICAgICAgICAgIHJlaHlwZUthdGV4LFxuICAgICAgICAgIHJlaHlwZVRhc2tMaXN0QTExeSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKVxuICAgIGNvbnN0IHRvY0l0ZW1zID0gZXh0cmFjdFRvYyhjb250ZW50KVxuICAgIGNvbnN0IHNlYXJjaFRleHQgPSBleHRyYWN0U2VhcmNoVGV4dChjb250ZW50KVxuICAgIGNvbnN0IGxhc3RVcGRhdGVkID0gZ2V0TGFzdFVwZGF0ZWQoZG9jLl9tZXRhLmZpbGVQYXRoKVxuICAgIGNvbnN0IGltYWdlID0gZG9jLmltYWdlXG4gICAgICA/IHJlc29sdmVBc3NldFBhdGgoZG9jLmltYWdlLCBmaWxlUGF0aCwgY29uZmlnLnJvb3QsIGNvbmZpZy5iYXNlKVxuICAgICAgOiB1bmRlZmluZWRcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZG9jLFxuICAgICAgZmlsZTogZG9jLl9tZXRhLmZpbGVQYXRoLFxuICAgICAgbGFzdFVwZGF0ZWQsXG4gICAgICBpbWFnZSxcbiAgICAgIHRpdGxlLFxuICAgICAgaWNvbixcbiAgICAgIHBhdGgsXG4gICAgICB0b2NJdGVtcyxcbiAgICAgIHNlYXJjaFRleHQsXG4gICAgICBtZHgsXG4gICAgfVxuICB9LFxufSlcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciB0c2dvIHBpY2tzIHdyb25nIG92ZXJsb2FkIHdoZW4gcmVoeXBlLXNsdWcgYXVnbWVudHMgdW5pZmllZCB0eXBlc1xuICBjb250ZW50OiBbYXJ0aWNsZXNdLFxufSlcbiJdfQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jb2xsZWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LWNvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLFdBQVcsTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2RCxPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sb0JBQW9CLE1BQU0sd0JBQXdCLENBQUE7QUFDekQsT0FBTyxlQUFlLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDN0MsT0FBTyxPQUFPLE1BQU0sdUJBQXVCLENBQUE7QUFDM0MsT0FB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TUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDN0MsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdEQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUs7WUFDckIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNqRSxDQUFDLENBQUMsU0FBUyxDQUFBO1FBQ2IsT0FBTztZQUNMLEdBQUcsR0FBRztZQUNOLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDeEIsV0FBVztZQUNYLEtBQUs7WUFDTCxLQUFLO1lBQ0wsSUFBSTtZQUNKLElBQUk7WUFDSixRQUFRO1lBQ1IsVUFBVTtZQUNWLEdBQUc7U0FDSixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQTtBQUVGLGVBQWUsWUFBWSxDQUFDO0lBQzFCLHFGQUFxRjtJQUNyRixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Q0FDcEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiXG5pbXBvcnQgeyBiYXNlbmFtZSwgcmVsYXRpdmUsIHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCB7IERFRkFVTFRfRVhDTFVERVMgfSBmcm9tIFwiLi9zZXR0aW5ncy50c1wiXG5pbXBvcnQgeyBkZWZpbmVDb2xsZWN0aW9uLCBkZWZpbmVDb25maWcgfSBmcm9tIFwiQGNvbnRlbnQtY29sbGVjdGlvbnMvY29yZVwiXG5pbXBvcnQgeyBjb21waWxlTURYIH0gZnJvbSBcIkBjb250ZW50LWNvbGxlY3Rpb25zL21keFwiXG5pbXBvcnQgcmVoeXBlU2hpa2kgZnJvbSBcIkBzaGlraWpzL3JlaHlwZVwiXG5pbXBvcnQgeyB0cmFuc2Zvcm1lclR3b3NsYXNoIH0gZnJvbSBcIkBzaGlraWpzL3R3b3NsYXNoXCJcbmltcG9ydCByZWh5cGVLYXRleCBmcm9tIFwicmVoeXBlLWthdGV4XCJcbmltcG9ydCByZWh5cGVTbHVnIGZyb20gXCJyZWh5cGUtc2x1Z1wiXG5pbXBvcnQgcmVtYXJrRGVmaW5pdGlvbkxpc3QgZnJvbSBcInJlbWFyay1kZWZpbml0aW9uLWxpc3RcIlxuaW1wb3J0IHJlbWFya0RpcmVjdGl2ZSBmcm9tIFwicmVtYXJrLWRpcmVjdGl2ZVwiXG5pbXBvcnQgcmVtYXJrR2Vtb2ppIGZyb20gXCJyZW1hcmstZ2Vtb2ppXCJcbmltcG9ydCByZW1hcmtHZm0gZnJvbSBcInJlbWFyay1nZm1cIlxuaW1wb3J0IHJlbWFya01hdGggZnJvbSBcInJlbWFyay1tYXRoXCJcbmltcG9ydCB7IGxvYWRDb25maWcgfSBmcm9tIFwiLi9hY3Rpb25zL2NvbmZpZy9sb2FkLnRzXCJcbmltcG9ydCB7IGJ1aWxkQ2hhbmdlbG9nLCBjYWNoZUluY2x1ZGVHbG9iIH0gZnJvbSBcIi4vYWN0aW9ucy9jaGFuZ2Vsb2cvYnVpbGQudHNcIlxuaW1wb3J0IHsgQXJ0aWNsZSB9IGZyb20gXCIuL21vZGVscy9hcnRpY2xlLnRzXCJcbmltcG9ydCBzbHVnaWZ5IGZyb20gXCJAc2luZHJlc29yaHVzL3NsdWdpZnlcIlxuaW1wb3J0IHJlbWFya0N1c3RvbUhlYWRpbmdJZCBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1jdXN0b20taGVhZGluZy1pZC50c1wiXG5pbXBvcnQgeyByZW1hcmtDYWxsb3V0IH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY2FsbG91dC50c1wiXG5pbXBvcnQgeyByZW1hcmtDYXJkIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY2FyZC50c1wiXG5pbXBvcnQgeyByZW1hcmtDb2x1bW5zIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY29sdW1ucy50c1wiXG5pbXBvcnQgeyByZW1hcmtUYWIgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay10YWIudHNcIlxuaW1wb3J0IHsgcmVtYXJrQmFkZ2UgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1iYWRnZS50c1wiXG5pbXBvcnQgeyByZW1hcmtCdXR0b24gfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1idXR0b24udHNcIlxuaW1wb3J0IHsgcmVtYXJrQWJiciB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWFiYnIudHNcIlxuaW1wb3J0IHsgcmVtYXJrRGVmbGlzdCB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWRlZmxpc3QudHNcIlxuaW1wb3J0IHsgcmVtYXJrRGV0YWlscyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWRldGFpbHMudHNcIlxuaW1wb3J0IHsgcmVtYXJrRmlsZXRyZWUgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1maWxldHJlZS50c1wiXG5pbXBvcnQgeyByZW1hcmtJY29uIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstaWNvbi50c1wiXG5pbXBvcnQgeyByZW1hcmtDb2RlVGFicyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWNvZGUtdGFicy50c1wiXG5pbXBvcnQgeyByZW1hcmtHaXRodWJDYWxsb3V0IH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstZ2l0aHViLWNhbGxvdXQudHNcIlxuaW1wb3J0IHsgcmVtYXJrSW1hZ2UgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1pbWFnZS50c1wiXG5pbXBvcnQgeyByZW1hcmtNZWRpYSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLW1lZGlhLnRzXCJcbmltcG9ydCB7IHJlbWFya0Fuc2kgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1hbnNpLnRzXCJcbmltcG9ydCB7IHJlbWFya01lcm1haWQgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1tZXJtYWlkLnRzXCJcbmltcG9ydCB7IHJlbWFya1RvYyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLXRvYy50c1wiXG5pbXBvcnQgeyByZW1hcmtOcG0gfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1ucG0udHNcIlxuaW1wb3J0IHsgcmVtYXJrU3RlcHMgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1zdGVwcy50c1wiXG5pbXBvcnQgeyByZW1hcmtQYXNzdGhyb3VnaERpcmVjdGl2ZSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLXBhc3N0aHJvdWdoLWRpcmVjdGl2ZS50c1wiXG5pbXBvcnQge1xuICB0cmFuc2Zvcm1lckxpbmVIaWdobGlnaHQsXG4gIHRyYW5zZm9ybWVyTm90YXRpb25zLFxufSBmcm9tIFwiLi9wbHVnaW5zL3NoaWtpLWxpbmUtaGlnaGxpZ2h0LnRzXCJcbmltcG9ydCB7IHJlaHlwZUlubGluZUNvZGUgfSBmcm9tIFwiLi9wbHVnaW5zL3JlaHlwZS1pbmxpbmUtY29kZS50c1wiXG5pbXBvcnQgeyByZWh5cGVUYXNrTGlzdEExMXkgfSBmcm9tIFwiLi9wbHVnaW5zL3JlaHlwZS10YXNrLWxpc3QtYTExeS50c1wiXG5pbXBvcnQgeyB0cmFuc2Zvcm1lckljb24gfSBmcm9tIFwiLi9wbHVnaW5zL3NoaWtpLWljb24udHNcIlxuaW1wb3J0IHsgcmVzb2x2ZUFzc2V0UGF0aCB9IGZyb20gXCIuL2hlbHBlcnMvcmVzb2x2ZS1hc3NldC1wYXRoLnRzXCJcbmltcG9ydCB7IHJlc29sdmVJbmNsdWRlcyB9IGZyb20gXCIuL2hlbHBlcnMvcmVzb2x2ZS1pbmNsdWRlcy50c1wiXG5pbXBvcnQgeyBleHRyYWN0U2VhcmNoVGV4dCB9IGZyb20gXCIuL2hlbHBlcnMvc2VhcmNoLXRleHQudHNcIlxuaW1wb3J0IHsgZXh0cmFjdFRvYyB9IGZyb20gXCIuL2hlbHBlcnMvdG9jLnRzXCJcblxuY29uc3QgY29uZmlnID0gYXdhaXQgbG9hZENvbmZpZygpXG5cbmNvbnN0IGNoYW5nZWxvZ1NlY3Rpb25zID0gY29uZmlnLnNlY3Rpb25zPy5maWx0ZXIocyA9PiBzLnR5cGUgPT09IFwiY2hhbmdlbG9nXCIpID8/IFtdXG5mb3IgKGNvbnN0IHNlY3Rpb24gb2YgY2hhbmdlbG9nU2VjdGlvbnMpIHtcbiAgYXdhaXQgYnVpbGRDaGFuZ2Vsb2coc2VjdGlvbiwgY29uZmlnKVxufVxuXG5jb25zdCBjb25maWdJbmNsdWRlID0gQXJyYXkuaXNBcnJheShjb25maWcuaW5jbHVkZSkgPyBjb25maWcuaW5jbHVkZSA6IFtjb25maWcuaW5jbHVkZV1cbmNvbnN0IGluY2x1ZGUgPSBbXG4gIC4uLmNvbmZpZ0luY2x1ZGUsXG4gIC4uLmNoYW5nZWxvZ1NlY3Rpb25zLm1hcChzZWN0aW9uID0+IGNhY2hlSW5jbHVkZUdsb2Ioc2VjdGlvbiwgY29uZmlnKSksXG5dXG5cbmNvbnN0IHVzZXJFeGNsdWRlID0gY29uZmlnLmV4Y2x1ZGVcbiAgPyBBcnJheS5pc0FycmF5KGNvbmZpZy5leGNsdWRlKVxuICAgID8gY29uZmlnLmV4Y2x1ZGVcbiAgICA6IFtjb25maWcuZXhjbHVkZV1cbiAgOiBbXVxuLy8gV2hlbiB0aGUgY29uc3VtZXIgZG9lc24ndCBoYXZlIGEgLmdpdGlnbm9yZSwgZmFsbCBiYWNrIHRvIGEgc2Vuc2libGVcbi8vIGZsb29yIHNvIGAqKi8qLm1kYCBkb2Vzbid0IHN3ZWVwIHVwIGV2ZXJ5IFJFQURNRS5tZCB1bmRlciBub2RlX21vZHVsZXMsXG4vLyBidWlsZCBvdXRwdXRzLCBldGMuIFdpdGggYSAuZ2l0aWdub3JlIHByZXNlbnQgd2UgdHJ1c3QgdGhlIHVzZXIuXG5jb25zdCBoYXNHaXRpZ25vcmUgPSBleGlzdHNTeW5jKHJlc29sdmUoY29uZmlnLnJvb3QsIFwiLmdpdGlnbm9yZVwiKSlcbmNvbnN0IGRlZmF1bHRFeGNsdWRlID0gaGFzR2l0aWdub3JlID8gW10gOiBbLi4uREVGQVVMVF9FWENMVURFU11cbmNvbnN0IGV4Y2x1ZGUgPSBbLi4uZGVmYXVsdEV4Y2x1ZGUsIC4uLnVzZXJFeGNsdWRlXVxuXG4vLyBjb250ZW50LWNvbGxlY3Rpb25zIGNvbXBpbGVzIHRoaXMgZmlsZSB0byAuY29udGVudC1jb2xsZWN0aW9ucy9jYWNoZS87XG4vLyBnb2luZyB1cCAyIGxldmVscyByZWNvbnN0cnVjdHMgdGhlIGJhc2VEaXJlY3RvcnkgaXQgdXNlcyBmb3IgcGF0aCByZXNvbHV0aW9uXG5jb25zdCBiYXNlRGlyID0gcmVzb2x2ZShpbXBvcnQubWV0YS5kaXJuYW1lLCBcIi4uLy4uXCIpXG5jb25zdCBkaXJlY3RvcnkgPSByZWxhdGl2ZShiYXNlRGlyLCBjb25maWcucm9vdCkgfHwgXCIuXCJcblxuZnVuY3Rpb24gdG9QYXRoKGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgY29uc3QgbmFtZSA9IGJhc2VuYW1lKGZpbGVQYXRoKS5yZXBsYWNlKC9cXC5cXHcrJC8sIFwiXCIpXG4gIHJldHVybiBzbHVnaWZ5KG5hbWUpXG59XG5cbmZ1bmN0aW9uIGdldExhc3RVcGRhdGVkKGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBleGVjU3luYyhgZ2l0IGxvZyAtMSAtLWZvcm1hdD0lY0kgLS0gXCIke2ZpbGVQYXRofVwiYCwge1xuICAgICAgY3dkOiBjb25maWcucm9vdCxcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgfSkudHJpbSgpXG4gICAgcmV0dXJuIHRpbWVzdGFtcCB8fCB1bmRlZmluZWRcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmlwTGVhZGluZ0gxKGNvbnRlbnQ6IHN0cmluZykge1xuICByZXR1cm4gY29udGVudC5yZXBsYWNlKC9eWyBcXHRdKiNcXHMrW15cXG5dKlxcbisvLCBcIlwiKVxufVxuXG5mdW5jdGlvbiBleHRyYWN0VGl0bGUoY29udGVudDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpIHtcbiAgY29uc3QgbWF0Y2ggPSAvXiNcXHMrKC4rKSQvbS5leGVjKGNvbnRlbnQpXG4gIGlmIChtYXRjaCkgcmV0dXJuIG1hdGNoWzFdIVxuICByZXR1cm4gKFxuICAgIHBhdGhcbiAgICAgIC5zcGxpdChcIi9cIilcbiAgICAgIC5wb3AoKVxuICAgICAgPy5yZXBsYWNlKC9cXC5cXHcrJC8sIFwiXCIpID8/IHBhdGhcbiAgKVxufVxuXG5jb25zdCBhcnRpY2xlcyA9IGRlZmluZUNvbGxlY3Rpb24oe1xuICBuYW1lOiBcImFydGljbGVzXCIsXG4gIGRpcmVjdG9yeSxcbiAgaW5jbHVkZSxcbiAgZXhjbHVkZSxcbiAgc2NoZW1hOiBBcnRpY2xlLFxuICB0cmFuc2Zvcm06IGFzeW5jIChkb2N1bWVudCwgY29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHBhdGNoID0gY29uZmlnLnBhdGNoZXM/LmZpbmQocCA9PiBwLmZpbGUgPT09IGRvY3VtZW50Ll9tZXRhLmZpbGVQYXRoKVxuICAgIGNvbnN0IGRvYyA9IHBhdGNoID8geyAuLi5kb2N1bWVudCwgLi4ucGF0Y2guYXJ0aWNsZSB9IDogZG9jdW1lbnRcbiAgICBjb25zdCBmaWxlUGF0aCA9IHJlc29sdmUoY29uZmlnLnJvb3QsIGRvYy5fbWV0YS5maWxlUGF0aClcbiAgICBjb25zdCBjb250ZW50ID0gcmVzb2x2ZUluY2x1ZGVzKGRvYy5jb250ZW50LCBmaWxlUGF0aClcbiAgICBjb25zdCB0aXRsZSA9IGRvYy50aXRsZSA/PyBleHRyYWN0VGl0bGUoY29udGVudCwgZG9jLl9tZXRhLnBhdGgpXG4gICAgY29uc3QgaWNvbiA9IGRvYy5pY29uXG4gICAgY29uc3QgcGF0aCA9IGRvYy5wYXRoID8/IHRvUGF0aChkb2MuX21ldGEuZmlsZVBhdGgpXG4gICAgLy8gVGhlIGFydGljbGUncyBoMSBpcyByZW5kZXJlZCBmcm9tIGB0aXRsZWAgYnkgdGhlIGxheW91dCwgc28gc3RyaXAgYW55XG4gICAgLy8gbGVhZGluZyBoMSBpbiB0aGUgYm9keSB0byBhdm9pZCB0d28gaDFzIHNpZGUtYnktc2lkZSAoZXNwZWNpYWxseSB3aGVuXG4gICAgLy8gYSBjb250ZW50IHBhdGNoIG92ZXJyaWRlcyB0aGUgdGl0bGUgdG8gc29tZXRoaW5nIGRpZmZlcmVudCBmcm9tIHRoZVxuICAgIC8vIGJvZHkncyBvd24gaGVhZGluZykuXG4gICAgY29uc3QgYm9keUNvbnRlbnQgPSBzdHJpcExlYWRpbmdIMShjb250ZW50KVxuICAgIGNvbnN0IG1keCA9IGF3YWl0IGNvbXBpbGVNRFgoXG4gICAgICBjb250ZXh0LFxuICAgICAgeyAuLi5kb2MsIGNvbnRlbnQ6IGJvZHlDb250ZW50IH0sXG4gICAgICB7XG4gICAgICAgIHJlbWFya1BsdWdpbnM6IFtcbiAgICAgICAgICByZW1hcmtHZm0sXG4gICAgICAgICAgcmVtYXJrR2Vtb2ppLFxuICAgICAgICAgIHJlbWFya0RlZmluaXRpb25MaXN0LFxuICAgICAgICAgIHJlbWFya0RlZmxpc3QsXG4gICAgICAgICAgcmVtYXJrTWF0aCxcbiAgICAgICAgICByZW1hcmtEaXJlY3RpdmUsXG4gICAgICAgICAgcmVtYXJrQ2FsbG91dCxcbiAgICAgICAgICByZW1hcmtDYXJkLFxuICAgICAgICAgIHJlbWFya0NvbHVtbnMsXG4gICAgICAgICAgcmVtYXJrVGFiLFxuICAgICAgICAgIHJlbWFya0RldGFpbHMsXG4gICAgICAgICAgcmVtYXJrRmlsZXRyZWUsXG4gICAgICAgICAgcmVtYXJrSWNvbixcbiAgICAgICAgICByZW1hcmtCYWRnZSxcbiAgICAgICAgICByZW1hcmtCdXR0b24sXG4gICAgICAgICAgcmVtYXJrQWJicixcbiAgICAgICAgICByZW1hcmtHaXRodWJDYWxsb3V0LFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIHJlbWFya0ltYWdlLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmaWxlUGF0aDogcmVzb2x2ZShjb25maWcucm9vdCwgZG9jLl9tZXRhLmZpbGVQYXRoKSxcbiAgICAgICAgICAgICAgcm9vdDogY29uZmlnLnJvb3QsXG4gICAgICAgICAgICAgIGJhc2U6IGNvbmZpZy5iYXNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlbWFya0Fuc2ksXG4gICAgICAgICAgcmVtYXJrTWVybWFpZCxcbiAgICAgICAgICByZW1hcmtNZWRpYSxcbiAgICAgICAgICByZW1hcmtUb2MsXG4gICAgICAgICAgcmVtYXJrTnBtLFxuICAgICAgICAgIHJlbWFya0NvZGVUYWJzLFxuICAgICAgICAgIHJlbWFya1N0ZXBzLFxuICAgICAgICAgIHJlbWFya0N1c3RvbUhlYWRpbmdJZCxcbiAgICAgICAgICAvLyBSdW4gbGFzdDogYW55dGhpbmcgc3RpbGwgdHlwZWQgYXMgYSBkaXJlY3RpdmUgYWZ0ZXIgZXZlcnkgaGFuZGxlclxuICAgICAgICAgIC8vIGFib3ZlIGlzIHVuaW50ZW5kZWQgKGUuZy4gYDMuMjoxYCwgYHBvcnQ6ODA4MGApIOKAlCBwYXNzdGhyb3VnaCBhc1xuICAgICAgICAgIC8vIHBsYWluIHRleHQgc28gaXQgZG9lc24ndCByZW5kZXIgYXMgYW4gZW1wdHkgc3Bhbi9kaXYuXG4gICAgICAgICAgcmVtYXJrUGFzc3Rocm91Z2hEaXJlY3RpdmUsXG4gICAgICAgIF0sXG4gICAgICAgIHJlaHlwZVBsdWdpbnM6IFtcbiAgICAgICAgICBbXG4gICAgICAgICAgICByZWh5cGVTaGlraSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGhlbWVzOiB7XG4gICAgICAgICAgICAgICAgbGlnaHQ6IGNvbmZpZy5jb2RlVGhlbWVMaWdodCxcbiAgICAgICAgICAgICAgICBkYXJrOiBjb25maWcuY29kZVRoZW1lRGFyayxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgLy8gQSBmZW5jZSB3aXRoIG5vIG9yIGFuIHVua25vd24gbGFuZyBpcyBvdGhlcndpc2Ugc2tpcHBlZCBieSBTaGlraSBhbmRcbiAgICAgICAgICAgICAgLy8gcmVuZGVycyB3aXRob3V0IGxpbmUgcGFkZGluZywgdGhlbWUgY29sb3VycyBvciB0cmFuc2Zvcm1lcnMuXG4gICAgICAgICAgICAgIGRlZmF1bHRMYW5ndWFnZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICAgIGZhbGxiYWNrTGFuZ3VhZ2U6IFwidGV4dFwiLFxuICAgICAgICAgICAgICAvLyBEYXJrZW4gY2F0cHB1Y2Npbi1sYXR0ZSdzIGdyZWVuICh0aGUgY29sb3VyIHVzZWQgZm9yIHN0cmluZ3MgYW5kXG4gICAgICAgICAgICAgIC8vIHNvbWUgY29tbWVudHMpIOKAlCB0aGUgdGhlbWUgZGVmYXVsdCAjNDBBMDJCIGxhbmRzIGF0IDMuMjoxIG9uIHRoZVxuICAgICAgICAgICAgICAvLyBjb2RlLWJsb2NrIGJhY2tncm91bmQsIGJlbG93IHRoZSBXQ0FHIEFBIDQuNToxIHRocmVzaG9sZC5cbiAgICAgICAgICAgICAgY29sb3JSZXBsYWNlbWVudHM6IHtcbiAgICAgICAgICAgICAgICBcImNhdHBwdWNjaW4tbGF0dGVcIjoge1xuICAgICAgICAgICAgICAgICAgXCIjNDBhMDJiXCI6IFwiIzJhN2UxNlwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHRyYW5zZm9ybWVyczogW1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVyVHdvc2xhc2goeyBleHBsaWNpdFRyaWdnZXI6IHRydWUgfSksXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXJJY29uKCksXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXJOb3RhdGlvbnMoKSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lckxpbmVIaWdobGlnaHQoKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcGFyc2VNZXRhU3RyaW5nOiAobWV0YTogc3RyaW5nKSA9PiAoeyBcImRhdGEtbWV0YVwiOiBtZXRhIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlaHlwZUlubGluZUNvZGUsXG4gICAgICAgICAgcmVoeXBlU2x1ZyxcbiAgICAgICAgICByZWh5cGVLYXRleCxcbiAgICAgICAgICByZWh5cGVUYXNrTGlzdEExMXksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIClcbiAgICBjb25zdCB0b2NJdGVtcyA9IGV4dHJhY3RUb2MoY29udGVudClcbiAgICBjb25zdCBzZWFyY2hUZXh0ID0gZXh0cmFjdFNlYXJjaFRleHQoY29udGVudClcbiAgICBjb25zdCBsYXN0VXBkYXRlZCA9IGdldExhc3RVcGRhdGVkKGRvYy5fbWV0YS5maWxlUGF0aClcbiAgICBjb25zdCBpbWFnZSA9IGRvYy5pbWFnZVxuICAgICAgPyByZXNvbHZlQXNzZXRQYXRoKGRvYy5pbWFnZSwgZmlsZVBhdGgsIGNvbmZpZy5yb290LCBjb25maWcuYmFzZSlcbiAgICAgIDogdW5kZWZpbmVkXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRvYyxcbiAgICAgIGZpbGU6IGRvYy5fbWV0YS5maWxlUGF0aCxcbiAgICAgIGxhc3RVcGRhdGVkLFxuICAgICAgaW1hZ2UsXG4gICAgICB0aXRsZSxcbiAgICAgIGljb24sXG4gICAgICBwYXRoLFxuICAgICAgdG9jSXRlbXMsXG4gICAgICBzZWFyY2hUZXh0LFxuICAgICAgbWR4LFxuICAgIH1cbiAgfSxcbn0pXG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgdHNnbyBwaWNrcyB3cm9uZyBvdmVybG9hZCB3aGVuIHJlaHlwZS1zbHVnIGF1Z21lbnRzIHVuaWZpZWQgdHlwZXNcbiAgY29udGVudDogW2FydGljbGVzXSxcbn0pXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion";
2
- declare function Accordion({ className, ...props }: AccordionPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
3
- declare function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props): import("react/jsx-runtime").JSX.Element;
4
- declare function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
5
- declare function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props): import("react/jsx-runtime").JSX.Element;
2
+ declare function Accordion({ className, ...props }: AccordionPrimitive.Root.Props): import("react").JSX.Element;
3
+ declare function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props): import("react").JSX.Element;
4
+ declare function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.Trigger.Props): import("react").JSX.Element;
5
+ declare function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props): import("react").JSX.Element;
6
6
  export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
@@ -9,11 +9,10 @@ function AccordionItem({ className, ...props }) {
9
9
  return (_jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn("not-last:border-b", className), ...props }));
10
10
  }
11
11
  function AccordionTrigger({ className, children, ...props }) {
12
- return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className), ...props, children: [children, _jsx(ChevronDownIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" }), _jsx(ChevronUpIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" })
13
- ] }) }));
12
+ return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className), ...props, children: [children, _jsx(ChevronDownIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" }), _jsx(ChevronUpIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" })] }) }));
14
13
  }
15
14
  function AccordionContent({ className, children, ...props }) {
16
15
  return (_jsx(AccordionPrimitive.Panel, { "data-slot": "accordion-content", className: "overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up", ...props, children: _jsx("div", { className: cn("h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className), children: children }) }));
17
16
  }
18
17
  export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL2FjY29yZGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBRXZCLFNBQVMsU0FBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxFQUFpQztJQUN2RSxPQUFPLENBQ0wsS0FBQyxrQkFBa0IsQ0FBQyxJQUFJLGlCQUNaLFdBQVcsRUFDckIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsS0FDNUMsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBaUM7SUFDM0UsT0FBTyxDQUNMLEtBQUMsa0JBQWtCLENBQUMsSUFBSSxpQkFDWixnQkFBZ0IsRUFDMUIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsS0FDekMsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQ3hCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsR0FBRyxLQUFLLEVBQ3lCO0lBQ2pDLE9BQU8sQ0FDTCxLQUFDLGtCQUFrQixDQUFDLE1BQU0sSUFBQyxTQUFTLEVBQUMsTUFBTSxZQUN6QyxNQUFDLGtCQUFrQixDQUFDLE9BQU8saUJBQ2YsbUJBQW1CLEVBQzdCLFNBQVMsRUFBRSxFQUFFLENBQ1gsMGZBQTBmLEVBQzFmLFNBQVMsQ0FDVixLQUNHLEtBQUssYUFFUixRQUFRLEVBQ1QsS0FBQyxlQUFlLGlCQUNKLHdCQUF3QixFQUNsQyxTQUFTLEVBQUMsMkVBQTJFLEdBQ3JGLEVBQ0YsS0FBQyxhQUFhLGlCQUNGLHdCQUF3QixFQUNsQyxTQUFTLEVBQUMsa0ZBQWtGLEdBQzVGO2dCQUN5QixHQUNILENBQzdCLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxFQUN4QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEdBQUcsS0FBSyxFQUN1QjtJQUMvQixPQUFPLENBQ0wsS0FBQyxrQkFBa0IsQ0FBQyxLQUFLLGlCQUNiLG1CQUFtQixFQUM3QixTQUFTLEVBQUMsMkZBQTJGLEtBQ2pHLEtBQUssWUFFVCxjQUNFLFNBQVMsRUFBRSxFQUFFLENBQ1gsdUxBQXVMLEVBQ3ZMLFNBQVMsQ0FDVixZQUVBLFFBQVEsR0FDTCxHQUNtQixDQUM1QixDQUFBO0FBQ0gsQ0FBQztBQUVELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2NvcmRpb24gYXMgQWNjb3JkaW9uUHJpbWl0aXZlIH0gZnJvbSBcIkBiYXNlLXVpL3JlYWN0L2FjY29yZGlvblwiXG5pbXBvcnQgeyBDaGV2cm9uRG93bkljb24sIENoZXZyb25VcEljb24gfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcblxuaW1wb3J0IHsgY24gfSBmcm9tIFwiY25cIlxuXG5mdW5jdGlvbiBBY2NvcmRpb24oeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IEFjY29yZGlvblByaW1pdGl2ZS5Sb290LlByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPEFjY29yZGlvblByaW1pdGl2ZS5Sb290XG4gICAgICBkYXRhLXNsb3Q9XCJhY2NvcmRpb25cIlxuICAgICAgY2xhc3NOYW1lPXtjbihcImZsZXggdy1mdWxsIGZsZXgtY29sXCIsIGNsYXNzTmFtZSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBY2NvcmRpb25JdGVtKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9OiBBY2NvcmRpb25QcmltaXRpdmUuSXRlbS5Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxBY2NvcmRpb25QcmltaXRpdmUuSXRlbVxuICAgICAgZGF0YS1zbG90PVwiYWNjb3JkaW9uLWl0ZW1cIlxuICAgICAgY2xhc3NOYW1lPXtjbihcIm5vdC1sYXN0OmJvcmRlci1iXCIsIGNsYXNzTmFtZSl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBY2NvcmRpb25UcmlnZ2VyKHtcbiAgY2xhc3NOYW1lLFxuICBjaGlsZHJlbixcbiAgLi4ucHJvcHNcbn06IEFjY29yZGlvblByaW1pdGl2ZS5UcmlnZ2VyLlByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPEFjY29yZGlvblByaW1pdGl2ZS5IZWFkZXIgY2xhc3NOYW1lPVwiZmxleFwiPlxuICAgICAgPEFjY29yZGlvblByaW1pdGl2ZS5UcmlnZ2VyXG4gICAgICAgIGRhdGEtc2xvdD1cImFjY29yZGlvbi10cmlnZ2VyXCJcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICBcImdyb3VwL2FjY29yZGlvbi10cmlnZ2VyIHJlbGF0aXZlIGZsZXggZmxleC0xIGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgcHktNCB0ZXh0LWxlZnQgdGV4dC1zbSBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWFsbCBvdXRsaW5lLW5vbmUgaG92ZXI6dW5kZXJsaW5lIGZvY3VzLXZpc2libGU6Ym9yZGVyLXJpbmcgZm9jdXMtdmlzaWJsZTpyaW5nLTMgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcvNTAgZm9jdXMtdmlzaWJsZTphZnRlcjpib3JkZXItcmluZyBhcmlhLWRpc2FibGVkOnBvaW50ZXItZXZlbnRzLW5vbmUgYXJpYS1kaXNhYmxlZDpvcGFjaXR5LTUwICoqOmRhdGEtW3Nsb3Q9YWNjb3JkaW9uLXRyaWdnZXItaWNvbl06bWwtYXV0byAqKjpkYXRhLVtzbG90PWFjY29yZGlvbi10cmlnZ2VyLWljb25dOnNpemUtNCAqKjpkYXRhLVtzbG90PWFjY29yZGlvbi10cmlnZ2VyLWljb25dOnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgKX1cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDxDaGV2cm9uRG93bkljb25cbiAgICAgICAgICBkYXRhLXNsb3Q9XCJhY2NvcmRpb24tdHJpZ2dlci1pY29uXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJwb2ludGVyLWV2ZW50cy1ub25lIHNocmluay0wIGdyb3VwLWFyaWEtZXhwYW5kZWQvYWNjb3JkaW9uLXRyaWdnZXI6aGlkZGVuXCJcbiAgICAgICAgLz5cbiAgICAgICAgPENoZXZyb25VcEljb25cbiAgICAgICAgICBkYXRhLXNsb3Q9XCJhY2NvcmRpb24tdHJpZ2dlci1pY29uXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJwb2ludGVyLWV2ZW50cy1ub25lIGhpZGRlbiBzaHJpbmstMCBncm91cC1hcmlhLWV4cGFuZGVkL2FjY29yZGlvbi10cmlnZ2VyOmlubGluZVwiXG4gICAgICAgIC8+XG4gICAgICA8L0FjY29yZGlvblByaW1pdGl2ZS5UcmlnZ2VyPlxuICAgIDwvQWNjb3JkaW9uUHJpbWl0aXZlLkhlYWRlcj5cbiAgKVxufVxuXG5mdW5jdGlvbiBBY2NvcmRpb25Db250ZW50KHtcbiAgY2xhc3NOYW1lLFxuICBjaGlsZHJlbixcbiAgLi4ucHJvcHNcbn06IEFjY29yZGlvblByaW1pdGl2ZS5QYW5lbC5Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxBY2NvcmRpb25QcmltaXRpdmUuUGFuZWxcbiAgICAgIGRhdGEtc2xvdD1cImFjY29yZGlvbi1jb250ZW50XCJcbiAgICAgIGNsYXNzTmFtZT1cIm92ZXJmbG93LWhpZGRlbiB0ZXh0LXNtIGRhdGEtb3BlbjphbmltYXRlLWFjY29yZGlvbi1kb3duIGRhdGEtY2xvc2VkOmFuaW1hdGUtYWNjb3JkaW9uLXVwXCJcbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgXCJoLSgtLWFjY29yZGlvbi1wYW5lbC1oZWlnaHQpIHB0LTAgcGItNCBkYXRhLWVuZGluZy1zdHlsZTpoLTAgZGF0YS1zdGFydGluZy1zdHlsZTpoLTAgWyZfYV06dW5kZXJsaW5lIFsmX2FdOnVuZGVybGluZS1vZmZzZXQtMyBbJl9hXTpob3Zlcjp0ZXh0LWZvcmVncm91bmQgWyZfcDpub3QoOmxhc3QtY2hpbGQpXTptYi00XCIsXG4gICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICApfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L0FjY29yZGlvblByaW1pdGl2ZS5QYW5lbD5cbiAgKVxufVxuXG5leHBvcnQgeyBBY2NvcmRpb24sIEFjY29yZGlvbkl0ZW0sIEFjY29yZGlvblRyaWdnZXIsIEFjY29yZGlvbkNvbnRlbnQgfVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL2FjY29yZGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBRXZCLFNBQVMsU0FBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxFQUFpQztJQUN2RSxPQUFPLENBQ0wsS0FBQyxrQkFBa0IsQ0FBQyxJQUFJLGlCQUNaLFdBQVcsRUFDckIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsS0FDNUMsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBaUM7SUFDM0UsT0FBTyxDQUNMLEtBQUMsa0JBQWtCLENBQUMsSUFBSSxpQkFDWixnQkFBZ0IsRUFDMUIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsS0FDekMsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQ3hCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsR0FBRyxLQUFLLEVBQ3lCO0lBQ2pDLE9BQU8sQ0FDTCxLQUFDLGtCQUFrQixDQUFDLE1BQU0sSUFBQyxTQUFTLEVBQUMsTUFBTSxZQUN6QyxNQUFDLGtCQUFrQixDQUFDLE9BQU8saUJBQ2YsbUJBQW1CLEVBQzdCLFNBQVMsRUFBRSxFQUFFLENBQ1gsMGZBQTBmLEVBQzFmLFNBQVMsQ0FDVixLQUNHLEtBQUssYUFFUixRQUFRLEVBQ1QsS0FBQyxlQUFlLGlCQUNKLHdCQUF3QixFQUNsQyxTQUFTLEVBQUMsMkVBQTJFLEdBQ3JGLEVBQ0YsS0FBQyxhQUFhLGlCQUNGLHdCQUF3QixFQUNsQyxTQUFTLEVBQUMsa0ZBQWtGLEdBQzVGLElBQ3lCLEdBQ0gsQ0FDN0IsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQ3hCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsR0FBRyxLQUFLLEVBQ3VCO0lBQy9CLE9BQU8sQ0FDTCxLQUFDLGtCQUFrQixDQUFDLEtBQUssaUJBQ2IsbUJBQW1CLEVBQzdCLFNBQVMsRUFBQywyRkFBMkYsS0FDakcsS0FBSyxZQUVULGNBQ0UsU0FBUyxFQUFFLEVBQUUsQ0FDWCx1TEFBdUwsRUFDdkwsU0FBUyxDQUNWLFlBRUEsUUFBUSxHQUNMLEdBQ21CLENBQzVCLENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY29yZGlvbiBhcyBBY2NvcmRpb25QcmltaXRpdmUgfSBmcm9tIFwiQGJhc2UtdWkvcmVhY3QvYWNjb3JkaW9uXCJcbmltcG9ydCB7IENoZXZyb25Eb3duSWNvbiwgQ2hldnJvblVwSWNvbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJjblwiXG5cbmZ1bmN0aW9uIEFjY29yZGlvbih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogQWNjb3JkaW9uUHJpbWl0aXZlLlJvb3QuUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8QWNjb3JkaW9uUHJpbWl0aXZlLlJvb3RcbiAgICAgIGRhdGEtc2xvdD1cImFjY29yZGlvblwiXG4gICAgICBjbGFzc05hbWU9e2NuKFwiZmxleCB3LWZ1bGwgZmxleC1jb2xcIiwgY2xhc3NOYW1lKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFjY29yZGlvbkl0ZW0oeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IEFjY29yZGlvblByaW1pdGl2ZS5JdGVtLlByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPEFjY29yZGlvblByaW1pdGl2ZS5JdGVtXG4gICAgICBkYXRhLXNsb3Q9XCJhY2NvcmRpb24taXRlbVwiXG4gICAgICBjbGFzc05hbWU9e2NuKFwibm90LWxhc3Q6Ym9yZGVyLWJcIiwgY2xhc3NOYW1lKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFjY29yZGlvblRyaWdnZXIoe1xuICBjbGFzc05hbWUsXG4gIGNoaWxkcmVuLFxuICAuLi5wcm9wc1xufTogQWNjb3JkaW9uUHJpbWl0aXZlLlRyaWdnZXIuUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8QWNjb3JkaW9uUHJpbWl0aXZlLkhlYWRlciBjbGFzc05hbWU9XCJmbGV4XCI+XG4gICAgICA8QWNjb3JkaW9uUHJpbWl0aXZlLlRyaWdnZXJcbiAgICAgICAgZGF0YS1zbG90PVwiYWNjb3JkaW9uLXRyaWdnZXJcIlxuICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgIFwiZ3JvdXAvYWNjb3JkaW9uLXRyaWdnZXIgcmVsYXRpdmUgZmxleCBmbGV4LTEgaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBweS00IHRleHQtbGVmdCB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsIG91dGxpbmUtbm9uZSBob3Zlcjp1bmRlcmxpbmUgZm9jdXMtdmlzaWJsZTpib3JkZXItcmluZyBmb2N1cy12aXNpYmxlOnJpbmctMyBmb2N1cy12aXNpYmxlOnJpbmctcmluZy81MCBmb2N1cy12aXNpYmxlOmFmdGVyOmJvcmRlci1yaW5nIGFyaWEtZGlzYWJsZWQ6cG9pbnRlci1ldmVudHMtbm9uZSBhcmlhLWRpc2FibGVkOm9wYWNpdHktNTAgKio6ZGF0YS1bc2xvdD1hY2NvcmRpb24tdHJpZ2dlci1pY29uXTptbC1hdXRvICoqOmRhdGEtW3Nsb3Q9YWNjb3JkaW9uLXRyaWdnZXItaWNvbl06c2l6ZS00ICoqOmRhdGEtW3Nsb3Q9YWNjb3JkaW9uLXRyaWdnZXItaWNvbl06dGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXG4gICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICApfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPENoZXZyb25Eb3duSWNvblxuICAgICAgICAgIGRhdGEtc2xvdD1cImFjY29yZGlvbi10cmlnZ2VyLWljb25cIlxuICAgICAgICAgIGNsYXNzTmFtZT1cInBvaW50ZXItZXZlbnRzLW5vbmUgc2hyaW5rLTAgZ3JvdXAtYXJpYS1leHBhbmRlZC9hY2NvcmRpb24tdHJpZ2dlcjpoaWRkZW5cIlxuICAgICAgICAvPlxuICAgICAgICA8Q2hldnJvblVwSWNvblxuICAgICAgICAgIGRhdGEtc2xvdD1cImFjY29yZGlvbi10cmlnZ2VyLWljb25cIlxuICAgICAgICAgIGNsYXNzTmFtZT1cInBvaW50ZXItZXZlbnRzLW5vbmUgaGlkZGVuIHNocmluay0wIGdyb3VwLWFyaWEtZXhwYW5kZWQvYWNjb3JkaW9uLXRyaWdnZXI6aW5saW5lXCJcbiAgICAgICAgLz5cbiAgICAgIDwvQWNjb3JkaW9uUHJpbWl0aXZlLlRyaWdnZXI+XG4gICAgPC9BY2NvcmRpb25QcmltaXRpdmUuSGVhZGVyPlxuICApXG59XG5cbmZ1bmN0aW9uIEFjY29yZGlvbkNvbnRlbnQoe1xuICBjbGFzc05hbWUsXG4gIGNoaWxkcmVuLFxuICAuLi5wcm9wc1xufTogQWNjb3JkaW9uUHJpbWl0aXZlLlBhbmVsLlByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPEFjY29yZGlvblByaW1pdGl2ZS5QYW5lbFxuICAgICAgZGF0YS1zbG90PVwiYWNjb3JkaW9uLWNvbnRlbnRcIlxuICAgICAgY2xhc3NOYW1lPVwib3ZlcmZsb3ctaGlkZGVuIHRleHQtc20gZGF0YS1vcGVuOmFuaW1hdGUtYWNjb3JkaW9uLWRvd24gZGF0YS1jbG9zZWQ6YW5pbWF0ZS1hY2NvcmRpb24tdXBcIlxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICBcImgtKC0tYWNjb3JkaW9uLXBhbmVsLWhlaWdodCkgcHQtMCBwYi00IGRhdGEtZW5kaW5nLXN0eWxlOmgtMCBkYXRhLXN0YXJ0aW5nLXN0eWxlOmgtMCBbJl9hXTp1bmRlcmxpbmUgWyZfYV06dW5kZXJsaW5lLW9mZnNldC0zIFsmX2FdOmhvdmVyOnRleHQtZm9yZWdyb3VuZCBbJl9wOm5vdCg6bGFzdC1jaGlsZCldOm1iLTRcIixcbiAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgIDwvQWNjb3JkaW9uUHJpbWl0aXZlLlBhbmVsPlxuICApXG59XG5cbmV4cG9ydCB7IEFjY29yZGlvbiwgQWNjb3JkaW9uSXRlbSwgQWNjb3JkaW9uVHJpZ2dlciwgQWNjb3JkaW9uQ29udGVudCB9XG4iXX0=
@@ -1,18 +1,18 @@
1
1
  import * as React from "react";
2
2
  import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";
3
3
  import { Button } from "./button.tsx";
4
- declare function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
5
- declare function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
6
- declare function AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
7
- declare function AlertDialogOverlay({ className, ...props }: AlertDialogPrimitive.Backdrop.Props): import("react/jsx-runtime").JSX.Element;
4
+ declare function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props): React.JSX.Element;
5
+ declare function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props): React.JSX.Element;
6
+ declare function AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props): React.JSX.Element;
7
+ declare function AlertDialogOverlay({ className, ...props }: AlertDialogPrimitive.Backdrop.Props): React.JSX.Element;
8
8
  declare function AlertDialogContent({ className, size, ...props }: AlertDialogPrimitive.Popup.Props & {
9
9
  size?: "default" | "sm";
10
- }): import("react/jsx-runtime").JSX.Element;
11
- declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
12
- declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
13
- declare function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
14
- declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
15
- declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
16
- declare function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
17
- declare function AlertDialogCancel({ className, variant, size, ...props }: AlertDialogPrimitive.Close.Props & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): import("react/jsx-runtime").JSX.Element;
10
+ }): React.JSX.Element;
11
+ declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
12
+ declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
13
+ declare function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
14
+ declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>): React.JSX.Element;
15
+ declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description>): React.JSX.Element;
16
+ declare function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
17
+ declare function AlertDialogCancel({ className, variant, size, ...props }: AlertDialogPrimitive.Close.Props & Pick<React.ComponentProps<typeof Button>, "variant" | "size">): React.JSX.Element;
18
18
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
@@ -15,9 +15,7 @@ function AlertDialogOverlay({ className, ...props }) {
15
15
  return (_jsx(AlertDialogPrimitive.Backdrop, { "data-slot": "alert-dialog-overlay", className: cn("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className), ...props }));
16
16
  }
17
17
  function AlertDialogContent({ className, size = "default", ...props }) {
18
- return (_jsxs(AlertDialogPortal, { children: [
19
- _jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Popup, { "data-slot": "alert-dialog-content", "data-size": size, className: cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props })
20
- ] }));
18
+ return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Popup, { "data-slot": "alert-dialog-content", "data-size": size, className: cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-panel bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props })] }));
21
19
  }
22
20
  function AlertDialogHeader({ className, ...props }) {
23
21
  return (_jsx("div", { "data-slot": "alert-dialog-header", className: cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className), ...props }));
@@ -41,4 +39,4 @@ function AlertDialogCancel({ className, variant = "outline", size = "default", .
41
39
  return (_jsx(AlertDialogPrimitive.Close, { "data-slot": "alert-dialog-cancel", className: cn(className), render: _jsx(Button, { variant: variant, size: size }), ...props }));
42
40
  }
43
41
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL2FsZXJ0LWRpYWxvZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxXQUFXLElBQUksb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUVqRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFjLENBQUE7QUFFckMsU0FBUyxXQUFXLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBbUM7SUFDaEUsT0FBTyxLQUFDLG9CQUFvQixDQUFDLElBQUksaUJBQVcsY0FBYyxLQUFLLEtBQUssR0FBSSxDQUFBO0FBQzFFLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQXNDO0lBQzFFLE9BQU8sS0FBQyxvQkFBb0IsQ0FBQyxPQUFPLGlCQUFXLHNCQUFzQixLQUFLLEtBQUssR0FBSSxDQUFBO0FBQ3JGLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQXFDO0lBQ3hFLE9BQU8sS0FBQyxvQkFBb0IsQ0FBQyxNQUFNLGlCQUFXLHFCQUFxQixLQUFLLEtBQUssR0FBSSxDQUFBO0FBQ25GLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEVBQzFCLFNBQVMsRUFDVCxHQUFHLEtBQUssRUFDNEI7SUFDcEMsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsUUFBUSxpQkFDbEIsc0JBQXNCLEVBQ2hDLFNBQVMsRUFBRSxFQUFFLENBQ1gsdUxBQXVMLEVBQ3ZMLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxFQUMxQixTQUFTLEVBQ1QsSUFBSSxHQUFHLFNBQVMsRUFDaEIsR0FBRyxLQUFLLEVBR1Q7SUFDQyxPQUFPLENBQ0wsTUFBQyxpQkFBaUI7WUFDaEIsS0FBQyxrQkFBa0IsS0FBRyxFQUN0QixLQUFDLG9CQUFvQixDQUFDLEtBQUssaUJBQ2Ysc0JBQXNCLGVBQ3JCLElBQUksRUFDZixTQUFTLEVBQUUsRUFBRSxDQUNYLDRhQUE0YSxFQUM1YSxTQUFTLENBQ1YsS0FDRyxLQUFLLEdBQ1Q7WUFDZ0IsQ0FDckIsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxFQUErQjtJQUM3RSxPQUFPLENBQ0wsMkJBQ1kscUJBQXFCLEVBQy9CLFNBQVMsRUFBRSxFQUFFLENBQ1gsb1pBQW9aLEVBQ3BaLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBK0I7SUFDN0UsT0FBTyxDQUNMLDJCQUNZLHFCQUFxQixFQUMvQixTQUFTLEVBQUUsRUFBRSxDQUNYLDZKQUE2SixFQUM3SixTQUFTLENBQ1YsS0FDRyxLQUFLLEdBQ1QsQ0FDSCxDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQStCO0lBQzVFLE9BQU8sQ0FDTCwyQkFDWSxvQkFBb0IsRUFDOUIsU0FBUyxFQUFFLEVBQUUsQ0FDWCw0S0FBNEssRUFDNUssU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQ3hCLFNBQVMsRUFDVCxHQUFHLEtBQUssRUFDZ0Q7SUFDeEQsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsS0FBSyxpQkFDZixvQkFBb0IsRUFDOUIsU0FBUyxFQUFFLEVBQUUsQ0FDWCxpS0FBaUssRUFDakssU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLEVBQzlCLFNBQVMsRUFDVCxHQUFHLEtBQUssRUFDc0Q7SUFDOUQsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsV0FBVyxpQkFDckIsMEJBQTBCLEVBQ3BDLFNBQVMsRUFBRSxFQUFFLENBQ1gsZ0lBQWdJLEVBQ2hJLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBdUM7SUFDckYsT0FBTyxLQUFDLE1BQU0saUJBQVcscUJBQXFCLEVBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBTSxLQUFLLEdBQUksQ0FBQTtBQUN4RixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxFQUN6QixTQUFTLEVBQ1QsT0FBTyxHQUFHLFNBQVMsRUFDbkIsSUFBSSxHQUFHLFNBQVMsRUFDaEIsR0FBRyxLQUFLLEVBRXFEO0lBQzdELE9BQU8sQ0FDTCxLQUFDLG9CQUFvQixDQUFDLEtBQUssaUJBQ2YscUJBQXFCLEVBQy9CLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQ3hCLE1BQU0sRUFBRSxLQUFDLE1BQU0sSUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUksS0FDNUMsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyBBbGVydERpYWxvZyBhcyBBbGVydERpYWxvZ1ByaW1pdGl2ZSB9IGZyb20gXCJAYmFzZS11aS9yZWFjdC9hbGVydC1kaWFsb2dcIlxuXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJjblwiXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiLi9idXR0b24udHN4XCJcblxuZnVuY3Rpb24gQWxlcnREaWFsb2coeyAuLi5wcm9wcyB9OiBBbGVydERpYWxvZ1ByaW1pdGl2ZS5Sb290LlByb3BzKSB7XG4gIHJldHVybiA8QWxlcnREaWFsb2dQcmltaXRpdmUuUm9vdCBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2dcIiB7Li4ucHJvcHN9IC8+XG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nVHJpZ2dlcih7IC4uLnByb3BzIH06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlRyaWdnZXIuUHJvcHMpIHtcbiAgcmV0dXJuIDxBbGVydERpYWxvZ1ByaW1pdGl2ZS5UcmlnZ2VyIGRhdGEtc2xvdD1cImFsZXJ0LWRpYWxvZy10cmlnZ2VyXCIgey4uLnByb3BzfSAvPlxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ1BvcnRhbCh7IC4uLnByb3BzIH06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlBvcnRhbC5Qcm9wcykge1xuICByZXR1cm4gPEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlBvcnRhbCBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctcG9ydGFsXCIgey4uLnByb3BzfSAvPlxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ092ZXJsYXkoe1xuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBBbGVydERpYWxvZ1ByaW1pdGl2ZS5CYWNrZHJvcC5Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxBbGVydERpYWxvZ1ByaW1pdGl2ZS5CYWNrZHJvcFxuICAgICAgZGF0YS1zbG90PVwiYWxlcnQtZGlhbG9nLW92ZXJsYXlcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJmaXhlZCBpbnNldC0wIGlzb2xhdGUgei01MCBiZy1ibGFjay8xMCBkdXJhdGlvbi0xMDAgc3VwcG9ydHMtYmFja2Ryb3AtZmlsdGVyOmJhY2tkcm9wLWJsdXIteHMgZGF0YS1vcGVuOmFuaW1hdGUtaW4gZGF0YS1vcGVuOmZhZGUtaW4tMCBkYXRhLWNsb3NlZDphbmltYXRlLW91dCBkYXRhLWNsb3NlZDpmYWRlLW91dC0wXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ0NvbnRlbnQoe1xuICBjbGFzc05hbWUsXG4gIHNpemUgPSBcImRlZmF1bHRcIixcbiAgLi4ucHJvcHNcbn06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlBvcHVwLlByb3BzICYge1xuICBzaXplPzogXCJkZWZhdWx0XCIgfCBcInNtXCJcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8QWxlcnREaWFsb2dQb3J0YWw+XG4gICAgICA8QWxlcnREaWFsb2dPdmVybGF5IC8+XG4gICAgICA8QWxlcnREaWFsb2dQcmltaXRpdmUuUG9wdXBcbiAgICAgICAgZGF0YS1zbG90PVwiYWxlcnQtZGlhbG9nLWNvbnRlbnRcIlxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgXCJncm91cC9hbGVydC1kaWFsb2ctY29udGVudCBmaXhlZCB0b3AtMS8yIGxlZnQtMS8yIHotNTAgZ3JpZCB3LWZ1bGwgLXRyYW5zbGF0ZS14LTEvMiAtdHJhbnNsYXRlLXktMS8yIGdhcC02IHJvdW5kZWQteGwgYmctcG9wb3ZlciBwLTYgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgcmluZy0xIHJpbmctZm9yZWdyb3VuZC8xMCBkdXJhdGlvbi0xMDAgb3V0bGluZS1ub25lIGRhdGEtW3NpemU9ZGVmYXVsdF06bWF4LXcteHMgZGF0YS1bc2l6ZT1zbV06bWF4LXcteHMgZGF0YS1bc2l6ZT1kZWZhdWx0XTpzbTptYXgtdy1sZyBkYXRhLW9wZW46YW5pbWF0ZS1pbiBkYXRhLW9wZW46ZmFkZS1pbi0wIGRhdGEtb3Blbjp6b29tLWluLTk1IGRhdGEtY2xvc2VkOmFuaW1hdGUtb3V0IGRhdGEtY2xvc2VkOmZhZGUtb3V0LTAgZGF0YS1jbG9zZWQ6em9vbS1vdXQtOTVcIixcbiAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICl9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgPC9BbGVydERpYWxvZ1BvcnRhbD5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ0hlYWRlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJkaXZcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctaGVhZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwiZ3JpZCBncmlkLXJvd3MtW2F1dG9fMWZyXSBwbGFjZS1pdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LWNlbnRlciBoYXMtZGF0YS1bc2xvdD1hbGVydC1kaWFsb2ctbWVkaWFdOmdyaWQtcm93cy1bYXV0b19hdXRvXzFmcl0gaGFzLWRhdGEtW3Nsb3Q9YWxlcnQtZGlhbG9nLW1lZGlhXTpnYXAteC02IHNtOmdyb3VwLWRhdGEtW3NpemU9ZGVmYXVsdF0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6cGxhY2UtaXRlbXMtc3RhcnQgc206Z3JvdXAtZGF0YS1bc2l6ZT1kZWZhdWx0XS9hbGVydC1kaWFsb2ctY29udGVudDp0ZXh0LWxlZnQgc206Z3JvdXAtZGF0YS1bc2l6ZT1kZWZhdWx0XS9hbGVydC1kaWFsb2ctY29udGVudDpoYXMtZGF0YS1bc2xvdD1hbGVydC1kaWFsb2ctbWVkaWFdOmdyaWQtcm93cy1bYXV0b18xZnJdXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ0Zvb3Rlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJkaXZcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctZm9vdGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwiZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC0yIGdyb3VwLWRhdGEtW3NpemU9c21dL2FsZXJ0LWRpYWxvZy1jb250ZW50OmdyaWQgZ3JvdXAtZGF0YS1bc2l6ZT1zbV0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6Z3JpZC1jb2xzLTIgc206ZmxleC1yb3cgc206anVzdGlmeS1lbmRcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nTWVkaWEoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwiZGl2XCI+KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS1zbG90PVwiYWxlcnQtZGlhbG9nLW1lZGlhXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwibWItMiBpbmxpbmUtZmxleCBzaXplLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJnLW11dGVkIHNtOmdyb3VwLWRhdGEtW3NpemU9ZGVmYXVsdF0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6cm93LXNwYW4tMiAqOltzdmc6bm90KFtjbGFzcyo9J3NpemUtJ10pXTpzaXplLThcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nVGl0bGUoe1xuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQWxlcnREaWFsb2dQcmltaXRpdmUuVGl0bGU+KSB7XG4gIHJldHVybiAoXG4gICAgPEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlRpdGxlXG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJjbi1mb250LWhlYWRpbmcgdGV4dC1sZyBmb250LW1lZGl1bSBzbTpncm91cC1kYXRhLVtzaXplPWRlZmF1bHRdL2FsZXJ0LWRpYWxvZy1jb250ZW50Omdyb3VwLWhhcy1kYXRhLVtzbG90PWFsZXJ0LWRpYWxvZy1tZWRpYV0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6Y29sLXN0YXJ0LTJcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nRGVzY3JpcHRpb24oe1xuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQWxlcnREaWFsb2dQcmltaXRpdmUuRGVzY3JpcHRpb24+KSB7XG4gIHJldHVybiAoXG4gICAgPEFsZXJ0RGlhbG9nUHJpbWl0aXZlLkRlc2NyaXB0aW9uXG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctZGVzY3JpcHRpb25cIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJ0ZXh0LXNtIHRleHQtYmFsYW5jZSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbWQ6dGV4dC1wcmV0dHkgKjpbYV06dW5kZXJsaW5lICo6W2FdOnVuZGVybGluZS1vZmZzZXQtMyAqOlthXTpob3Zlcjp0ZXh0LWZvcmVncm91bmRcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nQWN0aW9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9OiBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQnV0dG9uPikge1xuICByZXR1cm4gPEJ1dHRvbiBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctYWN0aW9uXCIgY2xhc3NOYW1lPXtjbihjbGFzc05hbWUpfSB7Li4ucHJvcHN9IC8+XG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nQ2FuY2VsKHtcbiAgY2xhc3NOYW1lLFxuICB2YXJpYW50ID0gXCJvdXRsaW5lXCIsXG4gIHNpemUgPSBcImRlZmF1bHRcIixcbiAgLi4ucHJvcHNcbn06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLkNsb3NlLlByb3BzICZcbiAgUGljazxSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQnV0dG9uPiwgXCJ2YXJpYW50XCIgfCBcInNpemVcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8QWxlcnREaWFsb2dQcmltaXRpdmUuQ2xvc2VcbiAgICAgIGRhdGEtc2xvdD1cImFsZXJ0LWRpYWxvZy1jYW5jZWxcIlxuICAgICAgY2xhc3NOYW1lPXtjbihjbGFzc05hbWUpfVxuICAgICAgcmVuZGVyPXs8QnV0dG9uIHZhcmlhbnQ9e3ZhcmlhbnR9IHNpemU9e3NpemV9IC8+fVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IHtcbiAgQWxlcnREaWFsb2csXG4gIEFsZXJ0RGlhbG9nQWN0aW9uLFxuICBBbGVydERpYWxvZ0NhbmNlbCxcbiAgQWxlcnREaWFsb2dDb250ZW50LFxuICBBbGVydERpYWxvZ0Rlc2NyaXB0aW9uLFxuICBBbGVydERpYWxvZ0Zvb3RlcixcbiAgQWxlcnREaWFsb2dIZWFkZXIsXG4gIEFsZXJ0RGlhbG9nTWVkaWEsXG4gIEFsZXJ0RGlhbG9nT3ZlcmxheSxcbiAgQWxlcnREaWFsb2dQb3J0YWwsXG4gIEFsZXJ0RGlhbG9nVGl0bGUsXG4gIEFsZXJ0RGlhbG9nVHJpZ2dlcixcbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2VsZW1lbnRzL2FsZXJ0LWRpYWxvZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxXQUFXLElBQUksb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUVqRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFjLENBQUE7QUFFckMsU0FBUyxXQUFXLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBbUM7SUFDaEUsT0FBTyxLQUFDLG9CQUFvQixDQUFDLElBQUksaUJBQVcsY0FBYyxLQUFLLEtBQUssR0FBSSxDQUFBO0FBQzFFLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQXNDO0lBQzFFLE9BQU8sS0FBQyxvQkFBb0IsQ0FBQyxPQUFPLGlCQUFXLHNCQUFzQixLQUFLLEtBQUssR0FBSSxDQUFBO0FBQ3JGLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQXFDO0lBQ3hFLE9BQU8sS0FBQyxvQkFBb0IsQ0FBQyxNQUFNLGlCQUFXLHFCQUFxQixLQUFLLEtBQUssR0FBSSxDQUFBO0FBQ25GLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEVBQzFCLFNBQVMsRUFDVCxHQUFHLEtBQUssRUFDNEI7SUFDcEMsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsUUFBUSxpQkFDbEIsc0JBQXNCLEVBQ2hDLFNBQVMsRUFBRSxFQUFFLENBQ1gsdUxBQXVMLEVBQ3ZMLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxFQUMxQixTQUFTLEVBQ1QsSUFBSSxHQUFHLFNBQVMsRUFDaEIsR0FBRyxLQUFLLEVBR1Q7SUFDQyxPQUFPLENBQ0wsTUFBQyxpQkFBaUIsZUFDaEIsS0FBQyxrQkFBa0IsS0FBRyxFQUN0QixLQUFDLG9CQUFvQixDQUFDLEtBQUssaUJBQ2Ysc0JBQXNCLGVBQ3JCLElBQUksRUFDZixTQUFTLEVBQUUsRUFBRSxDQUNYLCthQUErYSxFQUMvYSxTQUFTLENBQ1YsS0FDRyxLQUFLLEdBQ1QsSUFDZ0IsQ0FDckIsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxFQUErQjtJQUM3RSxPQUFPLENBQ0wsMkJBQ1kscUJBQXFCLEVBQy9CLFNBQVMsRUFBRSxFQUFFLENBQ1gsb1pBQW9aLEVBQ3BaLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBK0I7SUFDN0UsT0FBTyxDQUNMLDJCQUNZLHFCQUFxQixFQUMvQixTQUFTLEVBQUUsRUFBRSxDQUNYLDZKQUE2SixFQUM3SixTQUFTLENBQ1YsS0FDRyxLQUFLLEdBQ1QsQ0FDSCxDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQStCO0lBQzVFLE9BQU8sQ0FDTCwyQkFDWSxvQkFBb0IsRUFDOUIsU0FBUyxFQUFFLEVBQUUsQ0FDWCw0S0FBNEssRUFDNUssU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQ3hCLFNBQVMsRUFDVCxHQUFHLEtBQUssRUFDZ0Q7SUFDeEQsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsS0FBSyxpQkFDZixvQkFBb0IsRUFDOUIsU0FBUyxFQUFFLEVBQUUsQ0FDWCxpS0FBaUssRUFDakssU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLEVBQzlCLFNBQVMsRUFDVCxHQUFHLEtBQUssRUFDc0Q7SUFDOUQsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsV0FBVyxpQkFDckIsMEJBQTBCLEVBQ3BDLFNBQVMsRUFBRSxFQUFFLENBQ1gsZ0lBQWdJLEVBQ2hJLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBdUM7SUFDckYsT0FBTyxLQUFDLE1BQU0saUJBQVcscUJBQXFCLEVBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBTSxLQUFLLEdBQUksQ0FBQTtBQUN4RixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxFQUN6QixTQUFTLEVBQ1QsT0FBTyxHQUFHLFNBQVMsRUFDbkIsSUFBSSxHQUFHLFNBQVMsRUFDaEIsR0FBRyxLQUFLLEVBRXFEO0lBQzdELE9BQU8sQ0FDTCxLQUFDLG9CQUFvQixDQUFDLEtBQUssaUJBQ2YscUJBQXFCLEVBQy9CLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQ3hCLE1BQU0sRUFBRSxLQUFDLE1BQU0sSUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUksS0FDNUMsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyBBbGVydERpYWxvZyBhcyBBbGVydERpYWxvZ1ByaW1pdGl2ZSB9IGZyb20gXCJAYmFzZS11aS9yZWFjdC9hbGVydC1kaWFsb2dcIlxuXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJjblwiXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiLi9idXR0b24udHN4XCJcblxuZnVuY3Rpb24gQWxlcnREaWFsb2coeyAuLi5wcm9wcyB9OiBBbGVydERpYWxvZ1ByaW1pdGl2ZS5Sb290LlByb3BzKSB7XG4gIHJldHVybiA8QWxlcnREaWFsb2dQcmltaXRpdmUuUm9vdCBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2dcIiB7Li4ucHJvcHN9IC8+XG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nVHJpZ2dlcih7IC4uLnByb3BzIH06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlRyaWdnZXIuUHJvcHMpIHtcbiAgcmV0dXJuIDxBbGVydERpYWxvZ1ByaW1pdGl2ZS5UcmlnZ2VyIGRhdGEtc2xvdD1cImFsZXJ0LWRpYWxvZy10cmlnZ2VyXCIgey4uLnByb3BzfSAvPlxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ1BvcnRhbCh7IC4uLnByb3BzIH06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlBvcnRhbC5Qcm9wcykge1xuICByZXR1cm4gPEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlBvcnRhbCBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctcG9ydGFsXCIgey4uLnByb3BzfSAvPlxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ092ZXJsYXkoe1xuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBBbGVydERpYWxvZ1ByaW1pdGl2ZS5CYWNrZHJvcC5Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxBbGVydERpYWxvZ1ByaW1pdGl2ZS5CYWNrZHJvcFxuICAgICAgZGF0YS1zbG90PVwiYWxlcnQtZGlhbG9nLW92ZXJsYXlcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJmaXhlZCBpbnNldC0wIGlzb2xhdGUgei01MCBiZy1ibGFjay8xMCBkdXJhdGlvbi0xMDAgc3VwcG9ydHMtYmFja2Ryb3AtZmlsdGVyOmJhY2tkcm9wLWJsdXIteHMgZGF0YS1vcGVuOmFuaW1hdGUtaW4gZGF0YS1vcGVuOmZhZGUtaW4tMCBkYXRhLWNsb3NlZDphbmltYXRlLW91dCBkYXRhLWNsb3NlZDpmYWRlLW91dC0wXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ0NvbnRlbnQoe1xuICBjbGFzc05hbWUsXG4gIHNpemUgPSBcImRlZmF1bHRcIixcbiAgLi4ucHJvcHNcbn06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlBvcHVwLlByb3BzICYge1xuICBzaXplPzogXCJkZWZhdWx0XCIgfCBcInNtXCJcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8QWxlcnREaWFsb2dQb3J0YWw+XG4gICAgICA8QWxlcnREaWFsb2dPdmVybGF5IC8+XG4gICAgICA8QWxlcnREaWFsb2dQcmltaXRpdmUuUG9wdXBcbiAgICAgICAgZGF0YS1zbG90PVwiYWxlcnQtZGlhbG9nLWNvbnRlbnRcIlxuICAgICAgICBkYXRhLXNpemU9e3NpemV9XG4gICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgXCJncm91cC9hbGVydC1kaWFsb2ctY29udGVudCBmaXhlZCB0b3AtMS8yIGxlZnQtMS8yIHotNTAgZ3JpZCB3LWZ1bGwgLXRyYW5zbGF0ZS14LTEvMiAtdHJhbnNsYXRlLXktMS8yIGdhcC02IHJvdW5kZWQtcGFuZWwgYmctcG9wb3ZlciBwLTYgdGV4dC1wb3BvdmVyLWZvcmVncm91bmQgcmluZy0xIHJpbmctZm9yZWdyb3VuZC8xMCBkdXJhdGlvbi0xMDAgb3V0bGluZS1ub25lIGRhdGEtW3NpemU9ZGVmYXVsdF06bWF4LXcteHMgZGF0YS1bc2l6ZT1zbV06bWF4LXcteHMgZGF0YS1bc2l6ZT1kZWZhdWx0XTpzbTptYXgtdy1sZyBkYXRhLW9wZW46YW5pbWF0ZS1pbiBkYXRhLW9wZW46ZmFkZS1pbi0wIGRhdGEtb3Blbjp6b29tLWluLTk1IGRhdGEtY2xvc2VkOmFuaW1hdGUtb3V0IGRhdGEtY2xvc2VkOmZhZGUtb3V0LTAgZGF0YS1jbG9zZWQ6em9vbS1vdXQtOTVcIixcbiAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICl9XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgPC9BbGVydERpYWxvZ1BvcnRhbD5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ0hlYWRlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJkaXZcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctaGVhZGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwiZ3JpZCBncmlkLXJvd3MtW2F1dG9fMWZyXSBwbGFjZS1pdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LWNlbnRlciBoYXMtZGF0YS1bc2xvdD1hbGVydC1kaWFsb2ctbWVkaWFdOmdyaWQtcm93cy1bYXV0b19hdXRvXzFmcl0gaGFzLWRhdGEtW3Nsb3Q9YWxlcnQtZGlhbG9nLW1lZGlhXTpnYXAteC02IHNtOmdyb3VwLWRhdGEtW3NpemU9ZGVmYXVsdF0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6cGxhY2UtaXRlbXMtc3RhcnQgc206Z3JvdXAtZGF0YS1bc2l6ZT1kZWZhdWx0XS9hbGVydC1kaWFsb2ctY29udGVudDp0ZXh0LWxlZnQgc206Z3JvdXAtZGF0YS1bc2l6ZT1kZWZhdWx0XS9hbGVydC1kaWFsb2ctY29udGVudDpoYXMtZGF0YS1bc2xvdD1hbGVydC1kaWFsb2ctbWVkaWFdOmdyaWQtcm93cy1bYXV0b18xZnJdXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydERpYWxvZ0Zvb3Rlcih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJkaXZcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctZm9vdGVyXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwiZmxleCBmbGV4LWNvbC1yZXZlcnNlIGdhcC0yIGdyb3VwLWRhdGEtW3NpemU9c21dL2FsZXJ0LWRpYWxvZy1jb250ZW50OmdyaWQgZ3JvdXAtZGF0YS1bc2l6ZT1zbV0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6Z3JpZC1jb2xzLTIgc206ZmxleC1yb3cgc206anVzdGlmeS1lbmRcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nTWVkaWEoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwiZGl2XCI+KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS1zbG90PVwiYWxlcnQtZGlhbG9nLW1lZGlhXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwibWItMiBpbmxpbmUtZmxleCBzaXplLTE2IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJnLW11dGVkIHNtOmdyb3VwLWRhdGEtW3NpemU9ZGVmYXVsdF0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6cm93LXNwYW4tMiAqOltzdmc6bm90KFtjbGFzcyo9J3NpemUtJ10pXTpzaXplLThcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nVGl0bGUoe1xuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQWxlcnREaWFsb2dQcmltaXRpdmUuVGl0bGU+KSB7XG4gIHJldHVybiAoXG4gICAgPEFsZXJ0RGlhbG9nUHJpbWl0aXZlLlRpdGxlXG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJjbi1mb250LWhlYWRpbmcgdGV4dC1sZyBmb250LW1lZGl1bSBzbTpncm91cC1kYXRhLVtzaXplPWRlZmF1bHRdL2FsZXJ0LWRpYWxvZy1jb250ZW50Omdyb3VwLWhhcy1kYXRhLVtzbG90PWFsZXJ0LWRpYWxvZy1tZWRpYV0vYWxlcnQtZGlhbG9nLWNvbnRlbnQ6Y29sLXN0YXJ0LTJcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nRGVzY3JpcHRpb24oe1xuICBjbGFzc05hbWUsXG4gIC4uLnByb3BzXG59OiBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQWxlcnREaWFsb2dQcmltaXRpdmUuRGVzY3JpcHRpb24+KSB7XG4gIHJldHVybiAoXG4gICAgPEFsZXJ0RGlhbG9nUHJpbWl0aXZlLkRlc2NyaXB0aW9uXG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctZGVzY3JpcHRpb25cIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJ0ZXh0LXNtIHRleHQtYmFsYW5jZSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbWQ6dGV4dC1wcmV0dHkgKjpbYV06dW5kZXJsaW5lICo6W2FdOnVuZGVybGluZS1vZmZzZXQtMyAqOlthXTpob3Zlcjp0ZXh0LWZvcmVncm91bmRcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nQWN0aW9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9OiBSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQnV0dG9uPikge1xuICByZXR1cm4gPEJ1dHRvbiBkYXRhLXNsb3Q9XCJhbGVydC1kaWFsb2ctYWN0aW9uXCIgY2xhc3NOYW1lPXtjbihjbGFzc05hbWUpfSB7Li4ucHJvcHN9IC8+XG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGlhbG9nQ2FuY2VsKHtcbiAgY2xhc3NOYW1lLFxuICB2YXJpYW50ID0gXCJvdXRsaW5lXCIsXG4gIHNpemUgPSBcImRlZmF1bHRcIixcbiAgLi4ucHJvcHNcbn06IEFsZXJ0RGlhbG9nUHJpbWl0aXZlLkNsb3NlLlByb3BzICZcbiAgUGljazxSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgQnV0dG9uPiwgXCJ2YXJpYW50XCIgfCBcInNpemVcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8QWxlcnREaWFsb2dQcmltaXRpdmUuQ2xvc2VcbiAgICAgIGRhdGEtc2xvdD1cImFsZXJ0LWRpYWxvZy1jYW5jZWxcIlxuICAgICAgY2xhc3NOYW1lPXtjbihjbGFzc05hbWUpfVxuICAgICAgcmVuZGVyPXs8QnV0dG9uIHZhcmlhbnQ9e3ZhcmlhbnR9IHNpemU9e3NpemV9IC8+fVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IHtcbiAgQWxlcnREaWFsb2csXG4gIEFsZXJ0RGlhbG9nQWN0aW9uLFxuICBBbGVydERpYWxvZ0NhbmNlbCxcbiAgQWxlcnREaWFsb2dDb250ZW50LFxuICBBbGVydERpYWxvZ0Rlc2NyaXB0aW9uLFxuICBBbGVydERpYWxvZ0Zvb3RlcixcbiAgQWxlcnREaWFsb2dIZWFkZXIsXG4gIEFsZXJ0RGlhbG9nTWVkaWEsXG4gIEFsZXJ0RGlhbG9nT3ZlcmxheSxcbiAgQWxlcnREaWFsb2dQb3J0YWwsXG4gIEFsZXJ0RGlhbG9nVGl0bGUsXG4gIEFsZXJ0RGlhbG9nVHJpZ2dlcixcbn1cbiJdfQ==
@@ -2,8 +2,8 @@ import { type VariantProps } from "class-variance-authority";
2
2
  declare const alertVariants: (props?: ({
3
3
  variant?: "default" | "destructive" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
- declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): import("react/jsx-runtime").JSX.Element;
6
- declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
- declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
- declare function AlertAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): import("react").JSX.Element;
6
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
7
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
8
+ declare function AlertAction({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
9
9
  export { Alert, AlertTitle, AlertDescription, AlertAction };
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { cn } from "cn";
4
- const alertVariants = cva("grid gap-0.5 rounded-lg border px-4 py-3 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert", {
4
+ const alertVariants = cva("grid gap-0.5 rounded-card border px-4 py-3 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert", {
5
5
  variants: {
6
6
  variant: {
7
7
  default: "bg-card text-card-foreground",
@@ -25,4 +25,4 @@ function AlertAction({ className, ...props }) {
25
25
  return (_jsx("div", { "data-slot": "alert-action", className: cn("absolute top-2.5 right-3", className), ...props }));
26
26
  }
27
27
  export { Alert, AlertTitle, AlertDescription, AlertAction };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvZWxlbWVudHMvYWxlcnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFxQixNQUFNLDBCQUEwQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFdkIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUN2QiwyVEFBMlQsRUFDM1Q7SUFDRSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsOEJBQThCO1lBQ3ZDLFdBQVcsRUFDVCxtR0FBbUc7U0FDdEc7S0FDRjtJQUNELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0NBQ0YsQ0FDRixDQUFBO0FBRUQsU0FBUyxLQUFLLENBQUMsRUFDYixTQUFTLEVBQ1QsT0FBTyxFQUNQLEdBQUcsS0FBSyxFQUN5RDtJQUNqRSxPQUFPLENBQ0wsMkJBQ1ksT0FBTyxFQUNqQixJQUFJLEVBQUMsT0FBTyxFQUNaLFNBQVMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsS0FDaEQsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBK0I7SUFDdEUsT0FBTyxDQUNMLDJCQUNZLGFBQWEsRUFDdkIsU0FBUyxFQUFFLEVBQUUsQ0FDWCxxSEFBcUgsRUFDckgsU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxFQUErQjtJQUM1RSxPQUFPLENBQ0wsMkJBQ1ksbUJBQW1CLEVBQzdCLFNBQVMsRUFBRSxFQUFFLENBQ1gsNEpBQTRKLEVBQzVKLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQStCO0lBQ3ZFLE9BQU8sQ0FDTCwyQkFDWSxjQUFjLEVBQ3hCLFNBQVMsRUFBRSxFQUFFLENBQUMsMEJBQTBCLEVBQUUsU0FBUyxDQUFDLEtBQ2hELEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJjblwiXG5cbmNvbnN0IGFsZXJ0VmFyaWFudHMgPSBjdmEoXG4gIFwiZ3JpZCBnYXAtMC41IHJvdW5kZWQtbGcgYm9yZGVyIHB4LTQgcHktMyB0ZXh0LWxlZnQgdGV4dC1zbSBoYXMtZGF0YS1bc2xvdD1hbGVydC1hY3Rpb25dOnJlbGF0aXZlIGhhcy1kYXRhLVtzbG90PWFsZXJ0LWFjdGlvbl06cHItMTggaGFzLVs+c3ZnXTpncmlkLWNvbHMtW2F1dG9fMWZyXSBoYXMtWz5zdmddOmdhcC14LTIuNSAqOltzdmddOnJvdy1zcGFuLTIgKjpbc3ZnXTp0cmFuc2xhdGUteS0wLjUgKjpbc3ZnXTp0ZXh0LWN1cnJlbnQgKjpbc3ZnOm5vdChbY2xhc3MqPSdzaXplLSddKV06c2l6ZS00IHctZnVsbCByZWxhdGl2ZSBncm91cC9hbGVydFwiLFxuICB7XG4gICAgdmFyaWFudHM6IHtcbiAgICAgIHZhcmlhbnQ6IHtcbiAgICAgICAgZGVmYXVsdDogXCJiZy1jYXJkIHRleHQtY2FyZC1mb3JlZ3JvdW5kXCIsXG4gICAgICAgIGRlc3RydWN0aXZlOlxuICAgICAgICAgIFwidGV4dC1kZXN0cnVjdGl2ZSBiZy1jYXJkICo6ZGF0YS1bc2xvdD1hbGVydC1kZXNjcmlwdGlvbl06dGV4dC1kZXN0cnVjdGl2ZS85MCAqOltzdmddOnRleHQtY3VycmVudFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRWYXJpYW50czoge1xuICAgICAgdmFyaWFudDogXCJkZWZhdWx0XCIsXG4gICAgfSxcbiAgfSxcbilcblxuZnVuY3Rpb24gQWxlcnQoe1xuICBjbGFzc05hbWUsXG4gIHZhcmlhbnQsXG4gIC4uLnByb3BzXG59OiBSZWFjdC5Db21wb25lbnRQcm9wczxcImRpdlwiPiAmIFZhcmlhbnRQcm9wczx0eXBlb2YgYWxlcnRWYXJpYW50cz4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydFwiXG4gICAgICByb2xlPVwiYWxlcnRcIlxuICAgICAgY2xhc3NOYW1lPXtjbihhbGVydFZhcmlhbnRzKHsgdmFyaWFudCB9KSwgY2xhc3NOYW1lKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0VGl0bGUoeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwiZGl2XCI+KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS1zbG90PVwiYWxlcnQtdGl0bGVcIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJmb250LW1lZGl1bSBncm91cC1oYXMtWz5zdmddL2FsZXJ0OmNvbC1zdGFydC0yIFsmX2FdOmhvdmVyOnRleHQtZm9yZWdyb3VuZCBbJl9hXTp1bmRlcmxpbmUgWyZfYV06dW5kZXJsaW5lLW9mZnNldC0zXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydERlc2NyaXB0aW9uKHsgY2xhc3NOYW1lLCAuLi5wcm9wcyB9OiBSZWFjdC5Db21wb25lbnRQcm9wczxcImRpdlwiPikge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGRhdGEtc2xvdD1cImFsZXJ0LWRlc2NyaXB0aW9uXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtc20gdGV4dC1iYWxhbmNlIG1kOnRleHQtcHJldHR5IFsmX3A6bm90KDpsYXN0LWNoaWxkKV06bWItNCBbJl9hXTpob3Zlcjp0ZXh0LWZvcmVncm91bmQgWyZfYV06dW5kZXJsaW5lIFsmX2FdOnVuZGVybGluZS1vZmZzZXQtM1wiLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZnVuY3Rpb24gQWxlcnRBY3Rpb24oeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwiZGl2XCI+KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS1zbG90PVwiYWxlcnQtYWN0aW9uXCJcbiAgICAgIGNsYXNzTmFtZT17Y24oXCJhYnNvbHV0ZSB0b3AtMi41IHJpZ2h0LTNcIiwgY2xhc3NOYW1lKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmV4cG9ydCB7IEFsZXJ0LCBBbGVydFRpdGxlLCBBbGVydERlc2NyaXB0aW9uLCBBbGVydEFjdGlvbiB9XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvZWxlbWVudHMvYWxlcnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFxQixNQUFNLDBCQUEwQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFdkIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUN2Qiw2VEFBNlQsRUFDN1Q7SUFDRSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsOEJBQThCO1lBQ3ZDLFdBQVcsRUFDVCxtR0FBbUc7U0FDdEc7S0FDRjtJQUNELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0NBQ0YsQ0FDRixDQUFBO0FBRUQsU0FBUyxLQUFLLENBQUMsRUFDYixTQUFTLEVBQ1QsT0FBTyxFQUNQLEdBQUcsS0FBSyxFQUN5RDtJQUNqRSxPQUFPLENBQ0wsMkJBQ1ksT0FBTyxFQUNqQixJQUFJLEVBQUMsT0FBTyxFQUNaLFNBQVMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsS0FDaEQsS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBK0I7SUFDdEUsT0FBTyxDQUNMLDJCQUNZLGFBQWEsRUFDdkIsU0FBUyxFQUFFLEVBQUUsQ0FDWCxxSEFBcUgsRUFDckgsU0FBUyxDQUNWLEtBQ0csS0FBSyxHQUNULENBQ0gsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxFQUErQjtJQUM1RSxPQUFPLENBQ0wsMkJBQ1ksbUJBQW1CLEVBQzdCLFNBQVMsRUFBRSxFQUFFLENBQ1gsNEpBQTRKLEVBQzVKLFNBQVMsQ0FDVixLQUNHLEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLEVBQStCO0lBQ3ZFLE9BQU8sQ0FDTCwyQkFDWSxjQUFjLEVBQ3hCLFNBQVMsRUFBRSxFQUFFLENBQUMsMEJBQTBCLEVBQUUsU0FBUyxDQUFDLEtBQ2hELEtBQUssR0FDVCxDQUNILENBQUE7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjdmEsIHR5cGUgVmFyaWFudFByb3BzIH0gZnJvbSBcImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eVwiXG5pbXBvcnQgeyBjbiB9IGZyb20gXCJjblwiXG5cbmNvbnN0IGFsZXJ0VmFyaWFudHMgPSBjdmEoXG4gIFwiZ3JpZCBnYXAtMC41IHJvdW5kZWQtY2FyZCBib3JkZXIgcHgtNCBweS0zIHRleHQtbGVmdCB0ZXh0LXNtIGhhcy1kYXRhLVtzbG90PWFsZXJ0LWFjdGlvbl06cmVsYXRpdmUgaGFzLWRhdGEtW3Nsb3Q9YWxlcnQtYWN0aW9uXTpwci0xOCBoYXMtWz5zdmddOmdyaWQtY29scy1bYXV0b18xZnJdIGhhcy1bPnN2Z106Z2FwLXgtMi41ICo6W3N2Z106cm93LXNwYW4tMiAqOltzdmddOnRyYW5zbGF0ZS15LTAuNSAqOltzdmddOnRleHQtY3VycmVudCAqOltzdmc6bm90KFtjbGFzcyo9J3NpemUtJ10pXTpzaXplLTQgdy1mdWxsIHJlbGF0aXZlIGdyb3VwL2FsZXJ0XCIsXG4gIHtcbiAgICB2YXJpYW50czoge1xuICAgICAgdmFyaWFudDoge1xuICAgICAgICBkZWZhdWx0OiBcImJnLWNhcmQgdGV4dC1jYXJkLWZvcmVncm91bmRcIixcbiAgICAgICAgZGVzdHJ1Y3RpdmU6XG4gICAgICAgICAgXCJ0ZXh0LWRlc3RydWN0aXZlIGJnLWNhcmQgKjpkYXRhLVtzbG90PWFsZXJ0LWRlc2NyaXB0aW9uXTp0ZXh0LWRlc3RydWN0aXZlLzkwICo6W3N2Z106dGV4dC1jdXJyZW50XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdFZhcmlhbnRzOiB7XG4gICAgICB2YXJpYW50OiBcImRlZmF1bHRcIixcbiAgICB9LFxuICB9LFxuKVxuXG5mdW5jdGlvbiBBbGVydCh7XG4gIGNsYXNzTmFtZSxcbiAgdmFyaWFudCxcbiAgLi4ucHJvcHNcbn06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwiZGl2XCI+ICYgVmFyaWFudFByb3BzPHR5cGVvZiBhbGVydFZhcmlhbnRzPikge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGRhdGEtc2xvdD1cImFsZXJ0XCJcbiAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICBjbGFzc05hbWU9e2NuKGFsZXJ0VmFyaWFudHMoeyB2YXJpYW50IH0pLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZnVuY3Rpb24gQWxlcnRUaXRsZSh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJkaXZcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC10aXRsZVwiXG4gICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICBcImZvbnQtbWVkaXVtIGdyb3VwLWhhcy1bPnN2Z10vYWxlcnQ6Y29sLXN0YXJ0LTIgWyZfYV06aG92ZXI6dGV4dC1mb3JlZ3JvdW5kIFsmX2FdOnVuZGVybGluZSBbJl9hXTp1bmRlcmxpbmUtb2Zmc2V0LTNcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgKX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApXG59XG5cbmZ1bmN0aW9uIEFsZXJ0RGVzY3JpcHRpb24oeyBjbGFzc05hbWUsIC4uLnByb3BzIH06IFJlYWN0LkNvbXBvbmVudFByb3BzPFwiZGl2XCI+KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgZGF0YS1zbG90PVwiYWxlcnQtZGVzY3JpcHRpb25cIlxuICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgXCJ0ZXh0LW11dGVkLWZvcmVncm91bmQgdGV4dC1zbSB0ZXh0LWJhbGFuY2UgbWQ6dGV4dC1wcmV0dHkgWyZfcDpub3QoOmxhc3QtY2hpbGQpXTptYi00IFsmX2FdOmhvdmVyOnRleHQtZm9yZWdyb3VuZCBbJl9hXTp1bmRlcmxpbmUgWyZfYV06dW5kZXJsaW5lLW9mZnNldC0zXCIsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICl9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgLz5cbiAgKVxufVxuXG5mdW5jdGlvbiBBbGVydEFjdGlvbih7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogUmVhY3QuQ29tcG9uZW50UHJvcHM8XCJkaXZcIj4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXNsb3Q9XCJhbGVydC1hY3Rpb25cIlxuICAgICAgY2xhc3NOYW1lPXtjbihcImFic29sdXRlIHRvcC0yLjUgcmlnaHQtM1wiLCBjbGFzc05hbWUpfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IHsgQWxlcnQsIEFsZXJ0VGl0bGUsIEFsZXJ0RGVzY3JpcHRpb24sIEFsZXJ0QWN0aW9uIH1cbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  declare function AspectRatio({ ratio, className, ...props }: React.ComponentProps<"div"> & {
2
2
  ratio: number;
3
- }): import("react/jsx-runtime").JSX.Element;
3
+ }): import("react").JSX.Element;
4
4
  export { AspectRatio };
@@ -2,10 +2,10 @@ import * as React from "react";
2
2
  import { Avatar as AvatarPrimitive } from "@base-ui/react/avatar";
3
3
  declare function Avatar({ className, size, ...props }: AvatarPrimitive.Root.Props & {
4
4
  size?: "default" | "sm" | "lg";
5
- }): import("react/jsx-runtime").JSX.Element;
6
- declare function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props): import("react/jsx-runtime").JSX.Element;
7
- declare function AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props): import("react/jsx-runtime").JSX.Element;
8
- declare function AvatarBadge({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
9
- declare function AvatarGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
10
- declare function AvatarGroupCount({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ }): React.JSX.Element;
6
+ declare function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props): React.JSX.Element;
7
+ declare function AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props): React.JSX.Element;
8
+ declare function AvatarBadge({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
9
+ declare function AvatarGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
10
+ declare function AvatarGroupCount({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
11
11
  export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarBadge };
@@ -1,7 +1,7 @@
1
1
  import { useRender } from "@base-ui/react/use-render";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const badgeVariants: (props?: ({
4
- variant?: "default" | "destructive" | "ghost" | "link" | "outline" | "secondary" | null | undefined;
4
+ variant?: "default" | "destructive" | "ghost" | "link" | "outline" | "positive" | "secondary" | "warning" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<"span"> & VariantProps<typeof badgeVariants>): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
7
7
  export { Badge, badgeVariants };