@sanity/ui 3.0.0-static.4 → 3.0.0-static.40

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 (1365) hide show
  1. package/README.md +7 -9
  2. package/dist/_chunks-cjs/_visual-editing.cjs +2250 -0
  3. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -0
  4. package/dist/_chunks-cjs/refractor.cjs +26 -0
  5. package/dist/_chunks-cjs/refractor.cjs.map +1 -0
  6. package/dist/_chunks-es/_visual-editing.js +2261 -0
  7. package/dist/_chunks-es/_visual-editing.js.map +1 -0
  8. package/dist/_chunks-es/refractor.js +25 -0
  9. package/dist/_chunks-es/refractor.js.map +1 -0
  10. package/dist/_visual-editing.cjs +28 -0
  11. package/dist/_visual-editing.cjs.map +1 -0
  12. package/dist/_visual-editing.d.cts +853 -0
  13. package/dist/_visual-editing.d.ts +503 -458
  14. package/dist/_visual-editing.js +27 -30
  15. package/dist/_visual-editing.js.map +1 -1
  16. package/dist/css/index.cjs +957 -0
  17. package/dist/css/index.cjs.map +1 -0
  18. package/dist/css/index.css +1 -0
  19. package/dist/css/index.d.cts +1352 -0
  20. package/dist/css/index.d.ts +1352 -0
  21. package/dist/css/index.js +959 -0
  22. package/dist/css/index.js.map +1 -0
  23. package/dist/index.cjs +2348 -0
  24. package/dist/index.cjs.map +1 -0
  25. package/dist/index.d.cts +2512 -0
  26. package/dist/index.d.ts +1320 -1677
  27. package/dist/index.js +1576 -766
  28. package/dist/index.js.map +1 -1
  29. package/dist/theme.cjs +870 -0
  30. package/dist/theme.cjs.map +1 -0
  31. package/dist/theme.d.cts +499 -0
  32. package/dist/theme.d.ts +301 -1643
  33. package/dist/theme.js +487 -2555
  34. package/dist/theme.js.map +1 -1
  35. package/exports/_visual-editing.ts +24 -27
  36. package/exports/index.ts +1 -1
  37. package/package.json +79 -92
  38. package/src/core/Root.tsx +88 -0
  39. package/src/core/RootProvider.tsx +40 -0
  40. package/src/core/__workshop__/boundary.tsx +28 -0
  41. package/src/core/__workshop__/index.ts +16 -0
  42. package/src/core/components/autocomplete/__workshop__/async.tsx +156 -0
  43. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +131 -0
  44. package/src/core/components/autocomplete/__workshop__/custom.tsx +91 -0
  45. package/src/core/components/autocomplete/__workshop__/example.tsx +80 -0
  46. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +36 -0
  47. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +292 -0
  48. package/src/core/components/autocomplete/__workshop__/index.ts +41 -0
  49. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +49 -0
  50. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +245 -0
  51. package/src/core/components/autocomplete/autocomplete.tsx +690 -0
  52. package/src/core/components/autocomplete/autocompleteOption.tsx +45 -0
  53. package/src/core/components/autocomplete/autocompleteReducer.ts +47 -0
  54. package/src/core/components/autocomplete/constants.ts +28 -0
  55. package/src/core/components/autocomplete/types.ts +103 -0
  56. package/src/core/components/breadcrumbs/__workshop__/example.tsx +61 -0
  57. package/src/core/components/breadcrumbs/__workshop__/index.ts +16 -0
  58. package/src/core/components/breadcrumbs/breadcrumbs.tsx +131 -0
  59. package/src/core/components/dialog/__workshop__/activate.tsx +141 -0
  60. package/src/core/components/dialog/__workshop__/autoFocus.tsx +29 -0
  61. package/src/core/components/dialog/__workshop__/index.ts +21 -0
  62. package/src/core/components/dialog/__workshop__/layering.tsx +41 -0
  63. package/src/core/components/dialog/__workshop__/nested.tsx +71 -0
  64. package/src/core/components/dialog/__workshop__/onScroll.tsx +51 -0
  65. package/src/core/components/dialog/__workshop__/panes.tsx +89 -0
  66. package/src/core/components/dialog/__workshop__/position.tsx +30 -0
  67. package/src/core/components/dialog/__workshop__/props.tsx +77 -0
  68. package/src/core/components/dialog/__workshop__/provider.tsx +11 -0
  69. package/src/core/components/dialog/__workshop__/wrapped.tsx +76 -0
  70. package/src/core/components/dialog/dialog.tsx +232 -0
  71. package/src/core/components/dialog/dialogCard.tsx +233 -0
  72. package/src/core/components/dialog/dialogContext.ts +21 -0
  73. package/src/core/components/dialog/dialogProvider.tsx +34 -0
  74. package/src/core/components/dialog/isTargetWithinScope.ts +14 -0
  75. package/src/core/components/dialog/types.ts +2 -0
  76. package/src/core/components/dialog/useDialog.ts +11 -0
  77. package/src/core/components/hotkeys/__workshop__/index.ts +16 -0
  78. package/src/core/components/hotkeys/__workshop__/plain.tsx +9 -0
  79. package/src/core/components/hotkeys/hotkeys.tsx +60 -0
  80. package/src/core/components/menu/__workshop__/asComponent.tsx +45 -0
  81. package/src/core/components/menu/__workshop__/avatarMenu.tsx +57 -0
  82. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +47 -0
  83. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +133 -0
  84. package/src/core/components/menu/__workshop__/customMenuItem.tsx +45 -0
  85. package/src/core/components/menu/__workshop__/customSelectedState.tsx +35 -0
  86. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +40 -0
  87. package/src/core/components/menu/__workshop__/groups.tsx +156 -0
  88. package/src/core/components/menu/__workshop__/index.ts +91 -0
  89. package/src/core/components/menu/__workshop__/menuButton.tsx +80 -0
  90. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +65 -0
  91. package/src/core/components/menu/__workshop__/nestedMenu.tsx +22 -0
  92. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +50 -0
  93. package/src/core/components/menu/__workshop__/selectedItem.tsx +69 -0
  94. package/src/core/components/menu/__workshop__/shouldFocus.tsx +42 -0
  95. package/src/core/components/menu/__workshop__/tones.tsx +25 -0
  96. package/src/core/components/menu/__workshop__/withoutArrow.tsx +32 -0
  97. package/src/core/components/menu/helpers.ts +82 -0
  98. package/src/core/components/menu/menu.test.tsx +129 -0
  99. package/src/core/components/menu/menu.tsx +179 -0
  100. package/src/core/components/menu/menuButton.tsx +225 -0
  101. package/src/core/components/menu/menuContext.ts +19 -0
  102. package/src/core/components/menu/menuDivider.tsx +32 -0
  103. package/src/core/components/menu/menuGroup.tsx +233 -0
  104. package/src/core/components/menu/menuItem.tsx +183 -0
  105. package/src/core/components/menu/useMenu.ts +21 -0
  106. package/src/core/components/menu/useMenuController.ts +241 -0
  107. package/src/core/components/tab/__workshop__/example.tsx +79 -0
  108. package/src/core/components/tab/__workshop__/index.ts +16 -0
  109. package/src/core/components/tab/tab.tsx +109 -0
  110. package/src/core/components/tab/tabList.tsx +90 -0
  111. package/src/core/components/tab/tabPanel.tsx +47 -0
  112. package/src/core/components/toast/__workshop__/hook.tsx +71 -0
  113. package/src/core/components/toast/__workshop__/index.ts +21 -0
  114. package/src/core/components/toast/__workshop__/toast.tsx +26 -0
  115. package/src/core/components/toast/toast.test.tsx +103 -0
  116. package/src/core/components/toast/toast.tsx +189 -0
  117. package/src/core/components/toast/toastContext.ts +7 -0
  118. package/src/core/components/toast/toastLayer.tsx +54 -0
  119. package/src/core/components/toast/toastProvider.tsx +112 -0
  120. package/src/core/components/toast/types.ts +24 -0
  121. package/src/core/components/toast/useToast.ts +23 -0
  122. package/src/core/components/tree/__workshop__/basic.perf.ts +19 -0
  123. package/src/core/components/tree/__workshop__/basic.tsx +105 -0
  124. package/src/core/components/tree/__workshop__/index.ts +23 -0
  125. package/src/core/components/tree/__workshop__/tabFromElement.tsx +84 -0
  126. package/src/core/components/tree/helpers.ts +105 -0
  127. package/src/core/components/tree/tree.tsx +248 -0
  128. package/src/core/components/tree/treeContext.ts +10 -0
  129. package/src/core/components/tree/treeGroup.tsx +46 -0
  130. package/src/core/components/tree/treeItem.tsx +237 -0
  131. package/src/core/components/tree/types.ts +24 -0
  132. package/src/core/components/tree/useTree.ts +17 -0
  133. package/src/core/components/virtualList/__workshop__/changingProps.tsx +36 -0
  134. package/src/core/components/virtualList/__workshop__/elementScroll.tsx +24 -0
  135. package/src/core/components/virtualList/__workshop__/index.ts +31 -0
  136. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +48 -0
  137. package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +22 -0
  138. package/src/core/components/virtualList/virtualList.tsx +209 -0
  139. package/src/core/constants.ts +67 -0
  140. package/src/core/helpers/focus.ts +92 -0
  141. package/src/core/helpers/props.ts +28 -0
  142. package/src/core/hooks/useClickOutsideEvent.test.tsx +114 -0
  143. package/src/core/hooks/useClickOutsideEvent.ts +67 -0
  144. package/src/core/hooks/useDelayed.test.ts +67 -0
  145. package/src/core/hooks/useDelayedState.ts +28 -0
  146. package/src/core/hooks/useElementSize.ts +19 -0
  147. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +16 -0
  148. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +14 -0
  149. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +21 -0
  150. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +107 -0
  151. package/src/core/hooks/usePrefersDark.hydration.test.tsx +56 -0
  152. package/src/core/hooks/usePrefersDark.test.tsx +20 -0
  153. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +56 -0
  154. package/src/core/hooks/usePrefersReducedMotion.test.tsx +20 -0
  155. package/src/core/hooks/useResponsiveProp.ts +28 -0
  156. package/src/core/index.ts +115 -0
  157. package/src/core/lib/createGlobalScopedContext.ts +37 -0
  158. package/src/core/lib/globalScope.ts +19 -0
  159. package/src/core/lib/isArray.ts +3 -0
  160. package/src/core/middleware/origin.ts +47 -0
  161. package/src/core/observers/elementSize.ts +116 -0
  162. package/src/core/primitives/arrow/arrow.tsx +74 -0
  163. package/src/core/primitives/avatar/__workshop__/asButton.tsx +14 -0
  164. package/src/core/primitives/avatar/__workshop__/index.ts +31 -0
  165. package/src/core/primitives/avatar/__workshop__/stack.tsx +25 -0
  166. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +55 -0
  167. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +72 -0
  168. package/src/core/primitives/avatar/avatar.tsx +147 -0
  169. package/src/core/primitives/avatar/avatarCounter.tsx +69 -0
  170. package/src/core/primitives/avatar/avatarStack.tsx +79 -0
  171. package/src/core/primitives/avatar/types.ts +2 -0
  172. package/src/core/primitives/badge/__workshop__/index.ts +21 -0
  173. package/src/core/primitives/badge/__workshop__/props.tsx +19 -0
  174. package/src/core/primitives/badge/__workshop__/tones.tsx +16 -0
  175. package/src/core/primitives/badge/badge.test.tsx +16 -0
  176. package/src/core/primitives/badge/badge.tsx +61 -0
  177. package/src/core/primitives/box/__workshop__/index.ts +21 -0
  178. package/src/core/primitives/box/__workshop__/props.tsx +20 -0
  179. package/src/core/primitives/box/__workshop__/responsive.tsx +20 -0
  180. package/src/core/primitives/box/box.tsx +215 -0
  181. package/src/core/primitives/button/__workshop__/custom.tsx +27 -0
  182. package/src/core/primitives/button/__workshop__/customIcons.tsx +30 -0
  183. package/src/core/primitives/button/__workshop__/disabled.tsx +54 -0
  184. package/src/core/primitives/button/__workshop__/index.ts +66 -0
  185. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +12 -0
  186. package/src/core/primitives/button/__workshop__/props.tsx +55 -0
  187. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +36 -0
  188. package/src/core/primitives/button/__workshop__/stacked.tsx +58 -0
  189. package/src/core/primitives/button/__workshop__/styled1.tsx +17 -0
  190. package/src/core/primitives/button/__workshop__/styled2.tsx +19 -0
  191. package/src/core/primitives/button/__workshop__/textOverflow.tsx +13 -0
  192. package/src/core/primitives/button/__workshop__/uploadButton.tsx +29 -0
  193. package/src/core/primitives/button/button.test.tsx +30 -0
  194. package/src/core/primitives/button/button.tsx +193 -0
  195. package/src/core/primitives/button/types.ts +2 -0
  196. package/src/core/primitives/card/__workshop__/asButton.tsx +107 -0
  197. package/src/core/primitives/card/__workshop__/asComponent.tsx +27 -0
  198. package/src/core/primitives/card/__workshop__/checkered.tsx +26 -0
  199. package/src/core/primitives/card/__workshop__/index.ts +20 -0
  200. package/src/core/primitives/card/__workshop__/interactive.tsx +29 -0
  201. package/src/core/primitives/card/__workshop__/listNavigation.tsx +78 -0
  202. package/src/core/primitives/card/__workshop__/props.tsx +52 -0
  203. package/src/core/primitives/card/__workshop__/selected.tsx +62 -0
  204. package/src/core/primitives/card/__workshop__/styled.tsx +14 -0
  205. package/src/core/primitives/card/__workshop__/tones.tsx +27 -0
  206. package/src/core/primitives/card/card.tsx +109 -0
  207. package/src/core/primitives/card/cardContext.ts +10 -0
  208. package/src/core/primitives/card/cardProvider.tsx +27 -0
  209. package/src/core/primitives/card/types.ts +17 -0
  210. package/src/core/primitives/card/useCard.ts +15 -0
  211. package/src/core/primitives/checkbox/__workshop__/example.tsx +25 -0
  212. package/src/core/primitives/checkbox/__workshop__/index.ts +15 -0
  213. package/src/core/primitives/checkbox/__workshop__/props.tsx +35 -0
  214. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +16 -0
  215. package/src/core/primitives/checkbox/__workshop__/tones.tsx +27 -0
  216. package/src/core/primitives/checkbox/checkbox.tsx +80 -0
  217. package/src/core/primitives/code/__workshop__/index.ts +21 -0
  218. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +23 -0
  219. package/src/core/primitives/code/__workshop__/props.tsx +18 -0
  220. package/src/core/primitives/code/code.tsx +48 -0
  221. package/src/core/primitives/code/refractor.tsx +18 -0
  222. package/src/core/primitives/container/__workshop__/example.tsx +20 -0
  223. package/src/core/primitives/container/__workshop__/index.ts +10 -0
  224. package/src/core/primitives/container/container.tsx +37 -0
  225. package/src/core/primitives/flex/__workshop__/example.tsx +34 -0
  226. package/src/core/primitives/flex/__workshop__/gap.tsx +25 -0
  227. package/src/core/primitives/flex/__workshop__/index.ts +13 -0
  228. package/src/core/primitives/flex/flex.tsx +58 -0
  229. package/src/core/primitives/grid/__workshop__/index.ts +12 -0
  230. package/src/core/primitives/grid/__workshop__/responsive.tsx +54 -0
  231. package/src/core/primitives/grid/grid.tsx +35 -0
  232. package/src/core/primitives/heading/__workshop__/index.ts +21 -0
  233. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +54 -0
  234. package/src/core/primitives/heading/__workshop__/plain.tsx +29 -0
  235. package/src/core/primitives/heading/heading.tsx +78 -0
  236. package/src/core/primitives/inline/__workshop__/index.ts +10 -0
  237. package/src/core/primitives/inline/__workshop__/plain.tsx +24 -0
  238. package/src/core/primitives/inline/inline.tsx +62 -0
  239. package/src/core/primitives/kbd/__workshop__/index.ts +10 -0
  240. package/src/core/primitives/kbd/__workshop__/plain.tsx +9 -0
  241. package/src/core/primitives/kbd/kbd.tsx +57 -0
  242. package/src/core/primitives/label/__workshop__/index.ts +21 -0
  243. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +54 -0
  244. package/src/core/primitives/label/__workshop__/plain.tsx +28 -0
  245. package/src/core/primitives/label/label.tsx +75 -0
  246. package/src/core/primitives/layer/__workshop__/_debug.tsx +17 -0
  247. package/src/core/primitives/layer/__workshop__/index.ts +26 -0
  248. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +49 -0
  249. package/src/core/primitives/layer/__workshop__/nested.tsx +98 -0
  250. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +17 -0
  251. package/src/core/primitives/layer/getLayerContext.test.ts +32 -0
  252. package/src/core/primitives/layer/getLayerContext.ts +21 -0
  253. package/src/core/primitives/layer/layer.test.tsx +110 -0
  254. package/src/core/primitives/layer/layer.tsx +42 -0
  255. package/src/core/primitives/layer/layerCard.tsx +90 -0
  256. package/src/core/primitives/layer/layerContext.ts +7 -0
  257. package/src/core/primitives/layer/layerProvider.tsx +106 -0
  258. package/src/core/primitives/layer/useLayer.ts +24 -0
  259. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +77 -0
  260. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +31 -0
  261. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +32 -0
  262. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +11 -0
  263. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +71 -0
  264. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +69 -0
  265. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +96 -0
  266. package/src/core/primitives/popover/__workshop__/TestStory.tsx +100 -0
  267. package/src/core/primitives/popover/__workshop__/index.ts +51 -0
  268. package/src/core/primitives/popover/constants.ts +22 -0
  269. package/src/core/primitives/popover/floating-ui/size.ts +83 -0
  270. package/src/core/primitives/popover/helpers.ts +32 -0
  271. package/src/core/primitives/popover/popover.tsx +442 -0
  272. package/src/core/primitives/popover/popoverLayer.tsx +149 -0
  273. package/src/core/primitives/popover/types.ts +12 -0
  274. package/src/core/primitives/radio/__workshop__/example.tsx +63 -0
  275. package/src/core/primitives/radio/__workshop__/index.ts +13 -0
  276. package/src/core/primitives/radio/__workshop__/plain.tsx +28 -0
  277. package/src/core/primitives/radio/radio.tsx +64 -0
  278. package/src/core/primitives/select/__workshop__/index.ts +13 -0
  279. package/src/core/primitives/select/__workshop__/plain.tsx +39 -0
  280. package/src/core/primitives/select/__workshop__/readOnly.tsx +23 -0
  281. package/src/core/primitives/select/select.tsx +75 -0
  282. package/src/core/primitives/selectable/selectable.tsx +50 -0
  283. package/src/core/primitives/skeleton/__workshop__/delay.tsx +70 -0
  284. package/src/core/primitives/skeleton/__workshop__/index.ts +13 -0
  285. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +64 -0
  286. package/src/core/primitives/skeleton/codeSkeleton.tsx +49 -0
  287. package/src/core/primitives/skeleton/headingSkeleton.tsx +48 -0
  288. package/src/core/primitives/skeleton/labelSkeleton.tsx +47 -0
  289. package/src/core/primitives/skeleton/skeleton.tsx +71 -0
  290. package/src/core/primitives/skeleton/textSkeleton.tsx +49 -0
  291. package/src/core/primitives/spinner/__workshop__/Props.tsx +15 -0
  292. package/src/core/primitives/spinner/__workshop__/index.ts +16 -0
  293. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +14 -0
  294. package/src/core/primitives/spinner/spinner.tsx +45 -0
  295. package/src/core/primitives/srOnly/srOnly.tsx +33 -0
  296. package/src/core/primitives/stack/__workshop__/index.ts +16 -0
  297. package/src/core/primitives/stack/__workshop__/plain.tsx +32 -0
  298. package/src/core/primitives/stack/stack.tsx +60 -0
  299. package/src/core/primitives/switch/__workshop__/example.tsx +23 -0
  300. package/src/core/primitives/switch/__workshop__/index.ts +13 -0
  301. package/src/core/primitives/switch/__workshop__/props.tsx +21 -0
  302. package/src/core/primitives/switch/switch.tsx +84 -0
  303. package/src/core/primitives/text/__workshop__/colored.tsx +23 -0
  304. package/src/core/primitives/text/__workshop__/example.tsx +28 -0
  305. package/src/core/primitives/text/__workshop__/index.ts +26 -0
  306. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +23 -0
  307. package/src/core/primitives/text/text.tsx +74 -0
  308. package/src/core/primitives/textArea/__workshop__/index.ts +16 -0
  309. package/src/core/primitives/textArea/__workshop__/plain.tsx +61 -0
  310. package/src/core/primitives/textArea/textArea.tsx +84 -0
  311. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +30 -0
  312. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +17 -0
  313. package/src/core/primitives/textInput/__workshop__/index.ts +46 -0
  314. package/src/core/primitives/textInput/__workshop__/plain.tsx +110 -0
  315. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +9 -0
  316. package/src/core/primitives/textInput/__workshop__/states.tsx +53 -0
  317. package/src/core/primitives/textInput/__workshop__/tones.tsx +277 -0
  318. package/src/core/primitives/textInput/__workshop__/typed.tsx +23 -0
  319. package/src/core/primitives/textInput/textInput.tsx +258 -0
  320. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +102 -0
  321. package/src/core/primitives/tooltip/__workshop__/index.ts +31 -0
  322. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +74 -0
  323. package/src/core/primitives/tooltip/__workshop__/props.tsx +112 -0
  324. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +86 -0
  325. package/src/core/primitives/tooltip/constants.ts +23 -0
  326. package/src/core/primitives/tooltip/tooltip.test.tsx +452 -0
  327. package/src/core/primitives/tooltip/tooltip.tsx +482 -0
  328. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +13 -0
  329. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +55 -0
  330. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +13 -0
  331. package/src/core/primitives/tooltip/tooltipLayer.tsx +106 -0
  332. package/src/core/types.ts +56 -0
  333. package/src/core/utils/boundaryElement/__workshop__/index.ts +16 -0
  334. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +19 -0
  335. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +102 -0
  336. package/src/core/utils/boundaryElement/boundaryElementContext.ts +10 -0
  337. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +18 -0
  338. package/src/core/utils/boundaryElement/types.ts +5 -0
  339. package/src/core/utils/boundaryElement/useBoundaryElement.ts +24 -0
  340. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +41 -0
  341. package/src/core/utils/elementQuery/__workshop__/index.ts +16 -0
  342. package/src/core/utils/elementQuery/elementQuery.tsx +75 -0
  343. package/src/core/utils/errorBoundary.tsx +50 -0
  344. package/src/core/utils/getElementRef.ts +29 -0
  345. package/src/core/utils/portal/__workshop__/index.ts +16 -0
  346. package/src/core/utils/portal/__workshop__/named.tsx +63 -0
  347. package/src/core/utils/portal/portal.test.tsx +105 -0
  348. package/src/core/utils/portal/portal.tsx +36 -0
  349. package/src/core/utils/portal/portalContext.ts +37 -0
  350. package/src/core/utils/portal/portalProvider.tsx +69 -0
  351. package/src/core/utils/portal/types.ts +7 -0
  352. package/src/core/utils/portal/usePortal.ts +23 -0
  353. package/src/css/_assign.ts +3 -0
  354. package/src/css/_composeClassNames.ts +12 -0
  355. package/src/css/_fromEntries.ts +3 -0
  356. package/src/css/_getClassNames.ts +9 -0
  357. package/src/css/_responsiveClassName.ts +45 -0
  358. package/src/css/_responsiveStyle.css.ts +34 -0
  359. package/src/css/_style.css.ts +9 -0
  360. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +6 -0
  361. package/src/css/components/breadcrumbs/breadcrumbs.ts +5 -3
  362. package/src/css/components/dialog/dialog.css.ts +98 -0
  363. package/src/css/components/dialog/dialog.ts +42 -14
  364. package/src/css/components/menu/menu.css.ts +14 -0
  365. package/src/css/components/menu/menu.ts +8 -5
  366. package/src/css/components/skeleton/skeleton.css.ts +128 -0
  367. package/src/css/components/skeleton/skeleton.ts +16 -9
  368. package/src/css/components/skeleton/types.ts +16 -6
  369. package/src/css/components/toast/toast.css.ts +17 -0
  370. package/src/css/components/toast/toast.ts +7 -17
  371. package/src/css/components/tree/tree.css.ts +65 -0
  372. package/src/css/components/tree/tree.ts +5 -3
  373. package/src/css/constants.ts +10 -1
  374. package/src/css/index.ts +142 -40
  375. package/src/css/layers.css.ts +12 -0
  376. package/src/css/primitives/_arrow/_arrow.css.ts +68 -0
  377. package/src/css/primitives/_arrow/_arrow.ts +16 -4
  378. package/src/css/primitives/_input/_input.css.ts +261 -0
  379. package/src/css/primitives/_input/input.ts +16 -12
  380. package/src/css/primitives/_input/types.ts +4 -3
  381. package/src/css/primitives/avatar/avatar.css.ts +198 -0
  382. package/src/css/primitives/avatar/avatar.ts +52 -11
  383. package/src/css/primitives/avatar/types.ts +5 -3
  384. package/src/css/primitives/badge/badge.css.ts +27 -0
  385. package/src/css/primitives/badge/badge.ts +4 -4
  386. package/src/css/primitives/badge/types.ts +9 -4
  387. package/src/css/primitives/box/box.css.ts +19 -0
  388. package/src/css/primitives/box/box.ts +63 -34
  389. package/src/css/primitives/box/types.ts +56 -30
  390. package/src/css/primitives/button/button.css.ts +287 -0
  391. package/src/css/primitives/button/button.ts +18 -33
  392. package/src/css/primitives/button/types.ts +12 -0
  393. package/src/css/primitives/card/__workshop__/color.tsx +75 -0
  394. package/src/css/primitives/card/__workshop__/index.ts +16 -0
  395. package/src/css/primitives/card/card.css.ts +387 -0
  396. package/src/css/primitives/card/card.ts +9 -10
  397. package/src/css/primitives/card/types.ts +6 -8
  398. package/src/css/primitives/checkbox/checkbox.css.ts +193 -0
  399. package/src/css/primitives/checkbox/checkbox.ts +13 -5
  400. package/src/css/primitives/code/code.css.ts +272 -0
  401. package/src/css/primitives/code/code.ts +15 -5
  402. package/src/css/primitives/code/types.ts +7 -6
  403. package/src/css/primitives/container/container.css.ts +4 -0
  404. package/src/css/primitives/container/container.ts +14 -4
  405. package/src/css/primitives/container/types.ts +4 -2
  406. package/src/css/primitives/heading/heading.css.ts +86 -0
  407. package/src/css/primitives/heading/heading.ts +16 -11
  408. package/src/css/primitives/heading/types.ts +9 -7
  409. package/src/css/primitives/kbd/kbd.css.ts +16 -0
  410. package/src/css/primitives/kbd/kbd.ts +6 -4
  411. package/src/css/primitives/kbd/types.ts +2 -3
  412. package/src/css/primitives/label/label.css.ts +87 -0
  413. package/src/css/primitives/label/label.ts +16 -10
  414. package/src/css/primitives/label/types.ts +9 -7
  415. package/src/css/primitives/popover/popover.css.ts +6 -0
  416. package/src/css/primitives/popover/popover.ts +10 -3
  417. package/src/css/primitives/radio/radio.css.ts +78 -0
  418. package/src/css/primitives/radio/radio.ts +15 -3
  419. package/src/css/primitives/root/root.css.ts +19 -0
  420. package/src/css/primitives/root/root.ts +17 -0
  421. package/src/css/primitives/root/types.ts +10 -0
  422. package/src/css/primitives/select/select.css.ts +24 -0
  423. package/src/css/primitives/select/select.ts +8 -6
  424. package/src/css/primitives/select/types.ts +1 -1
  425. package/src/css/primitives/selectable/selectable.css.ts +131 -0
  426. package/src/css/primitives/selectable/selectable.ts +9 -0
  427. package/src/css/primitives/selectable/types.ts +9 -0
  428. package/src/css/primitives/spinner/spinner.css.ts +19 -0
  429. package/src/css/primitives/spinner/spinner.ts +9 -5
  430. package/src/css/primitives/spinner/types.ts +4 -0
  431. package/src/css/primitives/srOnly/srOnly.css.ts +10 -0
  432. package/src/css/primitives/srOnly/srOnly.ts +7 -0
  433. package/src/css/primitives/stack/stack.css.ts +6 -0
  434. package/src/css/primitives/stack/stack.ts +7 -0
  435. package/src/css/primitives/switch/switch.css.ts +98 -0
  436. package/src/css/primitives/switch/switch.ts +13 -7
  437. package/src/css/primitives/text/text.css.ts +86 -0
  438. package/src/css/primitives/text/text.ts +18 -11
  439. package/src/css/primitives/text/types.ts +12 -5
  440. package/src/css/primitives/textArea/textArea.css.ts +4 -0
  441. package/src/css/primitives/textArea/textArea.ts +6 -5
  442. package/src/css/primitives/textArea/types.ts +5 -3
  443. package/src/css/primitives/textInput/textInput.css.ts +41 -0
  444. package/src/css/primitives/textInput/textInput.ts +21 -5
  445. package/src/css/primitives/textInput/types.ts +3 -7
  446. package/src/css/primitives/tooltip/tooltip.css.ts +4 -0
  447. package/src/css/primitives/tooltip/tooltip.ts +6 -7
  448. package/src/css/primitives/tooltip/types.ts +4 -0
  449. package/src/css/props/alignItems/alignItems.css.ts +22 -0
  450. package/src/css/props/alignItems/alignItems.ts +8 -0
  451. package/src/css/props/alignItems/types.ts +9 -0
  452. package/src/css/props/border/border.css.ts +65 -0
  453. package/src/css/props/border/border.ts +21 -0
  454. package/src/css/props/border/types.ts +13 -0
  455. package/src/css/props/boxSizing/boxSizing.css.ts +12 -0
  456. package/src/css/props/boxSizing/boxSizing.ts +7 -0
  457. package/src/css/props/boxSizing/types.ts +7 -0
  458. package/src/css/props/display/display.css.ts +56 -0
  459. package/src/css/props/display/display.ts +8 -0
  460. package/src/css/props/display/types.ts +16 -0
  461. package/src/css/props/flex/flex.css.ts +52 -0
  462. package/src/css/props/flex/flex.ts +8 -0
  463. package/src/css/props/flex/types.ts +9 -0
  464. package/src/css/props/flexDirection/flexDirection.css.ts +19 -0
  465. package/src/css/props/flexDirection/flexDirection.ts +8 -0
  466. package/src/css/props/flexDirection/types.ts +9 -0
  467. package/src/css/props/flexWrap/flexWrap.css.ts +16 -0
  468. package/src/css/props/flexWrap/flexWrap.ts +8 -0
  469. package/src/css/props/flexWrap/types.ts +9 -0
  470. package/src/css/props/font/font.css.ts +94 -0
  471. package/src/css/props/font/font.ts +8 -0
  472. package/src/css/props/font/types.ts +6 -0
  473. package/src/css/props/gap/gap.css.ts +40 -0
  474. package/src/css/props/gap/gap.ts +13 -0
  475. package/src/css/props/gap/types.ts +10 -0
  476. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +19 -0
  477. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +8 -0
  478. package/src/css/props/gridAutoColumns/types.ts +9 -0
  479. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +19 -0
  480. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +8 -0
  481. package/src/css/props/gridAutoFlow/types.ts +9 -0
  482. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +19 -0
  483. package/src/css/props/gridAutoRows/gridAutoRows.ts +8 -0
  484. package/src/css/props/gridAutoRows/types.ts +9 -0
  485. package/src/css/props/gridColumn/gridColumn.css.ts +49 -0
  486. package/src/css/props/gridColumn/gridColumn.ts +8 -0
  487. package/src/css/props/gridColumn/types.ts +9 -0
  488. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +46 -0
  489. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +8 -0
  490. package/src/css/props/gridColumnEnd/types.ts +9 -0
  491. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +46 -0
  492. package/src/css/props/gridColumnStart/gridColumnStart.ts +8 -0
  493. package/src/css/props/gridColumnStart/types.ts +9 -0
  494. package/src/css/props/gridRow/gridRow.css.ts +49 -0
  495. package/src/css/props/gridRow/gridRow.ts +8 -0
  496. package/src/css/props/gridRow/types.ts +9 -0
  497. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +46 -0
  498. package/src/css/props/gridRowEnd/gridRowEnd.ts +8 -0
  499. package/src/css/props/gridRowEnd/types.ts +9 -0
  500. package/src/css/props/gridRowStart/gridRowStart.css.ts +46 -0
  501. package/src/css/props/gridRowStart/gridRowStart.ts +8 -0
  502. package/src/css/props/gridRowStart/types.ts +9 -0
  503. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +43 -0
  504. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +8 -0
  505. package/src/css/props/gridTemplateColumns/types.ts +9 -0
  506. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +43 -0
  507. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +8 -0
  508. package/src/css/props/gridTemplateRows/types.ts +9 -0
  509. package/src/css/props/height/height.css.ts +25 -0
  510. package/src/css/props/height/height.ts +8 -0
  511. package/src/css/props/height/types.ts +9 -0
  512. package/src/css/props/inset/inset.css.ts +37 -0
  513. package/src/css/props/inset/inset.ts +21 -0
  514. package/src/css/props/inset/types.ts +13 -0
  515. package/src/css/props/justifyContent/justifyContent.css.ts +25 -0
  516. package/src/css/props/justifyContent/justifyContent.ts +8 -0
  517. package/src/css/props/justifyContent/types.ts +15 -0
  518. package/src/css/props/margin/margin.css.ts +117 -0
  519. package/src/css/props/margin/margin.ts +25 -0
  520. package/src/css/props/margin/types.ts +17 -0
  521. package/src/css/props/maxWidth/maxWidth.css.ts +32 -0
  522. package/src/css/props/maxWidth/maxWidth.ts +8 -0
  523. package/src/css/props/maxWidth/types.ts +11 -0
  524. package/src/css/props/minHeight/minHeight.css.ts +13 -0
  525. package/src/css/props/minHeight/minHeight.ts +8 -0
  526. package/src/css/props/minHeight/types.ts +9 -0
  527. package/src/css/props/minWidth/minWidth.css.ts +25 -0
  528. package/src/css/props/minWidth/minWidth.ts +8 -0
  529. package/src/css/props/minWidth/types.ts +9 -0
  530. package/src/css/props/outline/outline.css.ts +10 -0
  531. package/src/css/props/outline/outline.ts +8 -0
  532. package/src/css/props/outline/types.ts +7 -0
  533. package/src/css/props/overflow/overflow.css.ts +16 -0
  534. package/src/css/props/overflow/overflow.ts +8 -0
  535. package/src/css/props/overflow/types.ts +11 -0
  536. package/src/css/props/padding/padding.css.ts +87 -0
  537. package/src/css/props/padding/padding.ts +25 -0
  538. package/src/css/props/padding/types.ts +17 -0
  539. package/src/css/props/pointerEvents/pointerEvents.css.ts +13 -0
  540. package/src/css/props/pointerEvents/pointerEvents.ts +8 -0
  541. package/src/css/props/position/position.css.ts +22 -0
  542. package/src/css/props/position/position.ts +8 -0
  543. package/src/css/props/position/types.ts +9 -0
  544. package/src/css/props/radius/radius.css.ts +21 -0
  545. package/src/css/props/radius/radius.ts +8 -0
  546. package/src/css/props/radius/types.ts +8 -0
  547. package/src/css/props/shadow/shadow.css.ts +23 -0
  548. package/src/css/props/shadow/shadow.ts +8 -0
  549. package/src/css/props/shadow/types.ts +8 -0
  550. package/src/css/props/textAlign/textAlign.css.ts +22 -0
  551. package/src/css/props/textAlign/textAlign.ts +8 -0
  552. package/src/css/props/textAlign/types.ts +7 -0
  553. package/src/css/props/textOverflow/textOverflow.css.ts +19 -0
  554. package/src/css/props/textOverflow/textOverflow.ts +8 -0
  555. package/src/css/props/textOverflow/types.ts +12 -0
  556. package/src/css/props/width/types.ts +11 -0
  557. package/src/css/props/width/width.css.ts +31 -0
  558. package/src/css/props/width/width.ts +8 -0
  559. package/src/css/theme/buildCSSTheme.ts +485 -0
  560. package/src/css/theme/defaultTheme.css.ts +64 -0
  561. package/src/css/types.ts +349 -766
  562. package/src/css/vars.css.ts +673 -0
  563. package/src/theme/_parseColorToken.ts +180 -0
  564. package/src/theme/buildTheme.ts +32 -0
  565. package/src/theme/constants.ts +90 -0
  566. package/src/theme/defaults/color.ts +197 -0
  567. package/src/theme/defaults/common.ts +71 -0
  568. package/src/theme/defaults/fonts.ts +38 -16
  569. package/src/theme/index.ts +4 -10
  570. package/src/theme/merge.ts +24 -0
  571. package/src/theme/resolveTokens.ts +204 -0
  572. package/src/theme/types.ts +355 -21
  573. package/bin/ui.js +0 -5
  574. package/dist/_chunks-cjs/_visual-editing.js +0 -3088
  575. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  576. package/dist/_chunks-cjs/buildCommand.js +0 -32
  577. package/dist/_chunks-cjs/buildCommand.js.map +0 -1
  578. package/dist/_chunks-cjs/refractor.js +0 -27
  579. package/dist/_chunks-cjs/refractor.js.map +0 -1
  580. package/dist/_chunks-cjs/v3_v2.js +0 -251
  581. package/dist/_chunks-cjs/v3_v2.js.map +0 -1
  582. package/dist/_chunks-es/_visual-editing.mjs +0 -3095
  583. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  584. package/dist/_chunks-es/refractor.mjs +0 -26
  585. package/dist/_chunks-es/refractor.mjs.map +0 -1
  586. package/dist/_chunks-es/v3_v2.mjs +0 -252
  587. package/dist/_chunks-es/v3_v2.mjs.map +0 -1
  588. package/dist/_visual-editing.d.mts +0 -808
  589. package/dist/_visual-editing.mjs +0 -31
  590. package/dist/_visual-editing.mjs.map +0 -1
  591. package/dist/cli.d.ts +0 -1
  592. package/dist/cli.js +0 -357
  593. package/dist/cli.js.map +0 -1
  594. package/dist/css.d.mts +0 -2157
  595. package/dist/css.d.ts +0 -2157
  596. package/dist/css.js +0 -4746
  597. package/dist/css.js.map +0 -1
  598. package/dist/css.mjs +0 -4748
  599. package/dist/css.mjs.map +0 -1
  600. package/dist/index.d.mts +0 -2869
  601. package/dist/index.mjs +0 -1543
  602. package/dist/index.mjs.map +0 -1
  603. package/dist/sanity-palette.css +0 -1
  604. package/dist/sanity-theme.css +0 -1
  605. package/dist/system.css +0 -22813
  606. package/dist/theme.d.mts +0 -1841
  607. package/dist/theme.mjs +0 -2940
  608. package/dist/theme.mjs.map +0 -1
  609. package/src/cli/buildCommand.ts +0 -48
  610. package/src/cli/index.ts +0 -38
  611. package/src/css/_comp.test.ts +0 -7
  612. package/src/css/_comp.ts +0 -11
  613. package/src/css/_mergeStyles.ts +0 -31
  614. package/src/css/_resp.ts +0 -38
  615. package/src/css/_responsiveRule.ts +0 -38
  616. package/src/css/aspects/border/border.style.ts +0 -13
  617. package/src/css/aspects/border/border.ts +0 -14
  618. package/src/css/aspects/border/index.ts +0 -2
  619. package/src/css/aspects/border/types.ts +0 -10
  620. package/src/css/aspects/display/display.style.ts +0 -34
  621. package/src/css/aspects/display/display.ts +0 -7
  622. package/src/css/aspects/display/index.ts +0 -2
  623. package/src/css/aspects/display/types.ts +0 -17
  624. package/src/css/aspects/flex/flex.style.ts +0 -30
  625. package/src/css/aspects/flex/flex.ts +0 -13
  626. package/src/css/aspects/flex/flexAlign.style.ts +0 -12
  627. package/src/css/aspects/flex/flexDirection.style.ts +0 -11
  628. package/src/css/aspects/flex/flexJustify.style.ts +0 -13
  629. package/src/css/aspects/flex/flexWrap.style.ts +0 -10
  630. package/src/css/aspects/flex/index.ts +0 -2
  631. package/src/css/aspects/flex/types.ts +0 -35
  632. package/src/css/aspects/flexItem/flex.style.ts +0 -22
  633. package/src/css/aspects/flexItem/flexItem.ts +0 -8
  634. package/src/css/aspects/flexItem/index.ts +0 -2
  635. package/src/css/aspects/flexItem/types.ts +0 -27
  636. package/src/css/aspects/font/font.style.ts +0 -151
  637. package/src/css/aspects/font/font.ts +0 -12
  638. package/src/css/aspects/font/index.ts +0 -2
  639. package/src/css/aspects/font/types.ts +0 -12
  640. package/src/css/aspects/gap/gap.style.ts +0 -21
  641. package/src/css/aspects/gap/gap.ts +0 -8
  642. package/src/css/aspects/gap/index.ts +0 -2
  643. package/src/css/aspects/gap/types.ts +0 -10
  644. package/src/css/aspects/grid/grid.ts +0 -13
  645. package/src/css/aspects/grid/gridAutoColumns.style.ts +0 -11
  646. package/src/css/aspects/grid/gridAutoFlow.style.ts +0 -11
  647. package/src/css/aspects/grid/gridAutoRows.style.ts +0 -11
  648. package/src/css/aspects/grid/gridColumns.style.ts +0 -18
  649. package/src/css/aspects/grid/gridRows.style.ts +0 -18
  650. package/src/css/aspects/grid/index.ts +0 -2
  651. package/src/css/aspects/grid/types.ts +0 -29
  652. package/src/css/aspects/gridItem/gridColumn.style.ts +0 -20
  653. package/src/css/aspects/gridItem/gridColumnEnd.style.ts +0 -20
  654. package/src/css/aspects/gridItem/gridColumnStart.style.ts +0 -20
  655. package/src/css/aspects/gridItem/gridItem.ts +0 -15
  656. package/src/css/aspects/gridItem/gridRow.style.ts +0 -20
  657. package/src/css/aspects/gridItem/gridRowEnd.style.ts +0 -20
  658. package/src/css/aspects/gridItem/gridRowStart.style.ts +0 -20
  659. package/src/css/aspects/gridItem/index.ts +0 -2
  660. package/src/css/aspects/gridItem/types.ts +0 -41
  661. package/src/css/aspects/height/height.style.ts +0 -9
  662. package/src/css/aspects/height/height.ts +0 -17
  663. package/src/css/aspects/height/index.ts +0 -1
  664. package/src/css/aspects/height/rules.ts +0 -7
  665. package/src/css/aspects/index.ts +0 -20
  666. package/src/css/aspects/inset/index.ts +0 -2
  667. package/src/css/aspects/inset/inset.style.ts +0 -12
  668. package/src/css/aspects/inset/inset.ts +0 -13
  669. package/src/css/aspects/inset/types.ts +0 -13
  670. package/src/css/aspects/margin/index.ts +0 -2
  671. package/src/css/aspects/margin/margin.style.ts +0 -46
  672. package/src/css/aspects/margin/margin.ts +0 -15
  673. package/src/css/aspects/margin/types.ts +0 -11
  674. package/src/css/aspects/maxWidth/index.ts +0 -2
  675. package/src/css/aspects/maxWidth/maxWidth.style.ts +0 -16
  676. package/src/css/aspects/maxWidth/maxWidth.ts +0 -6
  677. package/src/css/aspects/maxWidth/types.ts +0 -7
  678. package/src/css/aspects/outline/outline.style.ts +0 -9
  679. package/src/css/aspects/overflow/index.ts +0 -2
  680. package/src/css/aspects/overflow/overflow.style.ts +0 -11
  681. package/src/css/aspects/overflow/overflow.ts +0 -11
  682. package/src/css/aspects/overflow/types.ts +0 -11
  683. package/src/css/aspects/padding/index.ts +0 -2
  684. package/src/css/aspects/padding/padding.style.ts +0 -46
  685. package/src/css/aspects/padding/padding.ts +0 -15
  686. package/src/css/aspects/padding/types.ts +0 -14
  687. package/src/css/aspects/pointerEvents/index.ts +0 -2
  688. package/src/css/aspects/pointerEvents/pointerEvents.style.ts +0 -13
  689. package/src/css/aspects/pointerEvents/pointerEvents.ts +0 -6
  690. package/src/css/aspects/position/index.ts +0 -2
  691. package/src/css/aspects/position/position.style.ts +0 -12
  692. package/src/css/aspects/position/position.ts +0 -7
  693. package/src/css/aspects/position/types.ts +0 -9
  694. package/src/css/aspects/radius/index.ts +0 -2
  695. package/src/css/aspects/radius/radius.style.ts +0 -16
  696. package/src/css/aspects/radius/radius.ts +0 -8
  697. package/src/css/aspects/radius/types.ts +0 -8
  698. package/src/css/aspects/shadow/index.ts +0 -2
  699. package/src/css/aspects/shadow/shadow.style.ts +0 -49
  700. package/src/css/aspects/shadow/shadow.ts +0 -7
  701. package/src/css/aspects/shadow/types.ts +0 -8
  702. package/src/css/aspects/textOverflow/index.ts +0 -2
  703. package/src/css/aspects/textOverflow/textOverflow.style.ts +0 -21
  704. package/src/css/aspects/textOverflow/textOverflow.ts +0 -6
  705. package/src/css/aspects/textOverflow/types.ts +0 -8
  706. package/src/css/aspects/width/index.ts +0 -2
  707. package/src/css/aspects/width/rules.ts +0 -8
  708. package/src/css/aspects/width/types.ts +0 -9
  709. package/src/css/aspects/width/width.style.ts +0 -11
  710. package/src/css/aspects/width/width.ts +0 -6
  711. package/src/css/compile/compilePalette.ts +0 -27
  712. package/src/css/compile/compileRule.ts +0 -96
  713. package/src/css/compile/compileRules.test.ts +0 -36
  714. package/src/css/compile/compileRules.ts +0 -43
  715. package/src/css/compile/compileStyle.ts +0 -148
  716. package/src/css/compile/compileSystem.ts +0 -10
  717. package/src/css/compile/compileTheme.ts +0 -15
  718. package/src/css/compile/compileTheme_v3.ts +0 -392
  719. package/src/css/compile/types.ts +0 -6
  720. package/src/css/components/breadcrumbs/breadcrumbs.style.ts +0 -9
  721. package/src/css/components/breadcrumbs/index.ts +0 -1
  722. package/src/css/components/breadcrumbs/rules.ts +0 -25
  723. package/src/css/components/dialog/dialog.style.ts +0 -79
  724. package/src/css/components/dialog/index.ts +0 -1
  725. package/src/css/components/dialog/rules.ts +0 -78
  726. package/src/css/components/menu/index.ts +0 -1
  727. package/src/css/components/menu/menu.style.ts +0 -17
  728. package/src/css/components/menu/rules.ts +0 -15
  729. package/src/css/components/skeleton/index.ts +0 -2
  730. package/src/css/components/skeleton/rules.ts +0 -113
  731. package/src/css/components/skeleton/skeleton.style.ts +0 -96
  732. package/src/css/components/toast/index.ts +0 -1
  733. package/src/css/components/toast/rules.ts +0 -18
  734. package/src/css/components/toast/toast.style.ts +0 -20
  735. package/src/css/components/tree/index.ts +0 -1
  736. package/src/css/components/tree/rules.ts +0 -168
  737. package/src/css/components/tree/tree.style.ts +0 -55
  738. package/src/css/composeClassNames.ts +0 -17
  739. package/src/css/primitives/_arrow/_arrow.style.ts +0 -73
  740. package/src/css/primitives/_arrow/index.ts +0 -1
  741. package/src/css/primitives/_input/__workshop__/customInput.tsx +0 -16
  742. package/src/css/primitives/_input/__workshop__/index.ts +0 -14
  743. package/src/css/primitives/_input/_input.style.ts +0 -162
  744. package/src/css/primitives/_input/index.ts +0 -2
  745. package/src/css/primitives/_selectable/__style.ts +0 -117
  746. package/src/css/primitives/_selectable/_contants.ts +0 -11
  747. package/src/css/primitives/_selectable/_selectable.style.ts +0 -132
  748. package/src/css/primitives/_selectable/index.ts +0 -2
  749. package/src/css/primitives/_selectable/selectable.ts +0 -9
  750. package/src/css/primitives/_selectable/types.ts +0 -8
  751. package/src/css/primitives/avatar/avatar.style.ts +0 -175
  752. package/src/css/primitives/avatar/index.ts +0 -2
  753. package/src/css/primitives/avatar/rules.ts +0 -176
  754. package/src/css/primitives/badge/badge.style.ts +0 -22
  755. package/src/css/primitives/badge/index.ts +0 -2
  756. package/src/css/primitives/box/box.style.ts +0 -31
  757. package/src/css/primitives/box/index.ts +0 -2
  758. package/src/css/primitives/button/_constants.ts +0 -17
  759. package/src/css/primitives/button/button.style.ts +0 -179
  760. package/src/css/primitives/button/index.ts +0 -1
  761. package/src/css/primitives/button/rules.ts +0 -302
  762. package/src/css/primitives/card/_constants.ts +0 -13
  763. package/src/css/primitives/card/card.style.ts +0 -198
  764. package/src/css/primitives/card/index.ts +0 -2
  765. package/src/css/primitives/card/rules.ts +0 -473
  766. package/src/css/primitives/checkbox/__styles.ts +0 -129
  767. package/src/css/primitives/checkbox/checkbox.style.ts +0 -154
  768. package/src/css/primitives/checkbox/index.ts +0 -1
  769. package/src/css/primitives/checkbox/rules.ts +0 -152
  770. package/src/css/primitives/code/code.style.ts +0 -62
  771. package/src/css/primitives/code/index.ts +0 -2
  772. package/src/css/primitives/code/rules.ts +0 -96
  773. package/src/css/primitives/container/container.style.ts +0 -10
  774. package/src/css/primitives/container/index.ts +0 -2
  775. package/src/css/primitives/container/rules.ts +0 -8
  776. package/src/css/primitives/heading/heading.style.ts +0 -47
  777. package/src/css/primitives/heading/index.ts +0 -2
  778. package/src/css/primitives/heading/rules.ts +0 -155
  779. package/src/css/primitives/kbd/index.ts +0 -2
  780. package/src/css/primitives/kbd/kbd.style.ts +0 -22
  781. package/src/css/primitives/kbd/rules.ts +0 -20
  782. package/src/css/primitives/label/index.ts +0 -2
  783. package/src/css/primitives/label/label.style.ts +0 -48
  784. package/src/css/primitives/label/rules.ts +0 -137
  785. package/src/css/primitives/popover/index.ts +0 -1
  786. package/src/css/primitives/popover/popover.style.ts +0 -5
  787. package/src/css/primitives/popover/rules.ts +0 -5
  788. package/src/css/primitives/radio/index.ts +0 -1
  789. package/src/css/primitives/radio/radio.style.ts +0 -123
  790. package/src/css/primitives/radio/rules.ts +0 -121
  791. package/src/css/primitives/select/index.ts +0 -2
  792. package/src/css/primitives/select/rules.ts +0 -22
  793. package/src/css/primitives/select/select.style.ts +0 -24
  794. package/src/css/primitives/spinner/index.ts +0 -1
  795. package/src/css/primitives/spinner/rules.ts +0 -21
  796. package/src/css/primitives/spinner/spinner.style.ts +0 -22
  797. package/src/css/primitives/switch/index.ts +0 -1
  798. package/src/css/primitives/switch/rules.ts +0 -340
  799. package/src/css/primitives/switch/switch.style.ts +0 -169
  800. package/src/css/primitives/text/index.ts +0 -2
  801. package/src/css/primitives/text/rules.ts +0 -164
  802. package/src/css/primitives/text/text.style.ts +0 -56
  803. package/src/css/primitives/textArea/index.ts +0 -2
  804. package/src/css/primitives/textArea/rules.ts +0 -7
  805. package/src/css/primitives/textArea/textArea.style.ts +0 -9
  806. package/src/css/primitives/textInput/index.ts +0 -2
  807. package/src/css/primitives/textInput/rules.ts +0 -224
  808. package/src/css/primitives/textInput/textInput.style.ts +0 -167
  809. package/src/css/primitives/token/rules.ts +0 -45
  810. package/src/css/primitives/token/token.style.ts +0 -49
  811. package/src/css/primitives/tooltip/index.ts +0 -1
  812. package/src/css/primitives/tooltip/rules.ts +0 -19
  813. package/src/css/primitives/tooltip/tooltip.style.ts +0 -21
  814. package/src/css/responsiveRules.ts +0 -25
  815. package/src/css/scopeClassName.ts +0 -6
  816. package/src/css/system.style.ts +0 -154
  817. package/src/css/util.ts +0 -27
  818. package/src/css/utils/srOnly/index.ts +0 -1
  819. package/src/css/utils/srOnly/srOnly.style.ts +0 -14
  820. package/src/css/utils/srOnly/srOnly.ts +0 -5
  821. package/src/css/varNames.ts +0 -486
  822. package/src/css/vars.ts +0 -456
  823. package/src/theme/_constants.ts +0 -26
  824. package/src/theme/_types.ts +0 -41
  825. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  826. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  827. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -17
  828. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -55
  829. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -60
  830. package/src/theme/build/_deprecated/color/color.test.ts +0 -63
  831. package/src/theme/build/_deprecated/color/defaults.ts +0 -390
  832. package/src/theme/build/_deprecated/color/factory.ts +0 -141
  833. package/src/theme/build/_deprecated/color/index.ts +0 -1
  834. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -81
  835. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -54
  836. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -20
  837. package/src/theme/build/buildColorTheme.test.ts +0 -183
  838. package/src/theme/build/buildColorTheme.ts +0 -494
  839. package/src/theme/build/buildTheme.test.ts +0 -87
  840. package/src/theme/build/buildTheme.ts +0 -12
  841. package/src/theme/build/colorToken/colorToken.ts +0 -19
  842. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  843. package/src/theme/build/colorToken/index.ts +0 -2
  844. package/src/theme/build/colorToken/types.ts +0 -6
  845. package/src/theme/build/index.ts +0 -3
  846. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  847. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  848. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  849. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  850. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -68
  851. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  852. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  853. package/src/theme/build/lib/color-fns/index.ts +0 -6
  854. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  855. package/src/theme/build/lib/color-fns/rgba.ts +0 -14
  856. package/src/theme/build/lib/color-fns/types.ts +0 -28
  857. package/src/theme/build/lib/utils.ts +0 -19
  858. package/src/theme/build/merge.ts +0 -26
  859. package/src/theme/build/mixThemeColor.test.ts +0 -21
  860. package/src/theme/build/mixThemeColor.ts +0 -53
  861. package/src/theme/build/renderColorTheme.ts +0 -532
  862. package/src/theme/build/renderColorValue.ts +0 -85
  863. package/src/theme/build/resolveColorTokens.ts +0 -268
  864. package/src/theme/build/theme.test.ts +0 -27
  865. package/src/theme/config/helpers.ts +0 -55
  866. package/src/theme/config/index.ts +0 -4
  867. package/src/theme/config/system.ts +0 -115
  868. package/src/theme/config/tokens/color/index.ts +0 -1
  869. package/src/theme/config/tokens/color/types.ts +0 -133
  870. package/src/theme/config/tokens/index.ts +0 -4
  871. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  872. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  873. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -42
  874. package/src/theme/config/tokens/parseTokenValue.ts +0 -133
  875. package/src/theme/config/tokens/types.ts +0 -53
  876. package/src/theme/config/types.ts +0 -45
  877. package/src/theme/defaults/colorPalette.ts +0 -5
  878. package/src/theme/defaults/colorTokens.ts +0 -648
  879. package/src/theme/defaults/config.ts +0 -84
  880. package/src/theme/getScopedTheme.ts +0 -88
  881. package/src/theme/palette/constants.ts +0 -13
  882. package/src/theme/palette/index.ts +0 -2
  883. package/src/theme/palette/types.ts +0 -4
  884. package/src/theme/v0/avatar.ts +0 -10
  885. package/src/theme/v0/color/_generic.ts +0 -35
  886. package/src/theme/v0/color/_system.ts +0 -17
  887. package/src/theme/v0/color/base.ts +0 -21
  888. package/src/theme/v0/color/button.ts +0 -42
  889. package/src/theme/v0/color/card.ts +0 -19
  890. package/src/theme/v0/color/color.ts +0 -40
  891. package/src/theme/v0/color/index.ts +0 -11
  892. package/src/theme/v0/color/input.ts +0 -34
  893. package/src/theme/v0/color/muted.ts +0 -26
  894. package/src/theme/v0/color/selectable.ts +0 -31
  895. package/src/theme/v0/color/solid.ts +0 -26
  896. package/src/theme/v0/color/spot.ts +0 -13
  897. package/src/theme/v0/css.ts +0 -8
  898. package/src/theme/v0/focusRing.ts +0 -7
  899. package/src/theme/v0/font.ts +0 -53
  900. package/src/theme/v0/index.ts +0 -10
  901. package/src/theme/v0/input.ts +0 -23
  902. package/src/theme/v0/layer.ts +0 -8
  903. package/src/theme/v0/shadow.ts +0 -19
  904. package/src/theme/v0/styles.ts +0 -13
  905. package/src/theme/v0/theme.ts +0 -72
  906. package/src/theme/v2/avatar.ts +0 -14
  907. package/src/theme/v2/color/_constants.ts +0 -45
  908. package/src/theme/v2/color/_helpers.ts +0 -24
  909. package/src/theme/v2/color/_system.ts +0 -40
  910. package/src/theme/v2/color/avatar.ts +0 -15
  911. package/src/theme/v2/color/badge.ts +0 -16
  912. package/src/theme/v2/color/button.ts +0 -17
  913. package/src/theme/v2/color/color.ts +0 -34
  914. package/src/theme/v2/color/index.ts +0 -13
  915. package/src/theme/v2/color/input.ts +0 -25
  916. package/src/theme/v2/color/kbd.ts +0 -8
  917. package/src/theme/v2/color/selectable.ts +0 -12
  918. package/src/theme/v2/color/shadow.ts +0 -7
  919. package/src/theme/v2/color/state.ts +0 -43
  920. package/src/theme/v2/color/syntax.ts +0 -41
  921. package/src/theme/v2/index.ts +0 -4
  922. package/src/theme/v2/input.ts +0 -33
  923. package/src/theme/v2/theme.ts +0 -49
  924. package/src/theme/v3/buildTheme_v3.test.ts +0 -40
  925. package/src/theme/v3/buildTheme_v3.ts +0 -29
  926. package/src/theme/v3/color/buildColor_v3.ts +0 -193
  927. package/src/theme/v3/color/card.ts +0 -116
  928. package/src/theme/v3/color/color.ts +0 -94
  929. package/src/theme/v3/color/element.ts +0 -19
  930. package/src/theme/v3/color/index.ts +0 -7
  931. package/src/theme/v3/color/parseColor.test.ts +0 -79
  932. package/src/theme/v3/color/parseColor.ts +0 -167
  933. package/src/theme/v3/color/renderColor.test.ts +0 -19
  934. package/src/theme/v3/color/renderColor.ts +0 -33
  935. package/src/theme/v3/color/token.ts +0 -17
  936. package/src/theme/v3/color/tokens.ts +0 -5
  937. package/src/theme/v3/defaults.ts +0 -186
  938. package/src/theme/v3/index.ts +0 -6
  939. package/src/theme/v3/merge.ts +0 -22
  940. package/src/theme/v3/resolveTokens.ts +0 -199
  941. package/src/theme/v3/tokens.ts +0 -16
  942. package/src/theme/v3/types.ts +0 -45
  943. package/src/theme/versioning/getTheme_v2.ts +0 -58
  944. package/src/theme/versioning/index.ts +0 -1
  945. package/src/theme/versioning/is_v0.ts +0 -7
  946. package/src/theme/versioning/is_v2.ts +0 -7
  947. package/src/theme/versioning/themeColor_v0_v2.ts +0 -245
  948. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  949. package/src/theme/versioning/themeColor_v3_v2.ts +0 -206
  950. package/src/theme/versioning/v0_v2.ts +0 -95
  951. package/src/theme/versioning/v2_v0.ts +0 -127
  952. package/src/theme/versioning/v3_v2.ts +0 -108
  953. package/src/ui/StyleTags.tsx +0 -24
  954. package/src/ui/_compat/index.ts +0 -9
  955. package/src/ui/_compat/styles/_responsive.ts +0 -19
  956. package/src/ui/_compat/styles/index.ts +0 -1
  957. package/src/ui/_compat/theme/index.ts +0 -5
  958. package/src/ui/_compat/theme/theme.test.tsx +0 -73
  959. package/src/ui/_compat/theme/themeColorProvider.tsx +0 -30
  960. package/src/ui/_compat/theme/themeContext.ts +0 -10
  961. package/src/ui/_compat/theme/themeProvider.tsx +0 -74
  962. package/src/ui/_compat/theme/types.ts +0 -12
  963. package/src/ui/_compat/theme/useRootTheme.ts +0 -17
  964. package/src/ui/_compat/theme/useTheme.ts +0 -16
  965. package/src/ui/_compat/types.ts +0 -274
  966. package/src/ui/components/autocomplete/__mocks__/apiStore.ts +0 -49
  967. package/src/ui/components/autocomplete/__mocks__/countries.ts +0 -245
  968. package/src/ui/components/autocomplete/__workshop__/async.tsx +0 -157
  969. package/src/ui/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -131
  970. package/src/ui/components/autocomplete/__workshop__/custom.tsx +0 -90
  971. package/src/ui/components/autocomplete/__workshop__/example.tsx +0 -80
  972. package/src/ui/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  973. package/src/ui/components/autocomplete/__workshop__/fullscreen.tsx +0 -293
  974. package/src/ui/components/autocomplete/__workshop__/index.ts +0 -39
  975. package/src/ui/components/autocomplete/autocomplete.tsx +0 -731
  976. package/src/ui/components/autocomplete/autocompleteOption.tsx +0 -45
  977. package/src/ui/components/autocomplete/autocompleteReducer.ts +0 -47
  978. package/src/ui/components/autocomplete/constants.ts +0 -28
  979. package/src/ui/components/autocomplete/index.ts +0 -2
  980. package/src/ui/components/autocomplete/types.ts +0 -108
  981. package/src/ui/components/breadcrumbs/__workshop__/example.tsx +0 -62
  982. package/src/ui/components/breadcrumbs/__workshop__/index.ts +0 -14
  983. package/src/ui/components/breadcrumbs/breadcrumbs.tsx +0 -127
  984. package/src/ui/components/breadcrumbs/index.ts +0 -1
  985. package/src/ui/components/dialog/__workshop__/activate.tsx +0 -134
  986. package/src/ui/components/dialog/__workshop__/autoFocus.tsx +0 -29
  987. package/src/ui/components/dialog/__workshop__/index.ts +0 -19
  988. package/src/ui/components/dialog/__workshop__/layering.tsx +0 -41
  989. package/src/ui/components/dialog/__workshop__/nested.tsx +0 -72
  990. package/src/ui/components/dialog/__workshop__/onScroll.tsx +0 -39
  991. package/src/ui/components/dialog/__workshop__/panes.tsx +0 -82
  992. package/src/ui/components/dialog/__workshop__/position.tsx +0 -30
  993. package/src/ui/components/dialog/__workshop__/props.tsx +0 -77
  994. package/src/ui/components/dialog/__workshop__/provider.tsx +0 -11
  995. package/src/ui/components/dialog/__workshop__/wrapped.tsx +0 -76
  996. package/src/ui/components/dialog/dialog.tsx +0 -433
  997. package/src/ui/components/dialog/dialogContext.ts +0 -20
  998. package/src/ui/components/dialog/dialogProvider.tsx +0 -35
  999. package/src/ui/components/dialog/index.ts +0 -4
  1000. package/src/ui/components/dialog/useDialog.ts +0 -11
  1001. package/src/ui/components/hotkeys/__workshop__/index.ts +0 -14
  1002. package/src/ui/components/hotkeys/__workshop__/plain.tsx +0 -9
  1003. package/src/ui/components/hotkeys/hotkeys.tsx +0 -54
  1004. package/src/ui/components/hotkeys/index.ts +0 -1
  1005. package/src/ui/components/index.ts +0 -9
  1006. package/src/ui/components/menu/__workshop__/asComponent.tsx +0 -45
  1007. package/src/ui/components/menu/__workshop__/avatarMenu.tsx +0 -51
  1008. package/src/ui/components/menu/__workshop__/closableMenuButton.tsx +0 -46
  1009. package/src/ui/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
  1010. package/src/ui/components/menu/__workshop__/customMenuItem.tsx +0 -45
  1011. package/src/ui/components/menu/__workshop__/customSelectedState.tsx +0 -39
  1012. package/src/ui/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  1013. package/src/ui/components/menu/__workshop__/groups.tsx +0 -156
  1014. package/src/ui/components/menu/__workshop__/index.ts +0 -89
  1015. package/src/ui/components/menu/__workshop__/menuButton.tsx +0 -80
  1016. package/src/ui/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  1017. package/src/ui/components/menu/__workshop__/nestedMenu.tsx +0 -22
  1018. package/src/ui/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
  1019. package/src/ui/components/menu/__workshop__/selectedItem.tsx +0 -69
  1020. package/src/ui/components/menu/__workshop__/shouldFocus.tsx +0 -47
  1021. package/src/ui/components/menu/__workshop__/tones.tsx +0 -25
  1022. package/src/ui/components/menu/__workshop__/withoutArrow.tsx +0 -32
  1023. package/src/ui/components/menu/helpers.ts +0 -82
  1024. package/src/ui/components/menu/index.ts +0 -5
  1025. package/src/ui/components/menu/menu.test.tsx +0 -128
  1026. package/src/ui/components/menu/menu.tsx +0 -200
  1027. package/src/ui/components/menu/menuButton.tsx +0 -275
  1028. package/src/ui/components/menu/menuContext.ts +0 -31
  1029. package/src/ui/components/menu/menuDivider.tsx +0 -22
  1030. package/src/ui/components/menu/menuGroup.tsx +0 -228
  1031. package/src/ui/components/menu/menuItem.tsx +0 -180
  1032. package/src/ui/components/menu/useMenu.ts +0 -21
  1033. package/src/ui/components/menu/useMenuController.ts +0 -241
  1034. package/src/ui/components/skeleton/__workshop__/delay.tsx +0 -70
  1035. package/src/ui/components/skeleton/__workshop__/index.ts +0 -11
  1036. package/src/ui/components/skeleton/__workshop__/skeleton.tsx +0 -64
  1037. package/src/ui/components/skeleton/index.ts +0 -2
  1038. package/src/ui/components/skeleton/skeleton.tsx +0 -53
  1039. package/src/ui/components/skeleton/textSkeleton.tsx +0 -132
  1040. package/src/ui/components/tab/__workshop__/example.tsx +0 -79
  1041. package/src/ui/components/tab/__workshop__/index.ts +0 -14
  1042. package/src/ui/components/tab/index.ts +0 -3
  1043. package/src/ui/components/tab/tab.tsx +0 -105
  1044. package/src/ui/components/tab/tabList.tsx +0 -74
  1045. package/src/ui/components/tab/tabPanel.tsx +0 -40
  1046. package/src/ui/components/toast/__workshop__/hook.tsx +0 -71
  1047. package/src/ui/components/toast/__workshop__/index.ts +0 -19
  1048. package/src/ui/components/toast/__workshop__/toast.tsx +0 -26
  1049. package/src/ui/components/toast/index.ts +0 -4
  1050. package/src/ui/components/toast/toast.test.tsx +0 -101
  1051. package/src/ui/components/toast/toast.tsx +0 -211
  1052. package/src/ui/components/toast/toastContext.ts +0 -7
  1053. package/src/ui/components/toast/toastLayer.tsx +0 -38
  1054. package/src/ui/components/toast/toastProvider.tsx +0 -113
  1055. package/src/ui/components/toast/types.ts +0 -28
  1056. package/src/ui/components/toast/useToast.ts +0 -25
  1057. package/src/ui/components/tree/__workshop__/basic.perf.ts +0 -19
  1058. package/src/ui/components/tree/__workshop__/basic.tsx +0 -105
  1059. package/src/ui/components/tree/__workshop__/index.ts +0 -21
  1060. package/src/ui/components/tree/__workshop__/tabFromElement.tsx +0 -84
  1061. package/src/ui/components/tree/helpers.ts +0 -105
  1062. package/src/ui/components/tree/index.ts +0 -4
  1063. package/src/ui/components/tree/tree.tsx +0 -244
  1064. package/src/ui/components/tree/treeContext.ts +0 -10
  1065. package/src/ui/components/tree/treeGroup.tsx +0 -30
  1066. package/src/ui/components/tree/treeItem.tsx +0 -220
  1067. package/src/ui/components/tree/types.ts +0 -25
  1068. package/src/ui/components/tree/useTree.ts +0 -17
  1069. package/src/ui/constants.ts +0 -79
  1070. package/src/ui/global.ts +0 -6
  1071. package/src/ui/helpers/focus.ts +0 -100
  1072. package/src/ui/helpers/index.ts +0 -5
  1073. package/src/ui/helpers/props.ts +0 -10
  1074. package/src/ui/hooks/index.ts +0 -12
  1075. package/src/ui/hooks/useArrayProp.ts +0 -29
  1076. package/src/ui/hooks/useClickOutside.test.tsx +0 -482
  1077. package/src/ui/hooks/useClickOutside.ts +0 -117
  1078. package/src/ui/hooks/useClickOutsideEvent.test.tsx +0 -115
  1079. package/src/ui/hooks/useClickOutsideEvent.ts +0 -73
  1080. package/src/ui/hooks/useDelayed.test.ts +0 -68
  1081. package/src/ui/hooks/useDelayedState.ts +0 -28
  1082. package/src/ui/hooks/useElementRect/__workshop__/example.tsx +0 -32
  1083. package/src/ui/hooks/useElementRect/__workshop__/index.ts +0 -14
  1084. package/src/ui/hooks/useElementRect/index.ts +0 -1
  1085. package/src/ui/hooks/useElementRect/useElementRect.ts +0 -13
  1086. package/src/ui/hooks/useElementSize.ts +0 -19
  1087. package/src/ui/hooks/useForwardedRef.ts +0 -19
  1088. package/src/ui/hooks/useIsomorphicEffect.ts +0 -7
  1089. package/src/ui/hooks/useMediaIndex/__workshop__/index.ts +0 -14
  1090. package/src/ui/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  1091. package/src/ui/hooks/useMediaIndex/index.ts +0 -1
  1092. package/src/ui/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -36
  1093. package/src/ui/hooks/useMediaIndex/useMediaIndex.ts +0 -104
  1094. package/src/ui/hooks/usePrefersDark.hydration.test.tsx +0 -56
  1095. package/src/ui/hooks/usePrefersDark.test.tsx +0 -19
  1096. package/src/ui/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  1097. package/src/ui/hooks/usePrefersReducedMotion.test.tsx +0 -19
  1098. package/src/ui/index.ts +0 -9
  1099. package/src/ui/lib/createGlobalScopedContext.ts +0 -34
  1100. package/src/ui/lib/globalScope.ts +0 -19
  1101. package/src/ui/lib/isRecord.ts +0 -3
  1102. package/src/ui/middleware/origin.ts +0 -47
  1103. package/src/ui/observers/elementSizeObserver.ts +0 -116
  1104. package/src/ui/observers/index.ts +0 -2
  1105. package/src/ui/primitives/_selectable/index.ts +0 -1
  1106. package/src/ui/primitives/_selectable/selectable.tsx +0 -31
  1107. package/src/ui/primitives/avatar/__workshop__/asButton.tsx +0 -14
  1108. package/src/ui/primitives/avatar/__workshop__/index.ts +0 -29
  1109. package/src/ui/primitives/avatar/__workshop__/stack.tsx +0 -25
  1110. package/src/ui/primitives/avatar/__workshop__/withinButton.tsx +0 -63
  1111. package/src/ui/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -72
  1112. package/src/ui/primitives/avatar/avatar.tsx +0 -158
  1113. package/src/ui/primitives/avatar/avatarCounter.tsx +0 -62
  1114. package/src/ui/primitives/avatar/avatarStack.tsx +0 -82
  1115. package/src/ui/primitives/avatar/index.ts +0 -4
  1116. package/src/ui/primitives/avatar/types.ts +0 -17
  1117. package/src/ui/primitives/badge/__workshop__/index.ts +0 -19
  1118. package/src/ui/primitives/badge/__workshop__/props.tsx +0 -30
  1119. package/src/ui/primitives/badge/__workshop__/tones.tsx +0 -21
  1120. package/src/ui/primitives/badge/badge.test.tsx +0 -16
  1121. package/src/ui/primitives/badge/badge.tsx +0 -64
  1122. package/src/ui/primitives/badge/index.ts +0 -1
  1123. package/src/ui/primitives/badge/types.ts +0 -8
  1124. package/src/ui/primitives/box/__workshop__/index.ts +0 -19
  1125. package/src/ui/primitives/box/__workshop__/props.tsx +0 -20
  1126. package/src/ui/primitives/box/__workshop__/responsive.tsx +0 -20
  1127. package/src/ui/primitives/box/box.tsx +0 -155
  1128. package/src/ui/primitives/box/index.ts +0 -1
  1129. package/src/ui/primitives/button/__workshop__/custom.tsx +0 -50
  1130. package/src/ui/primitives/button/__workshop__/customIcons.tsx +0 -30
  1131. package/src/ui/primitives/button/__workshop__/disabled.tsx +0 -74
  1132. package/src/ui/primitives/button/__workshop__/index.ts +0 -59
  1133. package/src/ui/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  1134. package/src/ui/primitives/button/__workshop__/props.tsx +0 -58
  1135. package/src/ui/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  1136. package/src/ui/primitives/button/__workshop__/stacked.tsx +0 -59
  1137. package/src/ui/primitives/button/__workshop__/styled1.tsx +0 -17
  1138. package/src/ui/primitives/button/__workshop__/styled2.tsx +0 -19
  1139. package/src/ui/primitives/button/__workshop__/uploadButton.tsx +0 -28
  1140. package/src/ui/primitives/button/button.test.tsx +0 -44
  1141. package/src/ui/primitives/button/button.tsx +0 -206
  1142. package/src/ui/primitives/button/index.ts +0 -1
  1143. package/src/ui/primitives/card/__workshop__/allTones.tsx +0 -27
  1144. package/src/ui/primitives/card/__workshop__/asButton.tsx +0 -107
  1145. package/src/ui/primitives/card/__workshop__/asComponent.tsx +0 -27
  1146. package/src/ui/primitives/card/__workshop__/checkered.tsx +0 -26
  1147. package/src/ui/primitives/card/__workshop__/index.ts +0 -18
  1148. package/src/ui/primitives/card/__workshop__/interactive.tsx +0 -30
  1149. package/src/ui/primitives/card/__workshop__/listNavigation.tsx +0 -80
  1150. package/src/ui/primitives/card/__workshop__/props.tsx +0 -55
  1151. package/src/ui/primitives/card/__workshop__/selected.tsx +0 -93
  1152. package/src/ui/primitives/card/__workshop__/styled.tsx +0 -14
  1153. package/src/ui/primitives/card/card.tsx +0 -122
  1154. package/src/ui/primitives/card/cardContext.ts +0 -10
  1155. package/src/ui/primitives/card/cardProvider.tsx +0 -19
  1156. package/src/ui/primitives/card/index.ts +0 -4
  1157. package/src/ui/primitives/card/types.ts +0 -27
  1158. package/src/ui/primitives/card/useCard.ts +0 -7
  1159. package/src/ui/primitives/checkbox/__workshop__/example.tsx +0 -25
  1160. package/src/ui/primitives/checkbox/__workshop__/index.ts +0 -13
  1161. package/src/ui/primitives/checkbox/__workshop__/props.tsx +0 -33
  1162. package/src/ui/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  1163. package/src/ui/primitives/checkbox/__workshop__/tones.tsx +0 -28
  1164. package/src/ui/primitives/checkbox/checkbox.tsx +0 -74
  1165. package/src/ui/primitives/checkbox/index.ts +0 -1
  1166. package/src/ui/primitives/code/__workshop__/index.ts +0 -19
  1167. package/src/ui/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
  1168. package/src/ui/primitives/code/__workshop__/props.tsx +0 -21
  1169. package/src/ui/primitives/code/code.tsx +0 -49
  1170. package/src/ui/primitives/code/index.ts +0 -1
  1171. package/src/ui/primitives/code/refractor.tsx +0 -20
  1172. package/src/ui/primitives/container/__workshop__/example.tsx +0 -20
  1173. package/src/ui/primitives/container/__workshop__/index.ts +0 -8
  1174. package/src/ui/primitives/container/container.tsx +0 -35
  1175. package/src/ui/primitives/container/index.ts +0 -2
  1176. package/src/ui/primitives/flex/__workshop__/example.tsx +0 -34
  1177. package/src/ui/primitives/flex/__workshop__/gap.tsx +0 -25
  1178. package/src/ui/primitives/flex/__workshop__/index.ts +0 -11
  1179. package/src/ui/primitives/flex/flex.tsx +0 -29
  1180. package/src/ui/primitives/flex/index.ts +0 -1
  1181. package/src/ui/primitives/grid/__workshop__/index.ts +0 -10
  1182. package/src/ui/primitives/grid/__workshop__/responsive.tsx +0 -54
  1183. package/src/ui/primitives/grid/grid.tsx +0 -30
  1184. package/src/ui/primitives/grid/index.ts +0 -1
  1185. package/src/ui/primitives/heading/__workshop__/index.ts +0 -19
  1186. package/src/ui/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  1187. package/src/ui/primitives/heading/__workshop__/plain.tsx +0 -32
  1188. package/src/ui/primitives/heading/heading.tsx +0 -62
  1189. package/src/ui/primitives/heading/index.ts +0 -1
  1190. package/src/ui/primitives/index.ts +0 -27
  1191. package/src/ui/primitives/inline/__workshop__/index.ts +0 -8
  1192. package/src/ui/primitives/inline/__workshop__/plain.tsx +0 -27
  1193. package/src/ui/primitives/inline/index.ts +0 -1
  1194. package/src/ui/primitives/inline/inline.tsx +0 -50
  1195. package/src/ui/primitives/inline/types.ts +0 -6
  1196. package/src/ui/primitives/kbd/__workshop__/index.ts +0 -8
  1197. package/src/ui/primitives/kbd/__workshop__/plain.tsx +0 -9
  1198. package/src/ui/primitives/kbd/index.ts +0 -1
  1199. package/src/ui/primitives/kbd/kbd.tsx +0 -55
  1200. package/src/ui/primitives/label/__workshop__/index.ts +0 -19
  1201. package/src/ui/primitives/label/__workshop__/opticalAlignment.tsx +0 -54
  1202. package/src/ui/primitives/label/__workshop__/plain.tsx +0 -37
  1203. package/src/ui/primitives/label/index.ts +0 -1
  1204. package/src/ui/primitives/label/label.tsx +0 -67
  1205. package/src/ui/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  1206. package/src/ui/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  1207. package/src/ui/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  1208. package/src/ui/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  1209. package/src/ui/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  1210. package/src/ui/primitives/popover/__workshop__/RecursiveStory.tsx +0 -70
  1211. package/src/ui/primitives/popover/__workshop__/SidePanelStory.tsx +0 -93
  1212. package/src/ui/primitives/popover/__workshop__/TestStory.tsx +0 -98
  1213. package/src/ui/primitives/popover/__workshop__/index.ts +0 -49
  1214. package/src/ui/primitives/popover/constants.ts +0 -22
  1215. package/src/ui/primitives/popover/floating-ui/size.ts +0 -83
  1216. package/src/ui/primitives/popover/helpers.ts +0 -32
  1217. package/src/ui/primitives/popover/index.ts +0 -2
  1218. package/src/ui/primitives/popover/popover.tsx +0 -492
  1219. package/src/ui/primitives/popover/popoverCard.tsx +0 -155
  1220. package/src/ui/primitives/popover/types.ts +0 -6
  1221. package/src/ui/primitives/radio/__workshop__/example.tsx +0 -63
  1222. package/src/ui/primitives/radio/__workshop__/index.ts +0 -11
  1223. package/src/ui/primitives/radio/__workshop__/plain.tsx +0 -28
  1224. package/src/ui/primitives/radio/index.ts +0 -1
  1225. package/src/ui/primitives/radio/radio.tsx +0 -49
  1226. package/src/ui/primitives/select/__workshop__/index.ts +0 -11
  1227. package/src/ui/primitives/select/__workshop__/plain.tsx +0 -30
  1228. package/src/ui/primitives/select/__workshop__/readOnly.tsx +0 -23
  1229. package/src/ui/primitives/select/index.ts +0 -1
  1230. package/src/ui/primitives/select/select.tsx +0 -85
  1231. package/src/ui/primitives/spinner/__workshop__/Props.tsx +0 -16
  1232. package/src/ui/primitives/spinner/__workshop__/index.ts +0 -14
  1233. package/src/ui/primitives/spinner/animatedSpinnerIcon.tsx +0 -16
  1234. package/src/ui/primitives/spinner/index.ts +0 -1
  1235. package/src/ui/primitives/spinner/spinner.tsx +0 -33
  1236. package/src/ui/primitives/stack/__workshop__/index.ts +0 -14
  1237. package/src/ui/primitives/stack/__workshop__/plain.tsx +0 -32
  1238. package/src/ui/primitives/stack/index.ts +0 -1
  1239. package/src/ui/primitives/stack/stack.tsx +0 -40
  1240. package/src/ui/primitives/switch/__workshop__/example.tsx +0 -23
  1241. package/src/ui/primitives/switch/__workshop__/index.ts +0 -11
  1242. package/src/ui/primitives/switch/__workshop__/props.tsx +0 -21
  1243. package/src/ui/primitives/switch/index.ts +0 -1
  1244. package/src/ui/primitives/switch/switch.tsx +0 -75
  1245. package/src/ui/primitives/text/__workshop__/colored.tsx +0 -23
  1246. package/src/ui/primitives/text/__workshop__/example.tsx +0 -39
  1247. package/src/ui/primitives/text/__workshop__/index.ts +0 -24
  1248. package/src/ui/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
  1249. package/src/ui/primitives/text/index.ts +0 -1
  1250. package/src/ui/primitives/text/text.tsx +0 -64
  1251. package/src/ui/primitives/textArea/__workshop__/index.ts +0 -14
  1252. package/src/ui/primitives/textArea/__workshop__/plain.tsx +0 -50
  1253. package/src/ui/primitives/textArea/index.ts +0 -1
  1254. package/src/ui/primitives/textArea/textArea.tsx +0 -71
  1255. package/src/ui/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  1256. package/src/ui/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  1257. package/src/ui/primitives/textInput/__workshop__/index.ts +0 -44
  1258. package/src/ui/primitives/textInput/__workshop__/plain.tsx +0 -104
  1259. package/src/ui/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  1260. package/src/ui/primitives/textInput/__workshop__/states.tsx +0 -53
  1261. package/src/ui/primitives/textInput/__workshop__/tones.tsx +0 -277
  1262. package/src/ui/primitives/textInput/__workshop__/typed.tsx +0 -23
  1263. package/src/ui/primitives/textInput/index.ts +0 -1
  1264. package/src/ui/primitives/textInput/textInput.tsx +0 -286
  1265. package/src/ui/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  1266. package/src/ui/primitives/tooltip/__workshop__/index.ts +0 -29
  1267. package/src/ui/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  1268. package/src/ui/primitives/tooltip/__workshop__/props.tsx +0 -111
  1269. package/src/ui/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  1270. package/src/ui/primitives/tooltip/constants.ts +0 -23
  1271. package/src/ui/primitives/tooltip/index.ts +0 -2
  1272. package/src/ui/primitives/tooltip/tooltip.test.tsx +0 -453
  1273. package/src/ui/primitives/tooltip/tooltip.tsx +0 -467
  1274. package/src/ui/primitives/tooltip/tooltipCard.tsx +0 -115
  1275. package/src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  1276. package/src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -55
  1277. package/src/ui/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  1278. package/src/ui/primitives/types.ts +0 -166
  1279. package/src/ui/types/avatar.ts +0 -19
  1280. package/src/ui/types/badge.ts +0 -12
  1281. package/src/ui/types/box.ts +0 -22
  1282. package/src/ui/types/button.ts +0 -24
  1283. package/src/ui/types/card.ts +0 -6
  1284. package/src/ui/types/dialog.ts +0 -4
  1285. package/src/ui/types/flex.ts +0 -27
  1286. package/src/ui/types/grid.ts +0 -17
  1287. package/src/ui/types/gridItem.ts +0 -32
  1288. package/src/ui/types/index.ts +0 -15
  1289. package/src/ui/types/placement.ts +0 -18
  1290. package/src/ui/types/popover.ts +0 -4
  1291. package/src/ui/types/props.ts +0 -18
  1292. package/src/ui/types/radius.ts +0 -7
  1293. package/src/ui/types/selectable.ts +0 -7
  1294. package/src/ui/types/text.ts +0 -7
  1295. package/src/ui/utils/arrow/arrow.tsx +0 -59
  1296. package/src/ui/utils/arrow/index.ts +0 -1
  1297. package/src/ui/utils/boundaryElement/__workshop__/index.ts +0 -14
  1298. package/src/ui/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  1299. package/src/ui/utils/boundaryElement/boundaryElement.test.tsx +0 -100
  1300. package/src/ui/utils/boundaryElement/boundaryElementContext.ts +0 -7
  1301. package/src/ui/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  1302. package/src/ui/utils/boundaryElement/index.ts +0 -3
  1303. package/src/ui/utils/boundaryElement/types.ts +0 -7
  1304. package/src/ui/utils/boundaryElement/useBoundaryElement.ts +0 -26
  1305. package/src/ui/utils/conditionalWrapper/conditionalWrapper.tsx +0 -23
  1306. package/src/ui/utils/conditionalWrapper/index.ts +0 -1
  1307. package/src/ui/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
  1308. package/src/ui/utils/elementQuery/__workshop__/index.ts +0 -14
  1309. package/src/ui/utils/elementQuery/elementQuery.tsx +0 -53
  1310. package/src/ui/utils/elementQuery/index.ts +0 -1
  1311. package/src/ui/utils/errorBoundary.tsx +0 -48
  1312. package/src/ui/utils/getElementRef.ts +0 -26
  1313. package/src/ui/utils/index.ts +0 -9
  1314. package/src/ui/utils/layer/__workshop__/_debug.tsx +0 -17
  1315. package/src/ui/utils/layer/__workshop__/index.ts +0 -24
  1316. package/src/ui/utils/layer/__workshop__/multipleRoots.tsx +0 -49
  1317. package/src/ui/utils/layer/__workshop__/nested.tsx +0 -98
  1318. package/src/ui/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  1319. package/src/ui/utils/layer/getLayerContext.test.ts +0 -30
  1320. package/src/ui/utils/layer/getLayerContext.ts +0 -21
  1321. package/src/ui/utils/layer/index.ts +0 -4
  1322. package/src/ui/utils/layer/layer.test.tsx +0 -108
  1323. package/src/ui/utils/layer/layer.tsx +0 -112
  1324. package/src/ui/utils/layer/layerContext.ts +0 -7
  1325. package/src/ui/utils/layer/layerProvider.tsx +0 -110
  1326. package/src/ui/utils/layer/useLayer.ts +0 -26
  1327. package/src/ui/utils/portal/__workshop__/index.ts +0 -14
  1328. package/src/ui/utils/portal/__workshop__/named.tsx +0 -63
  1329. package/src/ui/utils/portal/index.ts +0 -4
  1330. package/src/ui/utils/portal/portal.test.tsx +0 -103
  1331. package/src/ui/utils/portal/portal.ts +0 -46
  1332. package/src/ui/utils/portal/portalContext.ts +0 -31
  1333. package/src/ui/utils/portal/portalProvider.tsx +0 -79
  1334. package/src/ui/utils/portal/types.ts +0 -9
  1335. package/src/ui/utils/portal/usePortal.ts +0 -25
  1336. package/src/ui/utils/spanWithTextOverflow.tsx +0 -10
  1337. package/src/ui/utils/srOnly/index.ts +0 -1
  1338. package/src/ui/utils/srOnly/srOnly.tsx +0 -35
  1339. package/src/ui/utils/virtualList/__workshop__/changingProps.tsx +0 -36
  1340. package/src/ui/utils/virtualList/__workshop__/elementScroll.tsx +0 -24
  1341. package/src/ui/utils/virtualList/__workshop__/index.ts +0 -29
  1342. package/src/ui/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
  1343. package/src/ui/utils/virtualList/__workshop__/windowScrolll.tsx +0 -22
  1344. package/src/ui/utils/virtualList/index.ts +0 -1
  1345. package/src/ui/utils/virtualList/virtualList.tsx +0 -189
  1346. /package/src/{ui → core}/components/autocomplete/__workshop__/types.ts +0 -0
  1347. /package/src/{ui → core}/components/toast/toastState.ts +0 -0
  1348. /package/src/{ui → core}/helpers/animation.ts +0 -0
  1349. /package/src/{ui → core}/helpers/element.ts +0 -0
  1350. /package/src/{ui → core}/helpers/scroll.ts +0 -0
  1351. /package/src/{ui → core}/hooks/useCustomValidity.ts +0 -0
  1352. /package/src/{ui → core}/hooks/useGlobalKeyDown.ts +0 -0
  1353. /package/src/{ui → core}/hooks/useMatchMedia.ts +0 -0
  1354. /package/src/{ui → core}/hooks/useMounted.ts +0 -0
  1355. /package/src/{ui → core}/hooks/usePrefersDark.ts +0 -0
  1356. /package/src/{ui → core}/hooks/usePrefersReducedMotion.ts +0 -0
  1357. /package/src/{theme/build → core}/lib/isRecord.ts +0 -0
  1358. /package/src/{ui/observers/resizeObserver.ts → core/observers/resize.ts} +0 -0
  1359. /package/src/{ui/utils → core/primitives}/arrow/cmds.ts +0 -0
  1360. /package/src/{ui → core}/primitives/container/types.ts +0 -0
  1361. /package/src/{ui/utils → core/primitives}/layer/types.ts +0 -0
  1362. /package/src/{ui → core}/primitives/tooltip/tooltipDelayGroup/index.ts +0 -0
  1363. /package/src/{ui → core}/primitives/tooltip/tooltipDelayGroup/types.ts +0 -0
  1364. /package/src/{ui → core}/utils/elementQuery/helpers.ts +0 -0
  1365. /package/src/css/{aspects → props}/pointerEvents/types.ts +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ui/_compat/styles/_responsive.ts","../src/ui/helpers/animation.ts","../src/ui/helpers/focus.ts","../src/ui/hooks/useClickOutside.ts","../src/ui/hooks/useElementRect/useElementRect.ts","../src/ui/hooks/useForwardedRef.ts","../src/ui/utils/errorBoundary.tsx","../src/ui/components/autocomplete/autocompleteOption.tsx","../src/ui/components/autocomplete/autocompleteReducer.ts","../src/ui/components/autocomplete/constants.ts","../src/ui/components/autocomplete/autocomplete.tsx","../src/ui/components/breadcrumbs/breadcrumbs.tsx","../src/ui/components/dialog/dialogContext.ts","../src/ui/components/dialog/useDialog.ts","../src/ui/components/dialog/dialog.tsx","../src/ui/components/dialog/dialogProvider.tsx","../src/ui/components/menu/menuButton.tsx","../src/ui/components/skeleton/skeleton.tsx","../src/ui/components/skeleton/textSkeleton.tsx","../src/ui/components/tab/tabPanel.tsx","../src/ui/components/toast/toast.tsx","../src/ui/hooks/useMounted.ts","../src/ui/components/toast/toastContext.ts","../src/ui/components/toast/toastLayer.tsx","../src/ui/components/toast/toastState.ts","../src/ui/components/toast/toastProvider.tsx","../src/ui/components/toast/useToast.ts","../src/ui/components/tree/helpers.ts","../src/ui/components/tree/treeContext.ts","../src/ui/components/tree/tree.tsx","../src/ui/components/tree/useTree.ts","../src/ui/components/tree/treeGroup.tsx","../src/ui/components/tree/treeItem.tsx","../src/ui/StyleTags.tsx"],"sourcesContent":["import {CSSObject} from '@sanity/ui/theme'\n\n/**\n * @internal\n * @deprecated do not use\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n","/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","import {\n isHTMLAnchorElement,\n isHTMLButtonElement,\n isHTMLElement,\n isHTMLInputElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","import {useEffect, useRef, useState} from 'react'\n\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\nfunction _getElements(\n element: HTMLElement | null,\n elementsArg: ClickOutsideElements,\n): HTMLElement[] {\n const ret = [element]\n\n for (const el of elementsArg) {\n if (Array.isArray(el)) {\n ret.push(...el)\n } else {\n ret.push(el)\n }\n }\n\n return ret.filter(Boolean) as HTMLElement[]\n}\n\n/**\n * @public\n * @deprecated replaced by the new `useClickOutsideEvent` hook, instead of:\n * ```tsx\n * const [button, setButtonElement] = useState(null)\n * useClickOutside((event) => {}, [button])\n * return <button ref={setButtonElement} />\n * ```\n * do:\n * ```tsx\n * const buttonRef = useRef()\n * useClickOutsideEvent((event) => {}, () => [buttonRef.current])\n * return <button ref={buttonRef} />\n * ```\n */\nexport function useClickOutside(\n listener: ClickOutsideListener,\n elementsArg: ClickOutsideElements = EMPTY_ARRAY,\n boundaryElement?: HTMLElement | null,\n): (el: HTMLElement | null) => void {\n const [element, setElement] = useState<HTMLElement | null>(null)\n const [elements, setElements] = useState(() => _getElements(element, elementsArg))\n const elementsRef = useRef(elements)\n\n useEffect(() => {\n const prevElements = elementsRef.current\n const nextElements = _getElements(element, elementsArg)\n\n if (prevElements.length !== nextElements.length) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n\n for (const el of prevElements) {\n if (!nextElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n\n for (const el of nextElements) {\n if (!prevElements.includes(el)) {\n setElements(nextElements)\n elementsRef.current = nextElements\n\n return\n }\n }\n }, [element, elementsArg])\n\n useEffect(() => {\n if (!listener) return undefined\n\n const handleWindowMouseDown = (evt: MouseEvent) => {\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (boundaryElement && !boundaryElement.contains(target)) {\n return\n }\n\n for (const el of elements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n }\n\n window.addEventListener('mousedown', handleWindowMouseDown)\n\n return () => {\n window.removeEventListener('mousedown', handleWindowMouseDown)\n }\n }, [boundaryElement, listener, elements])\n\n return setElement\n}\n","import {useElementSize} from '../useElementSize'\n\n/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(element: HTMLElement | null): DOMRectReadOnly | null {\n const elementSize = useElementSize(element)\n\n return elementSize?._contentRect || null\n}\n","import {ForwardedRef, MutableRefObject, useImperativeHandle, useRef} from 'react'\n\n/**\n * @beta\n * @deprecated use `useImperativeHandle` instead\n * @example\n * ```diff\n * -const ref = useForwardedRef(forwardedRef)\n * +const ref = useRef(null)\n * +useImperativeHandle(forwardedRef, () => ref.current)\n * ```\n */\nexport function useForwardedRef<T>(ref: ForwardedRef<T>): MutableRefObject<T | null> {\n const innerRef = useRef<T | null>(null)\n\n useImperativeHandle(ref, () => innerRef.current!)\n\n return innerRef\n}\n","import {Component, ErrorInfo, PropsWithChildren, ReactNode} from 'react'\n\nimport {Code} from '../primitives/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\n","import {KeyboardEvent, ReactElement, ReactNode, useCallback} from 'react'\n\nimport {_isEnterToClickElement} from '../../helpers'\n\nexport interface AutocompleteOptionProps {\n children: ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): ReactElement {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick],\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg,\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import {Placement} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom-start'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom-start', 'top-start']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {\n ChangeEvent,\n cloneElement,\n ElementType,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\n\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'\nimport {useArrayProp} from '../../hooks'\nimport {\n Box,\n BoxProps,\n Button,\n Card,\n Popover,\n PopoverProps,\n Stack,\n Text,\n TextInput,\n} from '../../primitives'\n// import {Selectable} from '../../primitives/_selectable'\nimport {AnimatedSpinnerIcon} from '../../primitives/spinner/animatedSpinnerIcon'\nimport {Props, Radius} from '../../types'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/**\n * @public\n */\nexport interface AutocompleteProps<Option extends BaseAutocompleteOption = BaseAutocompleteOption> {\n border?: boolean\n customValidity?: string\n disabled?: boolean\n filterOption?: (query: string, option: Option) => boolean\n fontSize?: ResponsiveProp<FontTextSize>\n icon?: ElementType | ReactNode\n id: string\n /** @beta */\n listBox?: BoxProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n /** @beta */\n openOnFocus?: boolean\n /** The options to render. */\n options?: Option[]\n padding?: ResponsiveProp<Space>\n // padding?: number | number[]\n popover?: Omit<Props<PopoverProps, 'div'>, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'>\n prefix?: ReactNode\n radius?: Radius | Radius[]\n readOnly?: boolean\n ref?: ForwardedRef<HTMLInputElement>\n /** @beta */\n relatedElements?: HTMLElement[]\n /** The callback function for rendering each option. */\n renderOption?: (option: Option) => React.JSX.Element\n /** @beta */\n renderPopover?: (\n props: {\n content: React.JSX.Element | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: ForwardedRef<HTMLDivElement>,\n ) => ReactNode\n renderValue?: (value: string, option?: Option) => string\n suffix?: ReactNode\n /** The current value. */\n value?: string\n}\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\nconst InnerAutocomplete = forwardRef(function InnerAutocomplete<\n Option extends BaseAutocompleteOption,\n>(\n props: Omit<\n Props<AutocompleteProps<Option>, 'div'>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'as'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'inputMode'\n | 'role'\n | 'spellCheck'\n | 'type'\n >,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 1,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n openOnFocus,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 2,\n readOnly,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...restProps\n } = props\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Card\n as=\"button\"\n // data-as=\"button\"\n padding={paddingProp}\n radius={2}\n selectable\n // tone=\"inherit\"\n >\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Card>\n ),\n [fontSize, paddingProp],\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLDivElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n // Forward ref to parent\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => inputElementRef.current,\n )\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useArrayProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value],\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query],\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : [],\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements],\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange],\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange],\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange],\n )\n\n const dispatchOpen = useCallback(() => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n }, [currentOption, renderValue, value])\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n if (openOnFocus) dispatchOpen()\n }\n },\n [focused, onFocus, openOnFocus, dispatchOpen],\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n 'onFocus': handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return (v as Space) - 2\n }) as Space[],\n [padding],\n )\n\n const openButtonPadding = useMemo(\n () => padding.map((v) => Math.max((v as Space) - 1, 0)) as Space[],\n [padding],\n )\n\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton],\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatchOpen()\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [openButtonProps, dispatchOpen],\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n display=\"block\"\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ],\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...restProps}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={inputElementRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused],\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <Box\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n space={1}\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n selectable: true,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </Box>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef,\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n overflow=\"auto\"\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={3}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n radius,\n renderPopover,\n ])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </div>\n )\n})\n\nInnerAutocomplete.displayName = 'ForwardRef(Autocomplete)'\n\n/**\n * The Autocomplete component is typically used for search components.\n * It consists of a text input for writing a query, and properties for rendering suggestions.\n *\n * @public\n */\nexport const Autocomplete = InnerAutocomplete as <Option extends BaseAutocompleteOption>(\n props: Omit<\n Props<AutocompleteProps<Option>, 'input'>,\n | 'aria-activedescendant'\n | 'aria-autocomplete'\n | 'aria-expanded'\n | 'aria-owns'\n | 'autoCapitalize'\n | 'autoComplete'\n | 'autoCorrect'\n | 'inputMode'\n | 'role'\n | 'spellCheck'\n | 'type'\n >,\n) => ReactElement\n","import {breadcrumbs, composeClassNames, GapStyleProps} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n Children,\n ForwardedRef,\n forwardRef,\n Fragment,\n isValidElement,\n ReactNode,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {useClickOutsideEvent} from '../../hooks'\nimport {Box, Button, ButtonProps, Flex, Popover, Stack, Text} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @beta\n */\nexport interface BreadcrumbsProps extends GapStyleProps {\n expandButton?: Omit<ButtonProps, 'onClick' | 'selected'>\n maxLength?: number\n separator?: ReactNode\n /** @deprecated - Use `gap`, `gapX`, `gapY` instead */\n space?: number | number[]\n}\n\n/**\n * @beta\n */\nexport const Breadcrumbs = forwardRef(function Breadcrumbs(\n props: Props<BreadcrumbsProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n className,\n expandButton: expandButtonProps,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n gap: _gapProp,\n gapX = props.gap ?? (props.space as Space | undefined) ?? 2,\n gapY = props.gap ?? (props.space as Space | undefined) ?? 2,\n maxLength,\n separator,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n space: _spaceProp,\n ...restProps\n } = props\n const [open, setOpen] = useState(false)\n const expandElementRef = useRef<HTMLButtonElement | null>(null)\n const popoverElementRef = useRef<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutsideEvent(collapse, () => [expandElementRef.current, popoverElementRef.current])\n\n const rawItems = useMemo(() => Children.toArray(children).filter(isValidElement), [children])\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" overflow=\"auto\" space={gapY}>\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n padding={2}\n placement=\"top\"\n portal\n ref={popoverElementRef}\n >\n <Button\n mode=\"bleed\"\n padding={0}\n text=\"…\"\n {...expandButtonProps}\n onClick={open ? collapse : expand}\n ref={expandElementRef}\n selected={open}\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, expandButtonProps, gapY, maxLength, open, rawItems])\n\n return (\n <Flex\n as=\"nav\"\n data-ui=\"Breadcrumbs\"\n {...restProps}\n className={composeClassNames(className, breadcrumbs())}\n gapX={gapX}\n gapY={gapY}\n ref={ref}\n >\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\">\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Flex>\n )\n})\n\nBreadcrumbs.displayName = 'ForwardRef(Breadcrumbs)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {DialogPosition} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * @internal\n */\nexport const DialogContext = createGlobalScopedContext<DialogContextValue>(\n '@sanity/ui/context/dialog',\n {version: 0.0},\n)\n","import {useContext} from 'react'\n\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {\n composeClassNames,\n ContainerStyleProps,\n dialog,\n dialogCardRoot,\n dialogContainer,\n dialogContent,\n dialogFooter,\n dialogHeader,\n dialogLayout,\n PaddingStyleProps,\n RadiusStyleProps,\n ResponsiveProp,\n ShadowStyleProps,\n} from '@sanity/ui/css'\nimport {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {\n FocusEvent,\n ForwardedRef,\n forwardRef,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport {useTheme_v2} from '../../_compat'\nimport {\n containsOrEqualsElement,\n focusFirstDescendant,\n focusLastDescendant,\n isHTMLElement,\n} from '../../helpers'\nimport {\n useArrayProp,\n useClickOutsideEvent,\n useGlobalKeyDown,\n usePrefersReducedMotion,\n} from '../../hooks'\nimport {Box, Button, Card, Container, Flex, Text} from '../../primitives'\nimport {CardTone, DialogPosition, Props, Radius} from '../../types'\nimport {Layer, LayerProps, Portal, useBoundaryElement, useLayer, usePortal} from '../../utils'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ContainerStyleProps, PaddingStyleProps, ShadowStyleProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n /**\n * Whether the dialog should animate in on mount.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n cardRadius?: ResponsiveProp<Radius>\n contentRef?: ForwardedRef<HTMLDivElement>\n footer?: ReactNode\n header?: ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n open?: boolean\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n zOffset?: number | number[]\n}\n\ninterface DialogCardProps extends ContainerStyleProps, RadiusStyleProps, ShadowStyleProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: ReactNode\n contentRef?: ForwardedRef<HTMLDivElement>\n footer: ReactNode\n header: ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n // radius: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n // shadow: number | number[]\n tone?: CardTone\n}\n\nfunction isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n\nconst DialogCard = forwardRef(function DialogCard(\n props: DialogCardProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef: forwardedContentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n radius: radiusProp,\n scheme,\n shadow: shadowProp = 4,\n tone,\n width: widthProp,\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const radius = useArrayProp(radiusProp)\n const shadow = useArrayProp(shadowProp)\n const width = useArrayProp(widthProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const contentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedContentRef,\n () => contentRef.current,\n )\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (ref.current) {\n focusFirstDescendant(ref.current)\n }\n }, [autoFocus, ref])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutsideEvent(\n isTopLayer &&\n onClickOutside &&\n ((event) => {\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n }),\n () => [ref.current],\n )\n\n return (\n <Container\n align=\"center\"\n className={dialogContainer()}\n data-ui=\"DialogCard\"\n direction=\"column\"\n display=\"flex\"\n justify=\"center\"\n width={width}\n >\n <Card\n className={dialogCardRoot()}\n display=\"flex\"\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n tone={tone}\n >\n <Flex className={dialogLayout()} direction=\"column\" flex={1}>\n {showHeader && (\n <Box className={dialogHeader()} position=\"relative\">\n <Flex align=\"flex-start\" padding={3}>\n <Box flex={1} padding={2}>\n {header && (\n <Text id={labelId} size={1} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box flex=\"none\">\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={2}\n />\n </Box>\n )}\n </Flex>\n </Box>\n )}\n <Box\n className={dialogContent()}\n flex={1}\n overflow=\"auto\"\n position=\"relative\"\n ref={contentRef}\n tabIndex={-1}\n >\n {children}\n </Box>\n {footer && (\n <Box className={dialogFooter()} position=\"relative\">\n {footer}\n </Box>\n )}\n </Flex>\n </Card>\n </Container>\n )\n})\n\nDialogCard.displayName = 'ForwardRef(DialogCard)'\n\n/**\n * The Dialog component.\n *\n * @public\n */\nexport const Dialog = forwardRef(function Dialog(\n props: Props<DialogProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const context = useDialog()\n const {layer} = useTheme_v2()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n animate: _animate = false,\n cardRadius: cardRadiusProp = 4,\n // cardShadow = 3,\n children,\n className,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding = 3,\n portal: portalProp,\n position: _positionProp,\n scheme,\n shadow: cardShadow,\n width: widthProp = 0,\n zOffset: _zOffsetProp,\n tone,\n ...restProps\n } = props\n const positionProp = _positionProp ?? (context.position || 'fixed')\n const zOffsetProp = _zOffsetProp ?? (context.zOffset || layer.dialog.zOffset)\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = useArrayProp(cardRadiusProp)\n const position = useArrayProp(positionProp)\n const width = useArrayProp(widthProp)\n const zOffset = useArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>(undefined)\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <Layer\n {...restProps}\n aria-labelledby={labelId}\n aria-modal\n className={composeClassNames(className, dialog())}\n data-animate={animate ? '' : undefined}\n data-ui=\"Dialog\"\n display=\"flex\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n padding={padding}\n position={position}\n ref={ref}\n role=\"dialog\"\n zOffset={zOffset}\n >\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n tone={tone}\n width={width}\n >\n {children}\n </DialogCard>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={postDivRef} tabIndex={0} />\n </Layer>\n </Portal>\n )\n})\n\nDialog.displayName = 'ForwardRef(Dialog)'\n","import {ReactElement, ReactNode, useMemo} from 'react'\n\nimport {DialogPosition} from '../../types'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): ReactElement {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n\nDialogProvider.displayName = 'DialogProvider'\n","import {ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {\n cloneElement,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n KeyboardEvent,\n MouseEvent as ReactMouseEvent,\n ReactElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {ButtonProps, Popover, PopoverProps} from '../../primitives'\nimport {Placement, Props, Radius} from '../../types'\nimport {MenuProps} from './menu'\n\n/**\n * @public\n */\nexport interface MenuButtonProps {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n /**\n * @deprecated Use `popover={{boundaryElement: element}}` instead.\n */\n boundaryElement?: HTMLElement\n button: ReactElement<Props<ButtonProps, 'button'>>\n id: string\n menu?: ReactElement\n onClose?: () => void\n onOpen?: () => void\n /**\n * @deprecated Use `popover={{placement: 'top'}}` instead.\n */\n placement?: Placement\n popover?: Omit<PopoverProps, 'content' | 'open'>\n /**\n * @deprecated Use `popover={{scheme: 'dark'}}` instead.\n */\n popoverScheme?: ThemeColorSchemeKey\n /**\n * @deprecated Use `popover={{radius: 2}}` instead.\n */\n popoverRadius?: Radius | Radius[]\n /**\n * @beta Do not use in production.\n * @deprecated Use `popover={{portal: true}}` instead.\n */\n portal?: boolean\n /**\n * @deprecated Use `popover={{preventOverflow: true}}` instead.\n */\n preventOverflow?: boolean\n}\n\n/**\n * The `MenuButton` component follows the WAI-ARIA specification for menu buttons.\n *\n * @public\n */\nexport const MenuButton = forwardRef(function MenuButton(\n props: MenuButtonProps,\n forwardedRef: ForwardedRef<HTMLButtonElement | null>,\n) {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n boundaryElement: deprecated_boundaryElement,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n onOpen,\n placement: deprecated_placement,\n popoverScheme: deprecated_popoverScheme,\n portal: deprecated_portal = true,\n popover,\n popoverRadius: deprecated_popoverRadius,\n preventOverflow: deprecated_preventOverflow,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n // Notify consumers when the menu opens\n useEffect(() => {\n if (onOpen && open && !openRef.current) {\n onOpen()\n }\n }, [onOpen, open])\n\n // Notify consumers when the menu closes\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n // Prevent mouse event propagation when the menu is open.\n // This is to ensure that `handleBlur` isn't triggered when clicking the menu button whilst open,\n // which can lead to `setOpen` being triggered multiple times (once by `handleBlur`, and again by `handleButtonClick`).\n const handleMouseDown = useCallback(\n (event: ReactMouseEvent<HTMLElement>) => {\n if (open) event.preventDefault()\n },\n [open],\n )\n\n const handleButtonKeyDown = useCallback((event: KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements],\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements],\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => setChildMenuElements((els) => els.filter((_el) => _el !== el))\n }, [])\n\n const menuProps: Props<MenuProps, 'div'> = {\n 'aria-labelledby': id,\n 'onBlurCapture': handleBlur,\n 'onClickOutside': handleMenuClickOutside,\n 'onEscape': handleMenuEscape,\n 'onItemClick': handleItemClick,\n 'originElement': buttonElement,\n registerElement,\n shouldFocus,\n }\n\n const menu = menuProp && cloneElement(menuProp, menuProps)\n\n const button = useMemo(() => {\n if (!buttonProp) return null\n\n const buttonProps = {\n 'data-ui': 'MenuButton',\n id,\n 'onClick': handleButtonClick,\n 'onKeyDown': handleButtonKeyDown,\n 'onMouseDown': handleMouseDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n 'ref': setButtonElement,\n 'selected': buttonProp.props.selected ?? open,\n } satisfies Props<ButtonProps, 'button'> & {ref: ForwardedRef<HTMLButtonElement>}\n\n return cloneElement(buttonProp, buttonProps)\n }, [buttonProp, handleButtonClick, handleButtonKeyDown, handleMouseDown, id, open])\n\n // Forward button ref to parent\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => buttonElement,\n [buttonElement],\n )\n\n const popoverProps: MenuButtonProps['popover'] = useMemo(\n () => ({\n boundaryElement: deprecated_boundaryElement,\n overflow: 'auto',\n placement: deprecated_placement,\n portal: deprecated_portal,\n preventOverflow: deprecated_preventOverflow,\n radius: deprecated_popoverRadius,\n scheme: deprecated_popoverScheme,\n ...(popover || {}),\n }),\n [\n deprecated_boundaryElement,\n deprecated_placement,\n deprecated_popoverRadius,\n deprecated_popoverScheme,\n deprecated_portal,\n deprecated_preventOverflow,\n popover,\n ],\n )\n\n return (\n <Popover data-ui=\"MenuButton__popover\" {...popoverProps} content={menu} open={open}>\n {button || <></>}\n </Popover>\n )\n})\n\nMenuButton.displayName = 'ForwardRef(MenuButton)'\n","import {composeClassNames, skeleton, SkeletonStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useEffect, useState} from 'react'\n\nimport {Box, BoxProps} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends SkeletonStyleProps, Omit<BoxProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Skeleton = forwardRef(function Skeleton(\n props: Props<SkeletonProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {animated = false, className, delay, radius, ...restProps} = props\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <Box\n data-ui=\"Skeleton\"\n {...restProps}\n className={composeClassNames(className, skeleton({radius}))}\n data-animated={animated ? '' : undefined}\n data-visible={visible ? '' : undefined}\n ref={ref}\n />\n )\n})\n\nSkeleton.displayName = 'ForwardRef(Skeleton)'\n","import {\n codeSkeleton,\n composeClassNames,\n headingSkeleton,\n labelSkeleton,\n ResponsiveProp,\n textSkeleton,\n} from '@sanity/ui/css'\nimport {FontCodeSize, FontHeadingSize, FontLabelSize, FontTextSize} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: ResponsiveProp<FontTextSize>\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: ResponsiveProp<FontLabelSize>\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: ResponsiveProp<FontHeadingSize>\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: ResponsiveProp<FontCodeSize>\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TextSkeleton = forwardRef(function TextSkeleton(\n props: Props<TextSkeletonProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, size = 2, ...restProps} = props\n\n return (\n <Skeleton\n data-ui=\"TextSkeleton\"\n {...restProps}\n className={composeClassNames(className, textSkeleton({size}))}\n ref={ref}\n />\n )\n})\n\nTextSkeleton.displayName = 'ForwardRef(TextSkeleton)'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const LabelSkeleton = forwardRef(function TextSkeleton(\n props: Props<LabelSkeletonProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, size = 2, ...restProps} = props\n\n return (\n <Skeleton\n data-ui=\"LabelSkeleton\"\n {...restProps}\n className={composeClassNames(className, labelSkeleton({size}))}\n ref={ref}\n />\n )\n})\n\nLabelSkeleton.displayName = 'ForwardRef(LabelSkeleton)'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const HeadingSkeleton = forwardRef(function TextSkeleton(\n props: Props<HeadingSkeletonProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, size = 2, ...restProps} = props\n\n return (\n <Skeleton\n {...restProps}\n className={composeClassNames(className, headingSkeleton({size}))}\n ref={ref}\n />\n )\n})\n\nHeadingSkeleton.displayName = 'ForwardRef(HeadingSkeleton)'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const CodeSkeleton = forwardRef(function TextSkeleton(\n props: Props<CodeSkeletonProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, size = 2, ...restProps} = props\n\n return (\n <Skeleton\n // root\n {...restProps}\n className={composeClassNames(className, codeSkeleton({size}))}\n ref={ref}\n />\n )\n})\n\nCodeSkeleton.displayName = 'ForwardRef(CodeSkeleton)'\n","import {ForwardedRef, forwardRef} from 'react'\n\nimport {Box, BoxProps} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n 'id': string\n}\n\n/**\n * @public\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: Props<TabPanelProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n ref={ref}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n})\n\nTabPanel.displayName = 'ForwardRef(TabPanel)'\n","import {CloseIcon} from '@sanity/icons'\nimport {\n RadiusStyleProps,\n toast,\n toastLoadingBar,\n toastLoadingBarMask,\n toastLoadingBarProgress,\n} from '@sanity/ui/css'\nimport {ThemeColorStateToneKey} from '@sanity/ui/theme'\nimport {motion, type Variant, type Variants} from 'framer-motion'\nimport {ReactElement, ReactNode} from 'react'\n\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {Box, Button, Card, Flex, Stack, Text} from '../../primitives'\nimport {ButtonTone, Props} from '../../types'\n\n/**\n * @public\n */\nexport interface ToastProps extends RadiusStyleProps {\n closable?: boolean\n description?: ReactNode\n onClose?: () => void\n title?: ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n duration?: number\n updatedAt?: number\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n} as const\n\nconst STATUS_CARD_TONE = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'neutral',\n} satisfies {[key: string]: ThemeColorStateToneKey}\n\nconst BUTTON_TONE = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'neutral',\n} satisfies {[key: string]: ButtonTone}\n\n// Support pattern used by Sanity Studio, that works around the lack of `duration: Infinity` support in older @sanity/ui versions\n// https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value\nconst LONG_ENOUGH_BUT_NOT_TOO_LONG = 1000 * 60 * 60 * 24 * 24\n\n/**\n * The `Toast` component gives feedback to users when an action has taken place.\n *\n * Toasts can be closed with a close button, or auto-dismiss after a certain timeout.\n *\n * @public\n */\nexport function Toast(\n props: Omit<\n Props<ToastProps, 'div'>,\n 'onDrag' | 'onDragEnd' | 'onDragStart' | 'onAnimationStart'\n >,\n): ReactElement {\n const {\n closable,\n description,\n duration,\n onClose,\n radius = 3,\n title,\n status,\n updatedAt,\n ...restProps\n } = props\n\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const buttonTone = status ? BUTTON_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n const prefersReducedMotion = usePrefersReducedMotion()\n\n const visualDuration: number = prefersReducedMotion ? 0 : 0.26\n const transition = visualDuration ? {type: 'spring', visualDuration, bounce: 0.25} : {duration: 0}\n\n const hasDuration = duration && isFinite(duration) && duration < LONG_ENOUGH_BUT_NOT_TOO_LONG\n const initial: ContainerVariants[] = ['hidden', 'initial']\n const animate: ContainerVariants[] = ['visible', 'slideIn']\n const exit: ContainerVariants[] = ['hidden', 'slideOut']\n\n return (\n <MotionCard\n as=\"li\"\n className={toast()}\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n data-has-duration={hasDuration ? '' : undefined}\n custom={visualDuration}\n radius={radius}\n shadow={2}\n tone={cardTone}\n layout=\"position\"\n variants={container}\n initial={initial}\n animate={animate}\n exit={exit}\n transition={transition}\n position=\"relative\"\n >\n <MotionFlex align=\"flex-start\" variants={content} transition={transition}>\n <Flex flex={1} overflowX=\"auto\" padding={3}>\n <Stack space={3}>\n {title && (\n <Text size={1} weight=\"medium\">\n {title}\n </Text>\n )}\n {description && (\n <MotionText muted size={1} variants={content} transition={transition}>\n {description}\n </MotionText>\n )}\n </Stack>\n </Flex>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n tone={buttonTone}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </MotionFlex>\n {hasDuration && (\n <MotionBox className={toastLoadingBar()} variants={content} transition={transition}>\n <Card className={toastLoadingBarMask()} tone={cardTone} radius={radius} />\n <MotionCard\n // const MotionToast = motion.create(Card) // StyledToast\n // const MotionFlex = motion.create(Flex)\n // const MotionText = motion.create(Text)\n // const MotionLoadingBar = motion.create(Box) // LoadingBar\n // const MotionLoadingBarProgress = motion.create(Card)\n\n className={toastLoadingBarProgress()}\n key={`progress-${updatedAt}`}\n tone={cardTone}\n initial={{scaleX: 0}}\n animate={{scaleX: 1}}\n transition={{delay: visualDuration, duration: duration / 1_000, ease: 'linear'}}\n onAnimationComplete={onClose}\n />\n </MotionBox>\n )}\n </MotionCard>\n )\n}\n\nToast.displayName = 'Toast'\n\nconst container = {\n initial: {y: 32, scale: 0.5, zIndex: 1},\n hidden: {opacity: 0},\n visible: (visualDuration: number) => {\n if (!visualDuration) return {opacity: 1}\n\n return {\n opacity: 1,\n transition: {\n when: 'beforeChildren',\n staggerChildren: visualDuration / 3,\n duration: visualDuration / 3,\n },\n }\n },\n slideIn: {\n y: 0,\n scale: 1,\n },\n slideOut: {\n zIndex: 0,\n scale: 0.75,\n },\n} satisfies Variants\ntype ContainerVariants = keyof typeof container\n\nconst content = {\n initial: {\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n },\n} satisfies Partial<Record<ContainerVariants, Variant>>\n\nconst MotionCard = motion.create(Card)\nconst MotionFlex = motion.create(Flex)\nconst MotionText = motion.create(Text)\nconst MotionBox = motion.create(Box)\n","import {useSyncExternalStore} from 'react'\n\n/**\n * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.\n * @public\n */\nexport function useMounted(): boolean {\n return useSyncExternalStore(\n subscribe,\n () => true,\n () => false,\n )\n}\n\nconst subscribe = () => () => {}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {ToastContextValue} from './types'\n\nexport const ToastContext = createGlobalScopedContext<ToastContextValue | null>(\n '@sanity/ui/context/toast',\n null,\n)\n","import {GapStyleProps, PaddingStyleProps, toastLayer} from '@sanity/ui/css'\nimport {ReactNode} from 'react'\n\nimport {Grid} from '../../primitives/grid'\nimport {useLayer} from '../../utils'\n\n/**\n * @public\n */\nexport interface ToastLayerProps extends GapStyleProps, PaddingStyleProps {\n children: ReactNode\n}\n\n/**\n * @internal\n */\nexport function ToastLayer(props: ToastLayerProps): React.JSX.Element {\n const {children, padding = 4, paddingX, paddingY, gap = 3} = props\n const {zIndex} = useLayer()\n\n return (\n <Grid\n as=\"ul\"\n className={toastLayer()}\n data-ui=\"ToastProvider\"\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n gap={gap}\n columns={1}\n style={{zIndex}}\n >\n {children}\n </Grid>\n )\n}\n\nToastLayer.displayName = 'ToastLayer'\n","let toastId = 0\n\n/** @internal */\nexport function generateToastId(): string {\n return String(toastId++)\n}\n","import {AnimatePresence} from 'framer-motion'\nimport {startTransition, useMemo, useState} from 'react'\n\nimport {useMounted} from '../../hooks/useMounted'\nimport {LayerProvider} from '../../utils'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastLayer, type ToastLayerProps} from './toastLayer'\nimport {generateToastId} from './toastState'\nimport {ToastContextValue, ToastParams} from './types'\n\ntype ToastState = {\n dismiss: () => void\n id: string\n updatedAt: number\n params: ToastParams\n}[]\n\n/**\n * @public\n */\nexport interface ToastProviderProps extends Omit<ToastLayerProps, 'children'> {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.JSX.Element {\n const {children, padding, paddingX, paddingY, gap, zOffset = 1} = props\n const [state, setState] = useState<ToastState>([])\n const mounted = useMounted()\n\n const value: ToastContextValue = useMemo(() => {\n const push = (params: ToastParams) => {\n const id = params.id || generateToastId()\n const duration = params.duration || 5000\n\n startTransition(() => {\n setState((prevState): ToastState => {\n /**\n * Backwards compatibility for `sanity` patterns workaround a lack of programatically dismissible toasts.\n * It uses a super short duration that closes the toast immediately in previous versions of `@sanity/ui`.\n * We interpret this as a request to dismiss the toast immediately, and remove it from the state right away.\n * Even once we support programatic dismissal we'll need to keep this for backwards compatibility with v2 and v1.\n */\n if (duration === 0.01) {\n return prevState.filter((toast) => toast.id !== id)\n }\n\n /**\n * Creates a function to dismiss this specific toast.\n * This function will be passed to the Toast component\n * and called either on close button click or after duration.\n */\n const dismiss = () =>\n startTransition(() =>\n setState((currentState) => currentState.filter((toast) => toast.id !== id)),\n )\n\n /**\n * Create updated state by:\n * 1. Removing any existing toast with the same ID (prevents duplicates)\n * 2. Adding the new toast with its dismiss handler\n * 3. Updates the `updatedAt` timestamp, which resets progress bar count downs.\n */\n return [\n ...prevState.filter((toast) => toast.id !== id),\n {\n dismiss,\n id,\n updatedAt: Date.now(),\n params: {...params, duration},\n },\n ]\n })\n })\n\n return id\n }\n\n return {version: 0.0, push}\n }, [])\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n {mounted && (\n <LayerProvider zOffset={zOffset}>\n <ToastLayer padding={padding} paddingX={paddingX} paddingY={paddingY} gap={gap}>\n <AnimatePresence initial={false} mode=\"popLayout\">\n {state.map(({dismiss, id, params, updatedAt}) => (\n <Toast\n key={id}\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n duration={params.duration}\n updatedAt={updatedAt}\n />\n ))}\n </AnimatePresence>\n </ToastLayer>\n </LayerProvider>\n )}\n </ToastContext.Provider>\n )\n}\n\nToastProvider.displayName = 'ToastProvider'\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const TreeContext = createGlobalScopedContext<TreeContextValue | null>(\n '@sanity/ui/context/tree',\n null,\n)\n","import {GapStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n FocusEvent,\n ForwardedRef,\n forwardRef,\n KeyboardEvent,\n memo,\n ReactElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {Stack} from '../../primitives'\nimport {Props} from '../../types'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps extends Pick<GapStyleProps, 'gap'> {\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const Tree = memo(\n forwardRef(function Tree(\n props: Props<TreeProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n ): ReactElement {\n const {children, gap, space = 1, onFocus, ...restProps} = props\n const ref = useRef<HTMLDivElement | null>(null)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n space,\n state,\n }),\n [focusedElement, itemElements, path, registerItem, setExpanded, space, state],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!ref.current) return\n const _itemElements = Array.from(\n ref.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n gap={gap ?? space}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tree\"\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n }),\n)\nTree.displayName = 'Memo(ForwardRef(Tree))'\n","import {useContext} from 'react'\n\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {memo, ReactElement} from 'react'\n\nimport {Stack} from '../../primitives'\nimport {Props} from '../../types'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport const TreeGroup = memo(function TreeGroup(\n props: Props<TreeGroupProps, 'div'>,\n): ReactElement {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.space}\n role=\"group\"\n space={tree.space}\n >\n {children}\n </Stack>\n )\n})\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {composeClassNames, ResponsiveProp, treeItem} from '@sanity/ui/css'\nimport {FontTextSize, Space, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {\n ElementType,\n KeyboardEvent,\n memo,\n MouseEvent,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n} from 'react'\n\nimport {Box, CardProps, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {Props} from '../../types'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps extends CardProps {\n expanded?: boolean\n fontSize?: ResponsiveProp<FontTextSize>\n icon?: ElementType\n /**\n * Allows passing a custom element type to the link component\n */\n linkAs?: ElementType\n padding?: ResponsiveProp<Space>\n space?: ResponsiveProp<Space>\n text?: ReactNode\n weight?: ThemeFontWeightKey\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const TreeItem = memo(function TreeItem(\n props: Omit<Props<TreeItemProps, 'div'>, 'as'>,\n): ReactElement {\n const {\n children,\n className,\n expanded: expandedProp = false,\n fontSize = 1,\n href,\n icon: IconComponent,\n id: idProp,\n linkAs = 'a',\n muted,\n onClick,\n padding = 2,\n radius = 2,\n selected = false,\n space = 2,\n text,\n weight,\n ...restProps\n } = props\n const rootRef = useRef<HTMLDivElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootRef.current\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused],\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex gap={space} padding={padding}>\n <Box\n style={{\n visibility: IconComponent || children ? 'visible' : 'hidden',\n pointerEvents: 'none',\n }}\n >\n {IconComponent && (\n <Text muted={muted} size={fontSize} weight={weight}>\n <IconComponent />\n </Text>\n )}\n {!IconComponent && (\n <Text muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </Text>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Box\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n as=\"li\"\n className={composeClassNames(className, treeItem())}\n onClick={handleClick}\n ref={rootRef}\n role=\"none\"\n >\n <Selectable\n aria-expanded={expanded}\n as={linkAs}\n data-pressed={selected ? '' : undefined}\n data-ui=\"TreeItem__box\"\n href={href}\n radius={radius}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n style={{\n paddingLeft: `calc(var(--space-2) * ${tree.level})`,\n }}\n >\n {content}\n </Selectable>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Box>\n )\n }\n\n return (\n <Box\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n className={composeClassNames(className, treeItem())}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <Selectable\n as=\"button\"\n data-pressed={selected ? '' : undefined}\n data-ui=\"TreeItem__box\"\n radius={radius}\n style={{\n paddingLeft: `calc(var(--space-2) * ${tree.level})`,\n }}\n >\n {content}\n </Selectable>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Box>\n )\n})\n\nTreeItem.displayName = 'Memo(TreeItem)'\n","import {compilePalette, compileSystem, compileTheme} from '@sanity/ui/css'\nimport {buildTheme_v3, RootTheme, Theme_v3} from '@sanity/ui/theme'\nimport {ReactNode} from 'react'\n\n/* @beta */\nexport function StyleTags(props: {theme?: Theme_v3}): ReactNode {\n const {theme: themeProp} = props\n\n const theme = themeProp ?? buildTheme_v3()\n\n return (\n <>\n <style href=\"sanity-palette\" precedence=\"palette\">\n {compilePalette()}\n </style>\n <style href=\"sanity-theme\" precedence=\"theme\">\n {compileTheme({v3: theme} as RootTheme)}\n </style>\n <style href=\"sanity-system\" precedence=\"system\">\n {compileSystem()}\n </style>\n </>\n )\n}\n"],"names":["_responsive","media","values","callback","map","statement","mediaIndex","_raf","fn","frameId","requestAnimationFrame","cancelAnimationFrame","_raf2","innerDispose","outerDispose","_hasFocus","element","Boolean","document","activeElement","contains","isFocusable","tabIndex","getAttribute","isHTMLAnchorElement","href","rel","isHTMLInputElement","type","disabled","isHTMLButtonElement","isHTMLSelectElement","isHTMLTextAreaElement","attemptFocus","focus","focusFirstDescendant","i","childNodes","length","child","isHTMLElement","focusLastDescendant","_getElements","elementsArg","ret","el","Array","isArray","push","filter","useClickOutside","listener","t0","boundaryElement","$","_c","undefined","EMPTY_ARRAY","setElement","useState","t1","elements","setElements","elementsRef","useRef","t2","t3","prevElements","current","nextElements","includes","el_0","useEffect","t4","t5","handleWindowMouseDown","evt","target","Node","el_1","window","addEventListener","removeEventListener","useElementRect","useElementSize","_contentRect","useForwardedRef","ref","innerRef","Symbol","for","useImperativeHandle","ErrorBoundary","Component","state","error","getDerivedStateFromError","componentDidCatch","info","props","onCatch","render","message","jsx","Code","children","AutocompleteOption","id","onSelect","selected","value","setTimeout","handleClick","event","key","_isEnterToClickElement","currentTarget","handleKeyDown","autocompleteReducer","msg","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","indexOf","InnerAutocomplete","forwardRef","forwardedRef","border","customValidity","filterOption","filterOptionProp","fontSize","icon","listBox","EMPTY_RECORD","loading","onBlur","onChange","onFocus","onQueryChange","openButton","openOnFocus","options","optionsProp","padding","paddingProp","popover","prefix","radius","readOnly","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","suffix","valueProp","restProps","dispatch","useReducer","defaultRenderOption","useCallback","Card","Text","rootElementRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valueRef","valuePropRef","popoverMouseWithinRef","listBoxId","useArrayProp","currentOption","useMemo","find","o","filteredOptions","filteredOptionsLen","activeItemId","expanded","handleRootBlur","concat","focusInside","e","handleRootFocus","listBoxElement","focusedElement","HTMLElement","handleOptionSelect","v","handleRootKeyDown","preventDefault","activeOption","activeIndex","nextActiveOption","listEl","handleInputChange","nextQuery","dispatchOpen","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","listElement","activeItemElement","clearButton","openButtonBoxPadding","openButtonPadding","Math","max","openButtonProps","handleOpenClick","onClick","openButtonNode","Box","Button","ChevronDownIcon","inputValue","input","TextInput","AnimatedSpinnerIcon","handleListBoxKeyDown","content","Stack","active","cloneElement","selectable","results","hidden","inputElement","onMouseEnter","onMouseLeave","Popover","jsxs","displayName","Autocomplete","Breadcrumbs","className","expandButton","expandButtonProps","gap","_gapProp","gapX","space","gapY","maxLength","separator","_spaceProp","open","setOpen","expandElementRef","popoverElementRef","collapse","expand","useClickOutsideEvent","rawItems","Children","toArray","isValidElement","items","len","beforeLength","ceil","afterLength","floor","slice","Flex","composeClassNames","breadcrumbs","item","itemIndex","Fragment","DialogContext","createGlobalScopedContext","version","useDialog","useContext","isTargetWithinScope","portalElement","containsOrEqualsElement","DialogCard","__unstable_autoFocus","autoFocus","__unstable_hideCloseButton","hideCloseButton","contentRef","forwardedContentRef","footer","header","onClickOutside","onClose","portal","portalProp","radiusProp","scheme","shadow","tone","width","widthProp","shadowProp","usePortal","useBoundaryElement","layer","useLayer","isTopLayer","labelId","showCloseButton","showHeader","stopPropagation","useGlobalKeyDown","t6","event_0","target_0","t7","t8","dialogContainer","t9","dialogCardRoot","t10","dialogLayout","t11","dialogHeader","CloseIcon","t12","dialogContent","t13","t14","dialogFooter","t15","t16","t17","Container","Dialog","context","useTheme_v2","_positionProp","_zOffsetProp","cardShadow","onActivate","animate","cardRadius","position","zOffset","_animate","cardRadiusProp","positionProp","zOffsetProp","dialog","usePrefersReducedMotion","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","handleFocus","rootClickTimeoutRef","clearTimeout","body","cardElement_0","handleRootClick","Layer","Portal","DialogProvider","contextValue","MenuButton","__unstable_disableRestoreFocusOnClose","deprecated_boundaryElement","button","buttonProp","menu","menuProp","onOpen","placement","deprecated_placement","popoverScheme","deprecated_popoverScheme","popoverRadius","deprecated_popoverRadius","preventOverflow","deprecated_preventOverflow","disableRestoreFocusOnClose","deprecated_portal","shouldFocus","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","_temp","handleButtonClick","handleMouseDown","handleButtonKeyDown","event_1","handleMenuClickOutside","handleMenuEscape","event_2","relatedTarget","handleBlur","handleItemClick","els","els_0","_el","registerElement","t18","bb0","t19","t20","t21","t22","t23","overflow","popoverProps","t24","t25","Skeleton","delay","animated","visible","setVisible","timeout","skeleton","TextSkeleton","size","textSkeleton","LabelSkeleton","labelSkeleton","HeadingSkeleton","headingSkeleton","CodeSkeleton","codeSkeleton","TabPanel","flex","ROLES","warning","success","STATUS_CARD_TONE","BUTTON_TONE","LONG_ENOUGH_BUT_NOT_TOO_LONG","Toast","closable","description","duration","status","title","updatedAt","cardTone","buttonTone","role","visualDuration","bounce","transition","hasDuration","isFinite","initial","exit","toast","verticalAlign","toastLoadingBar","toastLoadingBarMask","toastLoadingBarProgress","scaleX","ease","container","y","scale","zIndex","opacity","when","staggerChildren","slideIn","slideOut","willChange","MotionCard","motion","create","MotionFlex","MotionText","MotionBox","useMounted","useSyncExternalStore","subscribe","_temp2","ToastContext","ToastLayer","paddingX","paddingY","toastLayer","Grid","toastId","generateToastId","String","ToastProvider","setState","mounted","params","startTransition","prevState","dismiss","currentState","toast_0","toast_1","Date","now","LayerProvider","AnimatePresence","dismiss_0","id_0","params_0","useToast","Error","isRecord","_findPrevItemElement","itemElements","idx","itemKey","segments","split","pop","p","j","k","join","_findNextItemElement","_focusItemElement","firstChild","TreeContext","Tree","memo","setFocusedElement","path","setItemElements","stateRef","path_0","s","s_0","newState","registerItem","path_1","expanded_0","s_1","itemState","setExpanded","level","nextEl","prevEl","itemState_0","s_2","itemState_1","itemPath","parentKey","parentState","focusedKey","s_3","itemState_2","_itemElements","from","querySelectorAll","useTree","tree","TreeGroup","TreeItem","expandedProp","IconComponent","idProp","linkAs","muted","text","weight","rootRef","treeitemRef","_id","useId","closest","click","visibility","pointerEvents","ToggleArrowRightIcon","transform","treeItem","Selectable","paddingLeft","StyleTags","theme","themeProp","buildTheme_v3","compilePalette","compileTheme","v3","compileSystem"],"mappings":";;;AAMgBA,SAAAA,YACdC,OACAC,QACAC,UACa;AAGb,UAFmBD,QAAQE,IAAID,QAAQ,KAAK,CAAE,GAE5BC,IAAI,CAACC,WAAWC,eAC5BA,eAAe,IAAUD,YAEtB;AAAA,IAAC,CAAC,iCAAiCJ,MAAMK,aAAa,CAAC,CAAC,KAAK,GAAGD;AAAAA,EAAAA,CACxE;AACH;ACfO,SAASE,KAAKC,IAA4B;AACzCC,QAAAA,UAAUC,sBAAsBF,EAAE;AAExC,SAAO,MAAM;AACXG,yBAAqBF,OAAO;AAAA,EAC9B;AACF;AAKO,SAASG,MAAMJ,IAA4B;AAChD,MAAIK,eAAoC;AAElCC,QAAAA,eAAeP,KAAK,MAAM;AAC9BM,mBAAeN,KAAKC,EAAE;AAAA,EAAA,CACvB;AAED,SAAO,MAAM;AACPK,oBAAcA,aAAa,GAE/BC,aAAa;AAAA,EACf;AACF;ACVO,SAASC,UAAUC,SAA+B;AACvD,SAAOC,EAAQC,SAASC,iBAAkBH,QAAQI,SAASF,SAASC,aAAa;AACnF;AAKO,SAASE,YAAYL,SAA+B;AAEvDA,SAAAA,QAAQM,WAAW,KAClBN,QAAQM,aAAa,KAAKN,QAAQO,aAAa,UAAU,MAAM,OAEzD,KAGLC,mCAAoBR,OAAO,IACtBC,CAAAA,CAAQD,QAAQS,QAAST,QAAQU,QAAQ,WAG9CC,eAAAA,mBAAmBX,OAAO,IACrBA,QAAQY,SAAS,YAAYZ,QAAQY,SAAS,UAAU,CAACZ,QAAQa,WAIxEC,eAAAA,oBAAoBd,OAAO,KAC3Be,mCAAoBf,OAAO,KAC3BgB,eAAAA,sBAAsBhB,OAAO,IAEtB,CAACA,QAAQa,WAGX;AACT;AAKO,SAASI,aAAajB,SAA+B;AACtD,MAAA,CAACK,YAAYL,OAAO;AACf,WAAA;AAKL,MAAA;AACFA,YAAQkB,MAAM;AAAA,EAAA,QACR;AAAA,EAAA;AAMR,SAAOhB,SAASC,kBAAkBH;AACpC;AAKO,SAASmB,qBAAqBnB,SAA+B;AAClE,WAASoB,IAAI,GAAGA,IAAIpB,QAAQqB,WAAWC,QAAQF,KAAK;AAC5CG,UAAAA,QAAQvB,QAAQqB,WAAWD,CAAC;AAElC,QAAII,eAAAA,cAAcD,KAAK,MAAMN,aAAaM,KAAK,KAAKJ,qBAAqBI,KAAK;AACrE,aAAA;AAAA,EAAA;AAIJ,SAAA;AACT;AAKO,SAASE,oBAAoBzB,SAA+B;AACjE,WAASoB,IAAIpB,QAAQqB,WAAWC,SAAS,GAAGF,KAAK,GAAGA,KAAK;AACjDG,UAAAA,QAAQvB,QAAQqB,WAAWD,CAAC;AAElC,QAAII,eAAAA,cAAcD,KAAK,MAAMN,aAAaM,KAAK,KAAKE,oBAAoBF,KAAK;AACpE,aAAA;AAAA,EAAA;AAIJ,SAAA;AACT;ACrFA,SAASG,aACP1B,SACA2B,aACe;AACTC,QAAAA,MAAM,CAAC5B,OAAO;AAEpB,aAAW6B,MAAMF;AACXG,UAAMC,QAAQF,EAAE,IAClBD,IAAII,KAAK,GAAGH,EAAE,IAEdD,IAAII,KAAKH,EAAE;AAIRD,SAAAA,IAAIK,OAAOhC,OAAO;AAC3B;AAiBOiC,SAAAA,gBAAAC,UAAAC,IAAAC,iBAAA;AAAA,QAAAC,IAAAC,qBAAAA,EAAA,EAAA,GAELZ,cAAAS,OAA+CI,SAAAC,eAAAA,cAA/CL,IAGA,CAAApC,SAAA0C,UAAA,IAA8BC,MAAAA,aAAiC;AAACC,MAAAA;AAAAN,IAAAtC,CAAAA,MAAAA,WAAAsC,SAAAX,eACvBiB,KAAAA,MAAMlB,aAAa1B,SAAS2B,WAAW,GAACW,OAAAtC,SAAAsC,OAAAX,aAAAW,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAAjF,QAAA,CAAAO,UAAAC,WAAA,IAAgCH,MAAAA,SAASC,EAAwC,GACjFG,cAAoBC,MAAAA,OAAOH,QAAQ;AAAC,MAAAI,IAAAC;AAAAZ,IAAAtC,CAAAA,MAAAA,WAAAsC,SAAAX,eAE1BsB,KAAAA,MAAA;AACR,UAAAE,eAAqBJ,YAAWK,SAChCC,eAAqB3B,aAAa1B,SAAS2B,WAAW;AAElDwB,QAAAA,aAAY7B,WAAY+B,aAAY/B,QAAO;AACjC+B,kBAAAA,YAAY,GACxBN,YAAWK,UAAWC;AAAY;AAAA,IAAA;AAAA,eAK/BxB,MAAYsB;AAAY,UAAA,CACtBE,aAAYC,SAAUzB,EAAE,GAAC;AAChBwB,oBAAAA,YAAY,GACxBN,YAAWK,UAAWC;AAAY;AAAA,MAAA;AAAA,eAMjCE,QAAYF;AAAY,UAAA,CACtBF,aAAYG,SAAUzB,IAAE,GAAC;AAChBwB,oBAAAA,YAAY,GACxBN,YAAWK,UAAWC;AAAY;AAAA,MAAA;AAAA,EAKrCH,GAAAA,KAAA,CAAClD,SAAS2B,WAAW,GAACW,OAAAtC,SAAAsC,OAAAX,aAAAW,OAAAW,IAAAX,OAAAY,OAAAD,KAAAX,EAAA,CAAA,GAAAY,KAAAZ,EAAA,CAAA,IA5BzBkB,MAAAA,UAAUP,IA4BPC,EAAsB;AAAC,MAAAO,IAAAC;AAAA,SAAApB,EAAAD,CAAAA,MAAAA,mBAAAC,SAAAO,YAAAP,EAAA,CAAA,MAAAH,YAEhBsB,KAAAA,MAAA;AAAA,QAAA,CACHtB;AAAQ;AAEb,UAAAwB,wBAAAC,CAAA,QAAA;AACE,YAAAC,SAAeD,IAAGC;AAAO,UAEnBA,kBAAMC,QAIRzB,EAAAA,mBAAoBA,CAAAA,gBAAejC,SAAUyD,MAAM,IAAC;AAAA,mBAInDE,QAAYlB;AAAQ,cACnBgB,WAAWhC,QAAMA,KAAEzB,SAAUyD,MAAM;AAAC;AAK1C1B,iBAASyB,GAAG;AAAA,MAAA;AAAA,IAAC;AAGfI,WAAAA,OAAAC,iBAAwB,aAAaN,qBAAqB,GAAC,MAAA;AAGzDO,aAAAA,oBAA2B,aAAaP,qBAAqB;AAAA,IAAC;AAAA,EAAA,GAE/DD,KAACrB,CAAAA,iBAAiBF,UAAUU,QAAQ,GAACP,OAAAD,iBAAAC,OAAAO,UAAAP,OAAAH,UAAAG,QAAAmB,IAAAnB,QAAAoB,OAAAD,KAAAnB,EAAA,EAAA,GAAAoB,KAAApB,EAAA,EAAA,IA5BxCkB,MAAUC,UAAAA,IA4BPC,EAAqC,GAEjChB;AAAU;AC3GZ,SAAAyB,eAAAnE,SAAA;AACeoE,SAAAA,8BAAepE,OAAO,GAExBqE,gBAAsB;AAAA;ACCnC,SAAAC,gBAAAC,KAAA;AAAA,QAAAjC,IAAAC,qBAAAA,EAAA,CAAA,GACLiC,WAAiBxB,aAAA,IAAqB;AAACZ,MAAAA;AAAAE,SAAAA,EAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAEdtC,KAAAA,MAAMoC,SAAQpB,SAASd,OAAAF,MAAAA,KAAAE,EAAA,CAAA,GAAhDqC,0BAAoBJ,KAAKnC,EAAuB,GAEzCoC;AAAQ;ACOV,MAAMI,sBAAsBC,MAAAA,UAAkD;AAAA,EACnFC,QAA4B;AAAA,IAACC,OAAO;AAAA,EAAI;AAAA,EAExC,OAAOC,yBAAyBD,OAAkC;AAEzD,WAAA;AAAA,MAACA;AAAAA,IAAK;AAAA,EAAA;AAAA,EAGfE,kBAAkBF,OAAcG,MAAuB;AACrD,SAAKC,MAAMC,QAAQ;AAAA,MAACL;AAAAA,MAAOG;AAAAA,IAAAA,CAAK;AAAA,EAAA;AAAA,EAGlCG,SAAoB;AACZ,UAAA;AAAA,MAACN;AAAAA,QAAS,KAAKD;AAErB,QAAIC,OAAO;AACT,YAAMO,UAAU,OAAOP,OAAOO,WAAY,WAAWP,MAAMO,UAAU;AAE9D,aAAAC,2BAAA,IAACC,uBAAMF,UAAQ,QAAA,CAAA;AAAA,IAAA;AAGxB,WAAO,KAAKH,MAAMM;AAAAA,EAAAA;AAEtB;ACnCO,SAAAC,mBAAAP,OAAA;AAAA7C,QAAAA,IAAAC,uBAAA,EAAA,GACL;AAAA,IAAAkD;AAAAA,IAAAE;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAAkDX;AAAK/C,MAAAA;AAAAE,IAAAsD,CAAAA,MAAAA,YAAAtD,SAAAwD,SAEvB1D,KAAAA,MAAA;AAG9B2D,eAAA,MAAA;AACEH,eAASE,KAAK;AAAA,OAAC,CACb;AAAA,EACLxD,GAAAA,OAAAsD,UAAAtD,OAAAwD,OAAAxD,OAAAF,MAAAA,KAAAE,EAAA,CAAA;AAND,QAAA0D,cAAoB5D;AAMCQ,MAAAA;AAAAN,WAAA0D,eAGnBpD,KAAAqD,CAAA,UAAA;AACMA,UAAKC,QAAS,WAAYC,CAAAA,sCAAuBF,MAAKG,aAAc,KACtEJ,YAAY;AAAA,EAAC,GAEhB1D,OAAA0D,aAAA1D,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AALH,QAAA+D,gBAAsBzD;AAOrBK,MAAAA;AAAA,SAAAX,EAAAmD,CAAAA,MAAAA,YAAAnD,EAAA,CAAA,MAAA0D,eAAA1D,EAAA+D,CAAAA,MAAAA,iBAAA/D,EAAA,CAAA,MAAAqD,MAAArD,SAAAuD,YAGC5C,KASKsC,2BAAAA,IAAA,MARYM,EAAAA,2BACP,WAAA,sBACJF,IACC,MAAA,UACIK,sBACEK,0BAEH,SACV,CAAA,GAAK/D,OAAAmD,UAAAnD,OAAA0D,aAAA1D,OAAA+D,eAAA/D,OAAAqD,IAAArD,OAAAuD,UAAAvD,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GATLW;AASK;ACrCOqD,SAAAA,oBACdxB,OACAyB,KACmB;AACfA,SAAAA,IAAI3F,SAAS,iBACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO0B,aAAa;AAAA,IAAMC,SAAS;AAAA,IAAMC,OAAOH,IAAIG;AAAAA,EAAAA,IAG7DH,IAAI3F,SAAS,gBACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO2B,SAAS;AAAA,EAAA,IAGzBF,IAAI3F,SAAS,cACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO2B,SAAS;AAAA,IAAOC,OAAO;AAAA,EAAA,IAGvCH,IAAI3F,SAAS,eACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO0B,aAAa;AAAA,IAAME,OAAO;AAAA,IAAMZ,OAAO;AAAA,EAAA,IAGvDS,IAAI3F,SAAS,gBACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO2B,SAAS;AAAA,IAAOC,OAAO;AAAA,EAAA,IAGvCH,IAAI3F,SAAS,cACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO4B,OAAO5B,MAAM4B,SAASH,IAAIG;AAAAA,EAAAA,IAG1CH,IAAI3F,SAAS,wBACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO0B,aAAaD,IAAIT;AAAAA,IAAOa,aAAaJ,IAAII,eAAe7B,MAAM6B;AAAAA,EAAAA,IAG9EJ,IAAI3F,SAAS,wBACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO6B,aAAaJ,IAAII;AAAAA,EAAAA,IAGjCJ,IAAI3F,SAAS,iBACR;AAAA,IAAC,GAAGkE;AAAAA,IAAO0B,aAAaD,IAAIT;AAAAA,IAAOY,OAAO;AAAA,IAAMZ,OAAOS,IAAIT;AAAAA,EAAAA,IAG7DhB;AACT;ACzCO,MAAM8B,mCAAmC,CAC9C,WACA,SACA,OACA,SACA,QACA,OACA,UACA,YACA,QACA,OACA,UAAU,GAMCC,iCAA4C,gBAK5CC,2CAAwD,CAAC,gBAAgB,WAAW,GCwE3FC,uBAAuBA,CAACjB,OAAekB,WAC3CA,SAASA,OAAOlB,QAAQA,OAEpBmB,wBAAwBA,CAACP,OAAeM,WAC5CA,OAAOlB,MAAMoB,YAAY,EAAEC,QAAQT,MAAMQ,YAAa,CAAA,IAAI,IAEtDE,oBAAoBC,MAAAA,WAAW,SAGnClC,OAeAmC,cACA;AACM,QAAA;AAAA,IACJC,SAAS;AAAA,IACTC;AAAAA,IACA3G;AAAAA,IACA4G,cAAcC;AAAAA,IACdC,WAAW;AAAA,IACXC;AAAAA,IACAjC;AAAAA,IACAkC,UAAUC,eAAAA;AAAAA,IACVC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAvC;AAAAA,IACAwC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,SAASC,cAAc;AAAA,IACvBC,UAAUZ,eAAAA;AAAAA,IACVa;AAAAA,IACAC,SAAS;AAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC,cAAcC;AAAAA,IACdC;AAAAA,IACAC,cAAcnC;AAAAA,IACdoC;AAAAA,IACArD,OAAOsD;AAAAA,IACP,GAAGC;AAAAA,EAAAA,IACDlE,OAEE,CAACL,OAAOwE,QAAQ,IAAIC,MAAAA,WAAWjD,qBAAqB;AAAA,IACxDE,aAAa4C,aAAa;AAAA,IAC1B3C,SAAS;AAAA,IACTE,aAAa;AAAA,IACbD,OAAO;AAAA,IACPZ,OAAOsD,aAAa;AAAA,EAAA,CACrB,GAEK;AAAA,IAAC5C;AAAAA,IAAaC;AAAAA,IAASE;AAAAA,IAAaD;AAAAA,IAAOZ;AAAAA,EAAAA,IAAShB,OAEpD0E,sBAAsBC,MAAAA,YAC1B,CAAC;AAAA,IAAC3D,OAAAA;AAAAA,EAAAA,MACAP,2BAAA;AAAA,IAACmE,eAAA;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MAEH,SAASjB;AAAAA,MACT,QAAQ;AAAA,MACR,YAAA;AAAA,MAGA,yCAACkB,eAAK,MAAA,EAAA,MAAMhC,UAAU,cAAa,YAChC7B,UACH,QAAA,CAAA;AAAA,IAAA;AAAA,EAAA,GAGJ,CAAC6B,UAAUc,WAAW,CACxB,GAEMM,eACJ,OAAOC,oBAAqB,aAAaA,mBAAmBQ,qBAExD/B,eACJ,OAAOC,oBAAqB,aAAaA,mBAAmBT,uBAGxD2C,iBAAiB5G,MAAAA,OAA8B,IAAI,GACnD6G,2BAA2B7G,aAA8B,IAAI,GAC7D8G,kBAAkB9G,MAAAA,OAAgC,IAAI,GACtD+G,oBAAoB/G,MAA8B,OAAA,IAAI,GAGtDgH,iBAAiBhH,MAAAA,OAAO,EAAK,GAC7BiH,WAAWjH,MAAAA,OAAO8C,KAAK,GACvBoE,eAAelH,MAAAA,OAAOoG,SAAS,GAC/Be,wBAAwBnH,MAAAA,OAAO,EAAK;AAIxCsE,QAAAA,oBAAAA,cACA,MAAMwC,gBAAgB1G,OACxB;AAEA,QAAMgH,YAAY,GAAGzE,EAAE,YACjB2C,UAAUxG,MAAMC,QAAQwG,WAAW,IAAIA,cAAc9F,4BACrD+F,UAAU6B,eAAAA,aAAa5B,WAAW,GAClC6B,gBAAgBC,MAAAA,QACpB,MAAOzE,UAAU,OAAOwC,QAAQkC,KAAMC,CAAAA,MAAMA,EAAE3E,UAAUA,KAAK,IAAItD,QACjE,CAAC8F,SAASxC,KAAK,CACjB,GACM4E,kBAAkBH,MAAAA,QACtB,MAAMjC,QAAQrG,OAAQ+E,CAAYN,WAAAA,QAAQe,aAAaf,OAAOM,MAAM,IAAI,EAAK,GAC7E,CAACS,cAAca,SAAS5B,KAAK,CAC/B,GACMiE,qBAAqBD,gBAAgBpJ,QACrCsJ,eAAepE,cAAc,GAAGb,EAAE,WAAWa,WAAW,KAAKhE,QAC7DqI,WAAYnE,UAAU,QAAQqB,WAAatB,WAAWC,UAAU,MAEhEoE,iBAAiBrB,MAAAA,YACpBxD,CAAwC,UAAA;AACvCF,eAAW,MAAM;AAIf,UAAIoE,sBAAsB/G;AACxB;AAGIP,YAAAA,YAA2BiG,mBAAmB,CAAA,GAAIiC,OACtDnB,eAAexG,UAAU,CAACwG,eAAexG,OAAO,IAAI,CAAA,GACpDyG,yBAAyBzG,UAAU,CAACyG,yBAAyBzG,OAAO,IAAI,EAC1E;AAEA,UAAI4H,cAAc;AAElB,UAAI9K,SAASC;AACX,mBAAW8K,KAAKpI;AACd,cAAIoI,MAAM/K,SAASC,iBAAiB8K,EAAE7K,SAASF,SAASC,aAAa,GAAG;AACxD,0BAAA;AACd;AAAA,UAAA;AAAA;AAKF6K,sBAAgB,OAClB1B,SAAS;AAAA,QAAC1I,MAAM;AAAA,MAAY,CAAA,GAC5BuJ,sBAAsB/G,UAAU,IAC5B+E,iBAAeA,cAAc,IAAI,GACjCH,UAAQA,OAAO/B,KAAK;AAAA,OAEzB,CAAC;AAAA,EAAA,GAEN,CAAC+B,QAAQG,eAAeW,eAAe,CACzC,GAEMoC,kBAAkBzB,MAAAA,YAAaxD,CAAsC,YAAA;AACzE,UAAMkF,iBAAiBpB,kBAAkB3G,SACnCgI,iBAAiBnF,QAAMpC,kBAAkBwH,cAAcpF,QAAMpC,SAAS,MACtE8C,gBAAcwE,gBAAgB/K,SAASgL,cAAc,KAAK;AAE5DzE,sBAAgBqD,eAAe5G,YACjC4G,eAAe5G,UAAUuD,eAEzB2C,SAAS;AAAA,MAAC1I,MAAM;AAAA,MAAuB+F,aAAAA;AAAAA,IAAAA,CAAY;AAAA,KAEpD,CAAE,CAAA,GAEC2E,qBAAqB7B,kBACxB8B,CAAc,MAAA;AACJ,aAAA;AAAA,MAAC3K,MAAM;AAAA,MAAgBkF,OAAOyF;AAAAA,IAAAA,CAAE,GAEzCpB,sBAAsB/G,UAAU,IAE5BwC,YAAUA,SAAS2F,CAAC,GAExBtB,SAAS7G,UAAUmI,GAEftD,YAAUA,SAASsD,CAAC,GACpBpD,iBAAeA,cAAc,IAAI,GAErC2B,gBAAgB1G,SAASlC,MAAM;AAAA,EAAA,GAEjC,CAAC+G,UAAUrC,UAAUuC,aAAa,CACpC,GAEMqD,oBAAoB/B,MAAAA,YACvBxD,CAAsC,YAAA;AACjCA,QAAAA,QAAMC,QAAQ,aAAa;AAG7B,UAFAD,QAAMwF,kBAEF,CAACd,mBAAoB;AAEzB,YAAMe,eAAehB,gBAAgBF,KAAMC,SAAMA,IAAE3E,UAAUU,WAAW,GAClEmF,cAAcD,eAAehB,gBAAgBvD,QAAQuE,YAAY,IAAI,IACrEE,mBAAmBlB,iBAAiBiB,cAAc,KAAKhB,kBAAkB;AAE3EiB,0BACFtC,SAAS;AAAA,QAAC1I,MAAM;AAAA,QAAuBkF,OAAO8F,iBAAiB9F;AAAAA,QAAOa,aAAa;AAAA,MAAA,CAAK;AAG1F;AAAA,IAAA;AAGEV,QAAAA,QAAMC,QAAQ,WAAW;AAG3B,UAFAD,QAAMwF,kBAEF,CAACd,mBAAoB;AAEnBe,YAAAA,iBAAehB,gBAAgBF,KAAMC,CAAMA,QAAAA,IAAE3E,UAAUU,WAAW,GAClEmF,gBAAcD,iBAAehB,gBAAgBvD,QAAQuE,cAAY,IAAI,IACrEE,qBACJlB,gBACEiB,kBAAgB,KACZhB,qBAAqB,KACpBA,qBAAqBgB,gBAAc,KAAKhB,kBAAkB;AAG/DiB,4BACFtC,SAAS;AAAA,QAAC1I,MAAM;AAAA,QAAuBkF,OAAO8F,mBAAiB9F;AAAAA,QAAOa,aAAa;AAAA,MAAA,CAAK;AAG1F;AAAA,IAAA;AAGEV,QAAAA,QAAMC,QAAQ,UAAU;AACjB,eAAA;AAAA,QAACtF,MAAM;AAAA,MAAc,CAAA,GAC9BuJ,sBAAsB/G,UAAU,IAC5B+E,iBAAeA,cAAc,IAAI,GACrC2B,gBAAgB1G,SAASlC,MAAM;AAE/B;AAAA,IAAA;AAGF,UAAM2C,SAASoC,QAAMpC,QACfgI,SAAS9B,kBAAkB3G;AAG9ByI,SAAAA,WAAWhI,UAAUgI,QAAQzL,SAASyD,MAAM,MAC7C,CAAC+C,iCAAiCtD,SAAS2C,QAAMC,GAAG,GACpD;AACA4D,sBAAgB1G,SAASlC,MAAM;AAE/B;AAAA,IAAA;AAAA,EACF,GAEF,CAACsF,aAAakE,iBAAiBC,oBAAoBxC,aAAa,CAClE,GAEM2D,oBAAoBrC,kBACvBxD,CAAyC,YAAA;AAClC8F,UAAAA,YAAY9F,QAAMG,cAAcN;AAE7B,aAAA;AAAA,MAAClF,MAAM;AAAA,MAAgB8F,OAAOqF;AAAAA,IAAAA,CAAU,GAE7C5D,iBAAeA,cAAc4D,SAAS;AAAA,KAE5C,CAAC5D,aAAa,CAChB,GAEM6D,eAAevC,kBAAY,MAAM;AAC5B,aAAA;AAAA,MACP7I,MAAM;AAAA,MACN8F,OAAOZ,QAAQoD,YAAYpD,OAAOwE,aAAa,IAAI;AAAA,IAAA,CACpD;AAAA,EAAA,GACA,CAACA,eAAepB,aAAapD,KAAK,CAAC,GAEhCmG,mBAAmBxC,MAAAA,YACtBxD,CAAwC,YAAA;AAClCQ,gBACH6C,SAAS;AAAA,MAAC1I,MAAM;AAAA,IAAA,CAAc,GAE1BsH,WAASA,QAAQjC,OAAK,GACtBoC,eAAa2D;EAAa,GAGlC,CAACvF,SAASyB,SAASG,aAAa2D,YAAY,CAC9C,GAEME,0BAA0BzC,MAAAA,YAAY,MAAM;AAChDU,0BAAsB/G,UAAU;AAAA,KAC/B,EAAE,GAEC+I,0BAA0B1C,MAAAA,YAAY,MAAM;AAChDU,0BAAsB/G,UAAU;AAAA,KAC/B,EAAE,GAECgJ,yBAAyB3C,MAAAA,YAAY,MAAM;AACtC,aAAA;AAAA,MAAC7I,MAAM;AAAA,IAAa,CAAA,GAC7BqJ,SAAS7G,UAAU,IACf6E,YAAUA,SAAS,EAAE,GACrBE,iBAAeA,cAAc,IAAI,GACrC2B,gBAAgB1G,SAASlC,MAAM;AAAA,EAAA,GAC9B,CAAC+G,UAAUE,aAAa,CAAC,GAEtBkE,yBAAyB5C,kBAAY,MAAM;AACtC,aAAA;AAAA,MAAC7I,MAAM;AAAA,IAAA,CAAc;AAAA,EAChC,GAAG,EAAE;AAGL4C,QAAAA,UAAU,MAAM;AAEV4F,QAAAA,cAAcc,aAAa9G,SAAS;AACtC8G,mBAAa9G,UAAUgG,WAEnBA,cAAc5G,WAChB8G,SAAS;AAAA,QAAC1I,MAAM;AAAA,QAAgBkF,OAAOsD;AAAAA,MAAAA,CAAU,GACjDa,SAAS7G,UAAUgG;AAGrB;AAAA,IAAA;AAIEA,kBAAca,SAAS7G,YACzB6G,SAAS7G,UAAUgG,aAAa,MAEhCE,SAAS;AAAA,MAAC1I,MAAM;AAAA,MAAgBkF,OAAOsD,aAAa;AAAA,IAAA,CAAK;AAAA,KAE1D,CAACA,SAAS,CAAC,GAGd5F,MAAAA,UAAU,MAAM;AACV,KAACiD,WAAWwD,SAAS7G,WACvBkG,SAAS;AAAA,MAAC1I,MAAM;AAAA,MAAuBkF,OAAOmE,SAAS7G;AAAAA,IAAAA,CAAQ;AAAA,KAEhE,CAACqD,OAAO,CAAC,GAGZjD,MAAAA,UAAU,MAAM;AACd,UAAM8I,cAAcvC,kBAAkB3G;AAEtC,QAAI,CAACkJ,YAAa;AAElB,UAAMZ,iBAAehB,gBAAgBF,KAAMC,CAAMA,QAAAA,IAAE3E,UAAUU,WAAW;AAExE,QAAIkF,gBAAc;AACVC,YAAAA,gBAAcjB,gBAAgBvD,QAAQuE,cAAY,GAClDa,oBAAoBD,YAAYjL,WAAWsK,aAAW;AAE5D,UAAIY,mBAAmB;AACrB,YAAIxM,UAAUwM,iBAAiB;AAE7B;AAGFpL,6BAAqBoL,iBAAiB;AAAA,MAAA;AAAA,IACxC;AAAA,EACF,GACC,CAAC/F,aAAakE,eAAe,CAAC;AAE3B8B,QAAAA,cAAcjC,MAAAA,QAAQ,MAAM;AAC5B,QAAA,CAACxC,WAAW,CAAClH,YAAYiF;AACpB,aAAA;AAAA,QACL,cAAc;AAAA,QACd,SAAWuG;AAAAA,MACb;AAAA,EAID,GAAA,CAACxL,UAAUwL,wBAAwBtE,SAASjC,KAAK,CAAC,GAE/C2G,uBAAuBlC,MAAAA,QAC3B,MACE/B,QAAQpJ,IAAKmM,CAAAA,QACPA,QAAM,IAAU,IAChBA,QAAM,KACNA,QAAM,IAAU,IAEZA,MAAc,CACvB,GACH,CAAC/C,OAAO,CACV,GAEMkE,oBAAoBnC,cACxB,MAAM/B,QAAQpJ,IAAKmM,CAAMoB,QAAAA,KAAKC,IAAKrB,MAAc,GAAG,CAAC,CAAC,GACtD,CAAC/C,OAAO,CACV,GAEMqE,kBAA+CtC,MAAAA,QACnD,MAAO,OAAOnC,cAAe,WAAWA,aAAaN,eAAAA,cACrD,CAACM,UAAU,CACb,GAEM0E,kBAAkBrD,MAAAA,YACrBxD,CAAyC,YAAA;AACxC+F,oBAEIa,gBAAgBE,WAASF,gBAAgBE,QAAQ9G,OAAK,GAE1D1G,KAAK,MAAMuK,gBAAgB1G,SAASlC,MAAAA,CAAO;AAAA,EAE7C,GAAA,CAAC2L,iBAAiBb,YAAY,CAChC,GAEMgB,iBAAiBzC,MAAAA,QACrB,MACE,CAAC1J,YAAY,CAACgI,YAAYT,aACvB7C,2BAAA,IAAA0H,eAAA,KAAA,EAAI,eAAapC,UAAU,SAAS4B,sBACnC,UAAClH,2BAAAA,IAAA2H,eAAAA,QAAA,EACC,cAAW,QACX,UAAUrC,UACV,SAAQ,SACR,UACA,MAAMsC,MAAAA,iBACN,MAAK,SACL,SAAST,sBACLG,iBACJ,SAASC,gBAAAA,CAAgB,EAE7B,CAAA,IACEtK,QACN,CACE3B,UACAgK,UACAlD,UACAmF,iBACA1E,YACAqE,sBACAC,mBACAG,iBACAhE,QAAQ,CAEZ,GAEMuE,aAAa7C,MAAAA,QAAQ,MACrB7D,UAAU,OACRZ,UAAU,OACLoD,YAAYpD,OAAOwE,aAAa,IAGlC,KAGF5D,OACN,CAAC4D,eAAe5D,OAAOwC,aAAapD,KAAK,CAAC,GAEvCuH,QACJ9H,2BAAAA,IAAC+H,eAAAA,gBACKjE,WACJ,yBAAuBuB,cACvB,qBAAkB,QAClB,iBAAeC,UACf,aAAWT,WACX,gBAAe,OACf,cAAa,OACb,aAAY,OACZ,QACA,aACA,gBACA,UACA,UACA,MACA,WAAWrC,WAAWwF,eACtB,qBAAA,IACA,WAAU,UACV,UAAUzB,mBACV,SAASM,wBACT,SAASH,kBACT,SACA,QACA,QACA,UACA,KAAKnC,iBACL,MAAK,YACL,YAAY,IACZ,QAAQX,UAAU6D,gBAClB,OAAOI,WAAAA,CAEV,GAEKI,uBAAuB/D,kBAC1BxD,CAAyC,YAAA;AAEpCA,YAAMC,QAAQ,SACZS,eAAamD,gBAAgB1G,SAASlC,MAAM;AAAA,EAAA,GAGpD,CAACyF,WAAW,CACd,GAEM8G,WAAUlD,MAAAA,QAAQ,MAClBG,gBAAgBpJ,WAAW,IAAU,sCAGtC2L,eAAAA,KACC,EAAA,WAAQ,yBACR,WAAWO,sBACX,SAAS,GACT,GAAI3F,SACJ,UAAU,IAEV,UAACtC,+BAAAmI,eAAAA,OAAA,EACC,IAAG,MACH,wBAAsB,IACtB,WAAQ,6BACR,IAAItD,WACJ,KAAKL,mBACL,MAAK,WACL,OAAO,GAENW,UAAAA,gBAAgBtL,IAAK4H,CAAW,aAAA;AAC/B,UAAM2G,SACJnH,gBAAgB,OAAOQ,SAAOlB,UAAUU,cAAc8D,kBAAkBtD;AAE1E,0CACG,oBACC,EAAA,IAAI,GAAGrB,EAAE,WAAWqB,SAAOlB,KAAK,IAEhC,UAAUwF,oBACV,UAAUqC,QACV,OAAO3G,SAAOlB,OAEb8H,UAAa7E,MAAAA,aAAAA,aAAa/B,QAAM,GAAG;AAAA,MAClCnG,UAAUkH;AAAAA,MACVlC,UAAU8H;AAAAA,MACVE,YAAY;AAAA,MACZvN,UAAUqG,eAAegH,SAAS,IAAI;AAAA,IAAA,CACvC,EAVI3G,GAAAA,SAAOlB,KAWd;AAAA,EAAA,CAEH,EACH,CAAA,EACF,CAAA,GAED,CACDU,aACA8D,eACAI,iBACAY,oBACAkC,sBACA7H,IACAkC,SACAuC,WACAzD,aACAoB,SACAgB,YAAY,CACb,GAEK+E,UAAUvD,MAAAA,QAAQ,MAClBtB,gBACKA,cACL;AAAA,IACEwE,SAAAA;AAAAA,IACAM,QAAQ,CAAClD;AAAAA,IACTmD,cAAclE,gBAAgB1G;AAAAA,IAC9B6K,cAAc/B;AAAAA,IACdgC,cAAc/B;AAAAA,EAChB,GACAtC,wBACF,IAGEc,uBAAuB,IAClB,OAIPpF,+BAAC4I,eAAAA,SACC,EAAA,OAAO,IACP,eAAa,IACb,SAAAV,UACA,oBAAoB3G,0CACpB,qBAAmB,IACnB,cAAcoF,yBACd,cAAcC,yBACd,MAAMtB,UACN,UAAS,QACT,WAAWhE,gCACX,QAAM,IACN,QAAQ,GACR,KAAKgD,0BACL,kBAAkBC,gBAAgB1G,SAC9BsF,GAAAA,SACJ,GAEH,CACD+E,UACA5C,UACAF,oBACAuB,yBACAC,yBACAzD,SACAE,QACAK,aAAa,CACd;AAED;AAAA;AAAA,IAEEmF,2BAAAA,KAAC,OACC,EAAA,WAAQ,gBACR,QAAQtD,gBACR,SAASI,iBACT,WAAWM,mBACX,KAAK5B,gBAEJyD,UAAAA;AAAAA,MAAAA;AAAAA,MACAS;AAAAA,IAAAA,EACH,CAAA;AAAA;AAEJ,CAAC;AAED1G,kBAAkBiH,cAAc;AAQzB,MAAMC,eAAelH,mBC1qBfmH,cAAclH,MAAAA,WAAW,SACpClC,OACAZ,KACA;AACM,QAAA;AAAA,IACJkB;AAAAA,IACA+I;AAAAA,IACAC,cAAcC;AAAAA;AAAAA,IAEdC,KAAKC;AAAAA,IACLC,OAAO1J,MAAMwJ,OAAQxJ,MAAM2J,SAA+B;AAAA,IAC1DC,OAAO5J,MAAMwJ,OAAQxJ,MAAM2J,SAA+B;AAAA,IAC1DE;AAAAA,IACAC;AAAAA;AAAAA,IAEAH,OAAOI;AAAAA,IACP,GAAG7F;AAAAA,EACDlE,IAAAA,OACE,CAACgK,MAAMC,OAAO,IAAIzM,MAAAA,SAAS,EAAK,GAChC0M,mBAAmBrM,MAAAA,OAAiC,IAAI,GACxDsM,oBAAoBtM,MAAAA,OAA8B,IAAI,GAEtDuM,WAAW9F,MAAAA,YAAY,MAAM2F,QAAQ,EAAK,GAAG,CAAE,CAAA,GAC/CI,SAAS/F,kBAAY,MAAM2F,QAAQ,EAAI,GAAG,CAAA,CAAE;AAElDK,iBAAAA,qBAAqBF,UAAU,MAAM,CAACF,iBAAiBjM,SAASkM,kBAAkBlM,OAAO,CAAC;AAE1F,QAAMsM,WAAWnF,MAAQ,QAAA,MAAMoF,MAAAA,SAASC,QAAQnK,QAAQ,EAAExD,OAAO4N,MAAc,cAAA,GAAG,CAACpK,QAAQ,CAAC,GAEtFqK,QAAQvF,cAAQ,MAAM;AAC1B,UAAMwF,MAAML,SAASpO;AAEjB0N,QAAAA,aAAae,MAAMf,WAAW;AAC1BgB,YAAAA,eAAerD,KAAKsD,KAAKjB,YAAY,CAAC,GACtCkB,cAAcvD,KAAKwD,MAAMnB,YAAY,CAAC;AAE5C,aAAO,CACL,GAAGU,SAASU,MAAM,GAAGJ,eAAe,CAAC,GACpCzK,2BAAA,IAAA4I,eAAA,SAAA,EACC,eAAa,IACb,SACG5I,2BAAAA,IAAAmI,eAAAA,OAAA,EAAM,IAAG,MAAK,UAAS,QAAO,OAAOqB,MACnCW,UAASU,SAAAA,MAAMJ,eAAe,GAAGD,MAAMG,WAAW,EACrD,CAAA,GAGF,MACA,SAAS,GACT,WAAU,OACV,QAAM,IACN,KAAKZ,mBAEL,UAAC/J,2BAAA,IAAA2H,eAAA,QAAA,EACC,MAAK,SACL,SAAS,GACT,MAAK,aACDwB,mBACJ,SAASS,OAAOI,WAAWC,QAC3B,KAAKH,kBACL,UAAUF,KAAK,CAAA,EAAA,GAdb,QAgBN,GACA,GAAGO,SAASU,MAAML,MAAMG,WAAW,CAAC;AAAA,IAAA;AAIjCR,WAAAA;AAAAA,EAAAA,GACN,CAACH,UAAUC,QAAQd,mBAAmBK,MAAMC,WAAWG,MAAMO,QAAQ,CAAC;AAGvE,SAAAnK,+BAAC8K,eAAAA,QACC,IAAG,OACH,WAAQ,eACJhH,GAAAA,WACJ,WAAWiH,IAAkB9B,kBAAAA,WAAW+B,iBAAa,GACrD,MACA,MACA,KAECT,UAAAA,MAAM1Q,IAAI,CAACoR,MAAMC,cAChBrC,2BAAAA,KAACsC,MACED,UAAAA,EAAAA,UAAAA;AAAAA,IAAAA,YAAY,KACXlL,2BAAAA,IAAC0H,eAAI,KAAA,EAAA,eAAW,IAAC,IAAG,MACjBgC,UAAAA,aAAc1J,2BAAA,IAAAoE,eAAA,MAAA,EAAK,OAAK,IAAC,cAAC,CAAA,GAC7B;AAAA,IAEDpE,2BAAA,IAAA0H,eAAA,KAAA,EAAI,IAAG,MAAMuD,UAAK,KAAA,CAAA;AAAA,EAAA,KANNC,SAOf,CACD,GACH;AAEJ,CAAC;AAEDlC,YAAYF,cAAc;AC9GbsC,MAAAA,gBAAgBC,yCAC3B,6BACA;AAAA,EAACC,SAAS;AAAG,CACf;ACXO,SAAAC,YAAA;AAAA,SACEC,MAAAA,WAAAJ,aAAwB;AAAC;ACgGlC,SAASK,oBACP3O,iBACA4O,eACApN,QACS;AACL,SAAA,CAACxB,mBAAmB,CAAC4O,gBAAsB,KAG7CC,eAAAA,wBAAwB7O,iBAAiBwB,MAAM,KAC/CqN,uCAAwBD,eAAepN,MAAM;AAEjD;AAEA,MAAMsN,aAAa9J,MAAAA,WAAW,SAAAlC,OAAAmC,cAAA;AAAAhF,QAAAA,IAAAC,uBAAA,EAAA,GAI5B;AAAA,IAAA6O,sBAAAC;AAAAA,IAAAC,4BAAAC;AAAAA,IAAA9L;AAAAA,IAAA+L,YAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAhM;AAAAA,IAAAiM;AAAAA,IAAAC;AAAAA,IAAAC,QAAAC;AAAAA,IAAAnJ,QAAAoJ;AAAAA,IAAAC;AAAAA,IAAAC,QAAA9P;AAAAA,IAAA+P;AAAAA,IAAAC,OAAAC;AAAAA,EAAAA,IAgBIlN,OAHMmN,aAAAlQ,OAAcI,aAAdJ,IAIV0P,SAAeS,eAAAA,aACftB,gBAAsBc,aAAaD,OAAMjP,WAAYkP,UAAU,KAAA,OAAYD,OAAM9R,SACjFqC,kBAAwBmQ,kCAAmB,EAACxS,SAC5C4I,SAAeyB,eAAAA,aAAa2H,UAAU,GACtCE,SAAe7H,eAAAA,aAAaiI,UAAU,GACtCF,QAAc/H,4BAAagI,SAAS,GACpC9N,MAAYvB,MAAAA,OAAA,IAAkC,GAC9CwO,aAAmBxO,aAAA,IAAkC,GACrDyP,QAAcC,eAAAA,YACd;AAAA,IAAAC;AAAAA,EAAAA,IAAqBF,OACrBG,UAAgB,GAAGjN,EAAE,UACrBkN,kBAAwB5S,CAAAA,CAAQ4R,WAAYN,oBAAyB,IACrEuB,aAAmB7S,EAAQ0R,UAAWkB;AAAejQ,MAAAA;AAAAN,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAE2B9B,KAAAA,MAAM2B,IAAGnB,SAAQd,OAAAM,MAAAA,KAAAN,EAAA,CAAA,GAAjGqC,MAAAA,oBAAkE2C,cAAc1E,EAAiB;AAACK,MAAAA;AAAAX,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAGhGzB,KAAAA,MAAMuO,WAAUpO,SAAQd,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAF1BqC,MAAAA,oBACE8M,qBACAxO,EACF;AAAC,MAAAC,IAAAO;AAAAnB,WAAA+O,aAESnO,KAAAA,MAAA;AACHmO,iBAGD9M,IAAGnB,WACLjC,qBAAqBoD,IAAGnB,OAAQ;AAAA,EAEjCK,GAAAA,KAAA,CAAC4N,WAAW9M,GAAG,GAACjC,OAAA+O,WAAA/O,OAAAY,IAAAZ,OAAAmB,OAAAP,KAAAZ,EAAA,CAAA,GAAAmB,KAAAnB,EAAA,CAAA,IAPnBkB,gBAAUN,IAOPO,EAAgB;AAACC,MAAAA;AAAApB,IAAA,CAAA,MAAAD,mBAAAC,EAAAqQ,CAAAA,MAAAA,cAAArQ,EAAAuP,CAAAA,MAAAA,WAAAvP,SAAA2O,iBAIhBvN,KAAAuC,CAAA,UAAA;AACM,QAAA,CAAC0M,cAAU,CAAKd;AAAO;AAE3B,UAAAhO,SAAA3D,SAAAC;AAEI0D,eAAWmN,oBAAoB3O,iBAAiB4O,eAAepN,MAAM,KAKrEoC,MAAKC,QAAS,aAChBD,MAAKwF,eAAgB,GACrBxF,MAAK8M,gBAAAA,GACLlB;EAAS,GAEZvP,OAAAD,iBAAAC,OAAAqQ,YAAArQ,OAAAuP,SAAAvP,OAAA2O,eAAA3O,OAAAoB,MAAAA,KAAApB,EAAA,CAAA,GAjBL0Q,eAAAA,iBACEtP,EAmBF;AAACuP,MAAAA;AAAA3Q,IAAA,EAAA,MAAAD,mBAAAC,EAAAqQ,EAAAA,MAAAA,cAAArQ,EAAAsP,EAAAA,MAAAA,kBAAAtP,UAAA2O,iBAGCgC,KAAAN,cACEf,mBAAcsB,CAAA,YAAA;AAEZ,UAAAC,WAAelN,QAAKpC;AAEhBA,iBAAWmN,oBAAoB3O,iBAAiB4O,eAAepN,QAAM,KAKzE+N,eAAe;AAAA,EAAA,IACftP,QAAAD,iBAAAC,QAAAqQ,YAAArQ,QAAAsP,gBAAAtP,QAAA2O,eAAA3O,QAAA2Q,MAAAA,KAAA3Q,EAAA,EAAA;AAAA8Q,MAAAA;AAAA9Q,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACJ0O,KAAAA,MAAO7O,CAAAA,IAAGnB,OAAA,GAASd,QAAA8Q,MAAAA,KAAA9Q,EAAA,EAAA,GAbrBmN,eAAAA,qBACEwD,IAYAG,EACF;AAACC,MAAAA;AAAA/Q,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAKc2O,KAAAC,IAAgB,gBAAA,GAAChR,QAAA+Q,MAAAA,KAAA/Q,EAAA,EAAA;AAAAiR,MAAAA;AAAAjR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAQf6O,KAAAC,IAAe,eAAA,GAAClR,QAAAiR,MAAAA,KAAAjR,EAAA,EAAA;AAAAmR,MAAAA;AAAAnR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAQV+O,MAAAC,IAAa,aAAA,GAACpR,QAAAmR,OAAAA,MAAAnR,EAAA,EAAA;AAAAqR,MAAAA;AAAArR,IAAAqP,EAAAA,MAAAA,UAAArP,EAAA,EAAA,MAAAsQ,WAAAtQ,EAAAuP,EAAAA,MAAAA,WAAAvP,EAAA,EAAA,MAAAuQ,mBAAAvQ,UAAAwQ,cAC5Ba,MAAAb,cACCvN,2BAAAA,IAAC0H,sBAAe,WAAA2G,IAAAA,aAAyB,GAAA,UAAA,YACvC,UAACxF,2BAAAA,KAAAiC,eAAAA,MAAA,EAAW,OAAA,cAAsB,SAAC,GACjC,UAAA;AAAA,IAAA9K,+BAAC0H,eAAAA,KAAU,EAAA,MAAC,GAAW,SAAC,GACrB0E,UACC,UAAApM,+BAACoE,eAAAA,MAASiJ,EAAAA,IAAAA,SAAe,MAAC,GAAS,QAAA,6BAEnC,CAAA,GAEJ;AAAA,IACCC,kDACE5F,oBAAS,EAAA,MAAA,QACR,UAAC1H,+BAAA2H,eAAAA,QAAA,EACY,cAAA,gBACD,UAAC2E,CAAAA,SACLgC,MAAAA,iBACD,MAAA,SACIhC,SAAM,SACN,SAAA,GAEb,EAAA,CAAA;AAAA,EAAA,EAAA,CAEJ,EACF,CAAA,GACDvP,QAAAqP,QAAArP,QAAAsQ,SAAAtQ,QAAAuP,SAAAvP,QAAAuQ,iBAAAvQ,QAAAwQ,YAAAxQ,QAAAqR,OAAAA,MAAArR,EAAA,EAAA;AAAAwR,MAAAA;AAAAxR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAEYoP,MAAAC,IAAc,cAAA,GAACzR,QAAAwR,OAAAA,MAAAxR,EAAA,EAAA;AAAA0R,MAAAA;AAAA1R,YAAAmD,YAD5BuO,MAACzO,2BAAAA,IAAA0H,eAAAA,KACY,EAAA,WAAA6G,KACL,MAAA,GACG,UAAA,QACA,UAAA,YACJtC,KAAAA,YACK,UAAA,IAET/L,SACH,CAAA,GAAMnD,QAAAmD,UAAAnD,QAAA0R,OAAAA,MAAA1R,EAAA,EAAA;AAAA2R,MAAAA;AAAA3R,YAAAoP,UACLuC,MAAAvC,UACEnM,+BAAA0H,eAAAA,KAAA,EAAe,WAAAiH,iBAAyB,GAAA,UAAA,YACjC,UACR,QAAA,GACD5R,QAAAoP,QAAApP,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAAA6R,MAAAA;AAAA7R,IAAAqR,EAAAA,MAAAA,OAAArR,UAAA0R,OAAA1R,EAAA,EAAA,MAAA2R,OAxCHE,sCAAC9D,qBAAgB,EAAA,WAAAoD,KAA0B,WAAA,UAAe,MAAA,GACvDE,UAAAA;AAAAA,IAAAA;AAAAA,IAyBDK;AAAAA,IAUCC;AAAAA,EAAAA,GAKH,GAAO3R,QAAAqR,KAAArR,QAAA0R,KAAA1R,QAAA2R,KAAA3R,QAAA6R,OAAAA,MAAA7R,EAAA,EAAA;AAAA8R,MAAAA;AAAA9R,IAAAsG,EAAAA,MAAAA,UAAAtG,EAAA,EAAA,MAAA2P,UAAA3P,EAAA4P,EAAAA,MAAAA,UAAA5P,EAAA,EAAA,MAAA6R,OAAA7R,UAAA6P,QAlDTiC,qCAAC1K,eACY,MAAA,EAAA,WAAA6J,IACH,SAAA,QACA3K,QACHrE,KACG0N,QACAC,QACFC,MAENgC,UA0CF,KAAA,GAAO7R,QAAAsG,QAAAtG,QAAA2P,QAAA3P,QAAA4P,QAAA5P,QAAA6R,KAAA7R,QAAA6P,MAAA7P,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAAA+R,MAAAA;AAAA,SAAA/R,EAAA8R,EAAAA,MAAAA,OAAA9R,UAAA8P,SA5DTiC,MAAC9O,2BAAA,IAAA+O,eAAA,WAAA,EACO,OAAA,UACK,WAAAjB,IACH,WAAA,cACE,WAAA,UACF,SAAA,QACA,SAAA,UACDjB,OAEPgC,UAAAA,IAoDF,CAAA,GAAY9R,QAAA8R,KAAA9R,QAAA8P,OAAA9P,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA,GA7DZ+R;AA6DY,CAEf;AAEDlD,WAAW9C,cAAc;AAOlB,MAAMkG,SAASlN,MAAAA,WAAW,SAAAlC,OAAAZ,KAAA;AAAA,QAAAjC,IAAAC,qBAAAA,EAAA,EAAA,GAI/BiS,UAAgB1D,aAChB;AAAA,IAAA2B;AAAAA,MAAgBgC,2BAAY;AAACC,MAAAA,eAAAC,cAAAC,YAAAnP,UAAA+I,WAAAgD,YAAAE,QAAAC,QAAAhM,IAAAkP,YAAAjD,gBAAAC,SAAA3J,SAAA6J,YAAA1I,WAAA4I,QAAA7P,IAAAQ,IAAAK,IAAAC,IAAAO,IAAAC,IAAAyO;AAAA7P,WAAA6C,SAC7B;AAAA,IAAAiM,sBAAAhP;AAAAA,IAAAkP,4BAAA1O;AAAAA,IAAAkS,SAAA7R;AAAAA,IAAA8R,YAAA7R;AAAAA,IAAAuC;AAAAA,IAAA+I;AAAAA,IAAAgD;AAAAA,IAAAE;AAAAA,IAAAC;AAAAA,IAAAhM;AAAAA,IAAAkP;AAAAA,IAAAjD;AAAAA,IAAAC;AAAAA,IAAA3J;AAAAA,IAAAM,SAAA/E;AAAAA,IAAAqO,QAAAC;AAAAA,IAAAiD,UAAAN;AAAAA,IAAAzC;AAAAA,IAAAC,QAAA0C;AAAAA,IAAAxC,OAAA1O;AAAAA,IAAAuR,SAAAN;AAAAA,IAAAxC;AAAAA,IAAA,GAAA9I;AAAAA,EAAAA,IAyBIlE,OAAK7C,OAAA6C,OAAA7C,OAAAoS,eAAApS,OAAAqS,cAAArS,OAAAsS,YAAAtS,OAAAmD,UAAAnD,OAAAkM,WAAAlM,OAAAkP,YAAAlP,OAAAoP,QAAApP,OAAAqP,QAAArP,OAAAqD,IAAArD,QAAAuS,YAAAvS,QAAAsP,gBAAAtP,QAAAuP,SAAAvP,QAAA4F,SAAA5F,QAAAyP,YAAAzP,QAAA+G,WAAA/G,QAAA2P,QAAA3P,QAAAF,IAAAE,QAAAM,IAAAN,QAAAW,IAAAX,QAAAY,IAAAZ,QAAAmB,IAAAnB,QAAAoB,IAAApB,QAAA6P,SAAAuC,gBAAApS,EAAA,CAAA,GAAAqS,eAAArS,EAAA,CAAA,GAAAsS,aAAAtS,EAAA,CAAA,GAAAmD,WAAAnD,EAAA,CAAA,GAAAkM,YAAAlM,EAAA,CAAA,GAAAkP,aAAAlP,EAAA,CAAA,GAAAoP,SAAApP,EAAA,CAAA,GAAAqP,SAAArP,EAAA,CAAA,GAAAqD,KAAArD,EAAA,CAAA,GAAAuS,aAAAvS,EAAA,EAAA,GAAAsP,iBAAAtP,EAAA,EAAA,GAAAuP,UAAAvP,EAAA,EAAA,GAAA4F,UAAA5F,EAAA,EAAA,GAAAyP,aAAAzP,EAAA,EAAA,GAAA+G,YAAA/G,EAAA,EAAA,GAAA2P,SAAA3P,EAAA,EAAA,GAAAF,KAAAE,EAAA,EAAA,GAAAM,KAAAN,EAAA,EAAA,GAAAW,KAAAX,EAAA,EAAA,GAAAY,KAAAZ,EAAA,EAAA,GAAAmB,KAAAnB,EAAA,EAAA,GAAAoB,KAAApB,EAAA,EAAA,GAAA6P,OAAA7P,EAAA,EAAA;AAxBe+O,QAAAA,YAAAjP,OAAgBI,cAAhBJ,IACMmP,kBAAA3O,OAAuBJ,cAAvBI,IACnBsS,WAAAjS,OAAgBT,cAAhBS,IACGkS,iBAAAjS,OAAkBV,aAAlBU,IAYZsF,UAAA/E,OAAWjB,aAAXiB,IAKO4O,YAAA3O,OAAalB,aAAbkB,IAKT0R,eAAqBV,kBAAkBF,QAAOQ,YAAa,UAC3DK,cAAoBV,iBAAiBH,QAAOS,WAAYxC,MAAK6C,OAAAL,UAE7DH,UAD6BS,2CACO,KAAWL,UAC/CpD,SAAeS,eAAAA,UAAAA,GACftB,gBAAsBc,aAAaD,OAAMjP,WAAYkP,UAAU,KAAA,OAAYD,OAAM9R,SACjFqC,kBAAwBmQ,oCAAoBxS,SAC5C+U,aAAmB1K,4BAAa8K,cAAc,GAC9CH,WAAiB3K,eAAAA,aAAa+K,YAAY,GAC1ChD,QAAc/H,eAAAA,aAAagI,SAAS,GACpC4C,UAAgB5K,eAAAA,aAAagL,WAAW,GACxCG,YAAkBxS,aAAA,IAAkC,GACpDyS,aAAmBzS,MAAAA,OAAA,IAAkC,GACrD0S,UAAgB1S,aAAA,IAAkC,GAClD2S,oBAA0B3S,MAAAA,OAAA,IAA+B;AAACiQ,MAAAA;AAAA3Q,YAAA4F,WAGxD+K,KAAAhN,CAAA,UAAA;AACEiC,cAAUjC,KAAK;AAEf,UAAApC,SAAeoC,MAAKpC,QACpB+R,cAAoBF,QAAOtS;AAEvBwS,QAAAA,eAAe/R,WAAW2R,UAASpS,SAAQ;AAC7C3B,0BAAoBmU,WAAW;AAAC;AAAA,IAAA;AAK9BA,QAAAA,eAAe/R,WAAW4R,WAAUrS,SAAQ;AAC9CjC,2BAAqByU,WAAW;AAAC;AAAA,IAAA;AAK/BpU,iCAAcyE,MAAKpC,MAAO,MAC5B8R,kBAAiBvS,UAAW6C,MAAKpC;AAAAA,EAAA,GAEpCvB,QAAA4F,SAAA5F,QAAA2Q,MAAAA,KAAA3Q,EAAA,EAAA;AAtBHuT,QAAAA,cAAoB5C,IA0BpBL,UAAgB,GAAGjN,EAAE,UAErBmQ,sBAA4B9S,aAAAR,MAAgC;AAAC4Q,MAAAA;AAAA9Q,IAAAD,EAAAA,MAAAA,mBAAAC,UAAA2O,iBAKzBmC,KAAAA,MAAA;AAC9B0C,wBAAmB1S,WACrB2S,aAAaD,oBAAmB1S,OAAQ,GAG1C0S,oBAAmB1S,UAAW2C,WAAA,MAAA;AAC5B,YAAA5F,gBAAAD,SAAAC;AAA4C,UAExCA,kBAAkB6Q,oBAAoB3O,iBAAiB4O,eAAe9Q,aAAa,GAAC;AACtF,cAAAgT,WAAewC,kBAAiBvS;AAAQ,YAEpC,CAACS,YAAM,CAAK3D,SAAA8V,KAAA5V,SAAuByD,QAAM,GAAC;AAE5C,gBAAAoS,gBAAoBP,QAAOtS;AACvBwS,2BAAazU,qBAAqByU,aAAW;AAAC;AAAA,QAAA;AAKpD/R,iBAAM3C,MAAO;AAAA,MAAA;AAAA,OAAC,CAEd;AAAA,EACLoB,GAAAA,QAAAD,iBAAAC,QAAA2O,eAAA3O,QAAA8Q,MAAAA,KAAA9Q,EAAA,EAAA;AAtBD,QAAA4T,kBAAwB9C;AAsBYC,MAAAA;AAAA/Q,YAAAkM,aAQnB6E,KAAA/C,IAAAA,kBAAkB9B,WAAW8G,YAAQ,GAAChT,QAAAkM,WAAAlM,QAAA+Q,MAAAA,KAAA/Q,EAAA,EAAA;AACnCiR,QAAAA,KAAAuB,UAAU,KAAEtS;AAAYiR,MAAAA;AAAAnR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KActC+O,MAAAlO,+BAAA,OAAA,EAAUiQ,KAAAA,WAAqB,UAAA,EAAK,CAAA,GAAAlT,QAAAmR,OAAAA,MAAAnR,EAAA,EAAA;AAAAqR,MAAAA;AAAArR,IAAA+O,EAAAA,MAAAA,aAAA/O,EAAAyS,EAAAA,MAAAA,cAAAzS,EAAAsS,EAAAA,MAAAA,cAAAtS,EAAAmD,EAAAA,MAAAA,YAAAnD,EAAAkP,EAAAA,MAAAA,cAAAlP,EAAAoP,EAAAA,MAAAA,UAAApP,EAAAqP,EAAAA,MAAAA,UAAArP,UAAAiP,mBAAAjP,EAAA,EAAA,MAAAqD,MAAArD,EAAA,EAAA,MAAAsP,kBAAAtP,EAAA,EAAA,MAAAuP,WAAAvP,EAAA,EAAA,MAAAyP,cAAAzP,EAAA,EAAA,MAAA2P,UAAA3P,EAAA,EAAA,MAAA6P,QAAA7P,EAAA,EAAA,MAAA8P,SACpCuB,MAACpO,2BAAAA,IAAA,YAAA,EACuB8L,iCACME,6CAChBC,YACJE,QACAC,QACJhM,IACYiM,gBACPC,SACDE,QAAAA,YACAgD,QAAAA,YACHW,KAAAA,SACGzD,QACA2C,QAAS,YACXzC,MACCC,iBAGT,GAAa9P,QAAA+O,WAAA/O,QAAAyS,YAAAzS,QAAAsS,YAAAtS,QAAAmD,UAAAnD,QAAAkP,YAAAlP,QAAAoP,QAAApP,QAAAqP,QAAArP,QAAAiP,iBAAAjP,QAAAqD,IAAArD,QAAAsP,gBAAAtP,QAAAuP,SAAAvP,QAAAyP,YAAAzP,QAAA2P,QAAA3P,QAAA6P,MAAA7P,QAAA8P,OAAA9P,QAAAqR,OAAAA,MAAArR,EAAA,EAAA;AAAAwR,MAAAA;AAAAxR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAEboP,MAAAvO,+BAAA,OAAA,EAAUkQ,KAAAA,YAAsB,UAAA,EAAK,CAAA,GAAAnT,QAAAwR,OAAAA,MAAAxR,EAAA,EAAA;AAAA0R,MAAAA;AAAA1R,YAAAuT,eAAAvT,EAAA4T,EAAAA,MAAAA,mBAAA5T,EAAAqD,EAAAA,MAAAA,MAAArD,EAAA,EAAA,MAAAsQ,WAAAtQ,EAAA,EAAA,MAAAuS,cAAAvS,EAAAkG,EAAAA,MAAAA,WAAAlG,UAAA0S,YAAA1S,EAAAiC,EAAAA,MAAAA,OAAAjC,EAAA,EAAA,MAAA+G,aAAA/G,EAAA,EAAA,MAAAqR,OAAArR,EAAA+Q,EAAAA,MAAAA,MAAA/Q,UAAAiR,MAAAjR,EAAA,EAAA,MAAA2S,WAxCvCjB,MAAC5F,2BAAAA,KAAA+H,eAAAA,OAAA,EAAK,GACA9M,WACauJ,mBAAM,SACvB,kBACW,WAAAS,IACG,gBAAAE,IACN,WAAA,UACA,SAAA,QACJ5N,IACQkP,YACHqB,0BACAL,SAAAA,aACArN,SACCwM,UACLzQ,KACA,MAAA,UACI0Q,SAGTxB,UAAAA;AAAAA,IAAAA;AAAAA,IACAE;AAAAA,IAoBAG;AAAAA,EACF,EAAA,CAAA,GAAQxR,QAAAuT,aAAAvT,QAAA4T,iBAAA5T,QAAAqD,IAAArD,QAAAsQ,SAAAtQ,QAAAuS,YAAAvS,QAAAkG,SAAAlG,QAAA0S,UAAA1S,QAAAiC,KAAAjC,QAAA+G,WAAA/G,QAAAqR,KAAArR,QAAA+Q,IAAA/Q,QAAAiR,IAAAjR,QAAA2S,SAAA3S,QAAA0R,OAAAA,MAAA1R,EAAA,EAAA;AAAA2R,MAAAA;AAAA,SAAA3R,EAAAyP,EAAAA,MAAAA,cAAAzP,UAAA0R,OA1CVC,MAAC1O,2BAAAA,IAAA6Q,eAAAA,QAAwBrE,EAAAA,iBAAAA,YACvBiC,UA0CF,IAAA,CAAA,GAAS1R,QAAAyP,YAAAzP,QAAA0R,KAAA1R,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA,GA3CT2R;AA2CS,CAEZ;AAEDM,OAAOlG,cAAc;AC7Zd,SAAAgI,eAAAlR,OAAA;AAAA7C,QAAAA,IAAAC,uBAAA,CAAA,GACL;AAAA,IAAAkD;AAAAA,IAAAuP;AAAAA,IAAAC;AAAAA,EAAAA,IAAsC9P;AAAK,MAAA/C,IAAAQ;AAAAN,IAAA0S,CAAAA,MAAAA,YAAA1S,SAAA2S,WAGlCrS,KAAA;AAAA,IAAAiO,SAAA;AAAA,IAAAmE;AAAAA,IAAAC;AAAAA,EAAAA,GAIN3S,OAAA0S,UAAA1S,OAAA2S,SAAA3S,OAAAM,MAAAA,KAAAN,EAAA,CAAA,GAAAF,KAJMQ;AADT,QAAA0T,eAAyClU;AAOxCa,MAAAA;AAAA,SAAAX,EAAAmD,CAAAA,MAAAA,YAAAnD,SAAAgU,gBAEMrT,KAAAsC,2BAAAA,IAAA,cAAA,UAAA,EAA+B+Q,OAAAA,cAAe7Q,SAAAA,CAAS,GAAyBnD,OAAAmD,UAAAnD,OAAAgU,cAAAhU,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAAhFW;AAAgF;AAGzFoT,eAAehI,cAAc;ACiCtB,MAAMkI,aAAalP,MAAAA,WAAW,SAAAlC,OAAAmC,cAAA;AAAAhF,QAAAA,IAAAC,uBAAA,EAAA,GAInC;AAAA,IAAAiU,uCAAApU;AAAAA,IAAAC,iBAAAoU;AAAAA,IAAAC,QAAAC;AAAAA,IAAAhR;AAAAA,IAAAiR,MAAAC;AAAAA,IAAAhF;AAAAA,IAAAiF;AAAAA,IAAAC,WAAAC;AAAAA,IAAAC,eAAAC;AAAAA,IAAApF,QAAAlP;AAAAA,IAAA8F;AAAAA,IAAAyO,eAAAC;AAAAA,IAAAC,iBAAAC;AAAAA,EAcInS,IAAAA,OAbqCoS,6BAAAnV,OAAkCI,cAAlCJ,IAS/BoV,oBAAA5U,OAAwBJ,cAAxBI,IAKV,CAAAuM,MAAAC,OAAA,IAAwBzM,MAAAA,WAAc,GACtC,CAAA8U,aAAAC,cAAA,IAAsC/U,MAAAA,aAAsC,GAC5E,CAAAgV,eAAAC,gBAAA,IAA0CjV,MAAAA,aAAuC;AAACM,MAAAA;AAAAX,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACbzB,KAAA,CAAA,GAAEX,OAAAW,MAAAA,KAAAX,EAAA,CAAA;AAAvE,QAAA,CAAAuV,cAAAC,oBAAA,IAA6CnV,MAAAA,SAAwBM,EAAE,GACvE8U,UAAgB/U,MAAAA,OAAgBmM,IAAI;AAAC,MAAAjM,IAAAO;AAAAnB,IAAAwU,CAAAA,MAAAA,UAAAxU,SAAA6M,QAG3BjM,KAAAA,MAAA;AACJ4T,cAAU3H,QAAS4I,CAAAA,QAAO3U,WAC5B0T,OAAO;AAAA,EAERrT,GAAAA,KAAA,CAACqT,QAAQ3H,IAAI,GAAC7M,OAAAwU,QAAAxU,OAAA6M,MAAA7M,OAAAY,IAAAZ,OAAAmB,OAAAP,KAAAZ,EAAA,CAAA,GAAAmB,KAAAnB,EAAA,CAAA,IAJjBkB,MAAAA,UAAUN,IAIPO,EAAc;AAAC,MAAAC,IAAAuP;AAAA3Q,IAAAuP,CAAAA,MAAAA,WAAAvP,SAAA6M,QAGRzL,KAAAA,MAAA;AACJmO,eAAY1C,CAAAA,QAAQ4I,QAAO3U,WAC7ByO,QAAQ;AAAA,EAEToB,GAAAA,KAAA,CAACpB,SAAS1C,IAAI,GAAC7M,OAAAuP,SAAAvP,OAAA6M,MAAA7M,OAAAoB,IAAApB,OAAA2Q,OAAAvP,KAAApB,EAAA,CAAA,GAAA2Q,KAAA3Q,EAAA,CAAA,IAJlBkB,MAAAA,UAAUE,IAIPuP,EAAe;AAAC,MAAAG,IAAAC;AAAA/Q,WAAA6M,QAETiE,KAAAA,MAAA;AACR2E,YAAO3U,UAAW+L;AAAAA,EAAI,GACrBkE,MAAClE,IAAI,GAAC7M,OAAA6M,MAAA7M,QAAA8Q,IAAA9Q,QAAA+Q,OAAAD,KAAA9Q,EAAA,EAAA,GAAA+Q,KAAA/Q,EAAA,EAAA,IAFTkB,gBAAU4P,IAEPC,EAAM;AAACE,MAAAA;AAAAjR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAE4B6O,KAAAA,MAAA;AAC7ByE,YAAAA,OAAU,GACjBN,mBAAmB;AAAA,EAAA,GACpBpV,QAAAiR,MAAAA,KAAAjR,EAAA,EAAA;AAHD,QAAA2V,oBAA0B1E;AAGpBE,MAAAA;AAAAnR,YAAA6M,QAMJsE,MAAAxN,CAAA,UAAA;AACMkJ,YAAMlJ,MAAKwF,eAAgB;AAAA,EAAC,GACjCnJ,QAAA6M,MAAA7M,QAAAmR,OAAAA,MAAAnR,EAAA,EAAA;AAHH,QAAA4V,kBAAwBzE;AAKvBE,MAAAA;AAAArR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAEuCiP,MAAAT,CAAA,YAAA;AAGlCjN,QAAAA,QAAKC,QAAS,eAAeD,QAAKC,QAAS,WAAWD,QAAKC,QAAS,KAAG;AACzED,cAAKwF,kBACL2D,UAAY,GACZsI,eAAe,OAAO;AAAC;AAAA,IAAA;AAOrBzR,QAAAA,QAAKC,QAAS,WAAS;AACzBD,cAAKwF,kBACL2D,UAAY,GACZsI,eAAe,MAAM;AAAC;AAAA,IAAA;AAAA,EAAA,GAIzBpV,QAAAqR,OAAAA,MAAArR,EAAA,EAAA;AApBD,QAAA6V,sBAA4BxE;AAoBtBG,MAAAA;AAAAxR,IAAAqV,EAAAA,MAAAA,iBAAArV,UAAAuV,gBAGJ/D,MAAAsE,CAAA,YAAA;AACE,UAAAvU,SAAeoC,QAAKpC;AAEdA,QAAAA,kBAAMC,QAIR6T,EAAkB9T,kBAAAA,WAAW8T,iBAAiBA,cAAavX,SAAUyD,MAAM,KAAE;AAAA,iBAI5EhC,MAAYgW;AAAY,YACvBhU,WAAWhC,MAAMA,GAAEzB,SAAUyD,MAAM;AAAC;AAK1CuL,gBAAa;AAAA,IAAA;AAAA,EACd9M,GAAAA,QAAAqV,eAAArV,QAAAuV,cAAAvV,QAAAwR,OAAAA,MAAAxR,EAAA,EAAA;AAnBH,QAAA+V,yBAA+BvE;AAqB9BE,MAAAA;AAAA1R,IAAAqV,EAAAA,MAAAA,iBAAArV,UAAAiV,8BAEoCvD,MAAAA,MAAA;AACnC5E,cAAa,GACTmI,CACAI,8BAAAA,iBAAeA,cAAazW,MAAO;AAAA,EACxCoB,GAAAA,QAAAqV,eAAArV,QAAAiV,4BAAAjV,QAAA0R,OAAAA,MAAA1R,EAAA,EAAA;AAJD,QAAAgW,mBAAyBtE;AAIsBC,MAAAA;AAAA3R,YAAAuV,gBAG7C5D,MAAAsE,CAAA,YAAA;AACE,UAAApF,WAAelN,QAAKuS;AAAc,QAE5B3U,oBAAMC,MAAgB;AAAA,iBAIvBP,QAAYsU;AAAY,YACvBhW,SAAOgC,YAAUhC,KAAEzB,SAAUyD,QAAM;AAAC;AAK1CuL,gBAAa;AAAA,IAAA;AAAA,EAAC,GACf9M,QAAAuV,cAAAvV,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA;AAfH,QAAAmW,aAAmBxE;AAiBlBE,MAAAA;AAAA7R,IAAAqV,EAAAA,MAAAA,iBAAArV,UAAAiV,8BAEmCpD,MAAAA,MAAA;AAClC/E,cAAa,GACTmI,CACAI,8BAAAA,iBAAeA,cAAazW,MAAO;AAAA,EACxCoB,GAAAA,QAAAqV,eAAArV,QAAAiV,4BAAAjV,QAAA6R,OAAAA,MAAA7R,EAAA,EAAA;AAJD,QAAAoW,kBAAwBvE;AAIuBC,MAAAA;AAAA9R,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAEX0P,MAAArQ,CAAAA,UAClC+T,qBAAoBa,CAAUA,QAAAA,IAAG5N,OAASlJ,CAAAA,IAAE,CAAC,CAAC,GAAC,MAElCiW,qBAAoBc,CAAAA,UAAUD,MAAG1W,OAAA4W,SAAiBA,QAAQhX,IAAE,CAAC,IAC3ES,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AAJD,QAAAwW,kBAAwB1E;AAIlBC,MAAAA;AAAA/R,IAAA,EAAA,MAAAqV,iBAAArV,EAAA,EAAA,MAAAmW,cAAAnW,EAAA,EAAA,MAAAoW,mBAAApW,EAAA+V,EAAAA,MAAAA,0BAAA/V,EAAAgW,EAAAA,MAAAA,oBAAAhW,EAAAqD,EAAAA,MAAAA,MAAArD,EAAAuU,EAAAA,MAAAA,YAAAvU,UAAAmV,eAaOpD,MAAAwC,YAAYjJ,mBAAaiJ,UAXtC;AAAA,IAAA,mBACqBlR;AAAAA,IAAE,eACJ8S;AAAAA,IAAU,gBACTJ;AAAAA,IAAsB,UAC5BC;AAAAA,IAAgB,aACbI;AAAAA,IAAe,eACbf;AAAAA,IAAamB;AAAAA,IAAArB;AAAAA,EAAAA,CAKyB,GAACnV,QAAAqV,eAAArV,QAAAmW,YAAAnW,QAAAoW,iBAAApW,QAAA+V,wBAAA/V,QAAAgW,kBAAAhW,QAAAqD,IAAArD,QAAAuU,UAAAvU,QAAAmV,aAAAnV,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAA1D,QAAAsU,OAAavC;AAA6C0E,MAAAA;AAAA,OAAA;AAAA,QAAA,CAGnDpC,YAAU;AAAE,YAAA;AAAWqC,YAAAA;AAAAA,IAAAA;AAWdC,UAAAA,OAAAtC,WAAUxR,MAAAU,YAAmBsJ;AAAI+J,QAAAA;AAAA5W,MAAAqU,EAAAA,MAAAA,cAAArU,EAAA,EAAA,MAAA4V,mBAAA5V,EAAAqD,EAAAA,MAAAA,MAAArD,EAAA,EAAA,MAAA6M,QAAA7M,UAAA2W,QAGxCC,OAAAtL,MAAAA,aAAa+I,YAZpB;AAAA,MAAA,WACa;AAAA,MAAYhR;AAAAA,MAAA,SAEZsS;AAAAA,MAAiB,WACfE;AAAAA,MAAmB,aACjBD;AAAAA,MAAe,iBAAA;AAAA,MAAA,iBAEb/I;AAAAA,MAAI,KACdyI;AAAAA,MAAgB,UACXqB;AAAAA,IAG6B,CAAA,GAAC3W,QAAAqU,YAAArU,QAAA4V,iBAAA5V,QAAAqD,IAAArD,QAAA6M,MAAA7M,QAAA2W,MAAA3W,QAAA4W,QAAAA,OAAA5W,EAAA,EAAA,GAA5CyW,MAAOG;AAAAA,EAAAA;AAfT,QAAAxC,SAAeqC;AAgBoE,MAAAE,KAAAC;AAAA5W,YAAAqV,iBAKjFsB,MAAAA,MAAMtB,eACNuB,OAACvB,aAAa,GAACrV,QAAAqV,eAAArV,QAAA2W,KAAA3W,QAAA4W,QAAAD,MAAA3W,EAAA,EAAA,GAAA4W,MAAA5W,EAAA,EAAA,IAHjBqC,MACE2C,oBAAAA,cACA2R,KACAC,GACF;AAAC,MAAAC,KAAAC;AAAA9W,YAAAoG,WAWO0Q,MAAA1Q,WAAa,CAAApG,GAAAA,QAAAoG,SAAApG,QAAA8W,OAAAA,MAAA9W,EAAA,EAAA;AAAA+W,MAAAA;AAAA/W,IAAAmU,EAAAA,MAAAA,8BAAAnU,EAAA0U,EAAAA,MAAAA,wBAAA1U,EAAA8U,EAAAA,MAAAA,4BAAA9U,UAAA4U,4BAAA5U,EAAA,EAAA,MAAAkV,qBAAAlV,EAAA,EAAA,MAAAgV,8BAAAhV,EAAA,EAAA,MAAA8W,OARZC,MAAA;AAAA,IAAAhX,iBACYoU;AAAAA,IAA0B6C,UACjC;AAAA,IAAMvC,WACLC;AAAAA,IAAoBlF,QACvB0F;AAAAA,IAAiBH,iBACRC;AAAAA,IAA0B1O,QACnCwO;AAAAA,IAAwBnF,QACxBiF;AAAAA,IAAwB,GAC5BkC;AAAAA,EAAAA,GACL9W,QAAAmU,4BAAAnU,QAAA0U,sBAAA1U,QAAA8U,0BAAA9U,QAAA4U,0BAAA5U,QAAAkV,mBAAAlV,QAAAgV,4BAAAhV,QAAA8W,KAAA9W,QAAA+W,OAAAA,MAAA/W,EAAA,EAAA,GAAA6W,MATME;AADT,QAAAE,eAAiDJ;AAoBhDK,MAAAA;AAAAlX,YAAAoU,UAII8C,MAAA9C,gEAAe,GAAApU,QAAAoU,QAAApU,QAAAkX,OAAAA,MAAAlX,EAAA,EAAA;AAAAmX,MAAAA;AAAAnX,SAAAA,EAAA,EAAA,MAAAsU,QAAAtU,EAAA6M,EAAAA,MAAAA,QAAA7M,EAAAiX,EAAAA,MAAAA,gBAAAjX,UAAAkX,OADlBC,MAAAlU,2BAAAA,IAAC4I,0BAAgB,WAAA,uBAA0BoL,GAAAA,cAAuB3C,SAAAA,MAAYzH,MAC3EqK,UACH,IAAA,CAAA,GAAUlX,QAAAsU,MAAAtU,QAAA6M,MAAA7M,QAAAiX,cAAAjX,QAAAkX,KAAAlX,QAAAmX,OAAAA,MAAAnX,EAAA,EAAA,GAFVmX;AAEU,CAEb;AAEDlD,WAAWlI,cAAc;AA/MY,SAAA2J,QAAAzM,GAAA;AAAA,SAAA,CA4CjBA;AAAC;AC5Fd,MAAMmO,WAAWrS,MAAAA,WAAW,SAAAlC,OAAAZ,KAAA;AAAAjC,QAAAA,IAAAC,uBAAA,EAAA;AAAAiM,MAAAA,WAAAmL,OAAA/Q,QAAAS,WAAAjH;AAAAE,WAAA6C,SAIjC;AAAA,IAAAyU,UAAAxX;AAAAA,IAAAoM;AAAAA,IAAAmL;AAAAA,IAAA/Q;AAAAA,IAAA,GAAAS;AAAAA,EAAAA,IAAmElE,OAAK7C,OAAA6C,OAAA7C,OAAAkM,WAAAlM,OAAAqX,OAAArX,OAAAsG,QAAAtG,OAAA+G,WAAA/G,OAAAF,OAAAoM,YAAAlM,EAAA,CAAA,GAAAqX,QAAArX,EAAA,CAAA,GAAAsG,SAAAtG,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA;AAAjEsX,QAAAA,WAAAxX,OAAgBI,cAAhBJ,IACPyX,CAAAA,SAAAC,UAAA,IAA8BnX,MAAAA,SAAkBgX,CAAoB,KAAA;AAAC,MAAA/W,IAAAK;AAAAX,WAAAqX,SAE3D/W,KAAAA,MAAA;AAAA,QAAA,CACH+W;AAAK,aACDG,aAAe;AAGxBC,UAAAA,UAAgBhU,WAAA,MAAA;AACd+T,mBAAe;AAAA,OACdH,KAAK;AAAC,WAAA,MAAA;AAGP5D,mBAAagE,OAAO;AAAA,IAAC;AAAA,EAAA,GAEtB9W,MAAC0W,KAAK,GAACrX,OAAAqX,OAAArX,OAAAM,IAAAN,OAAAW,OAAAL,KAAAN,EAAA,CAAA,GAAAW,KAAAX,EAAA,CAAA,IAZVkB,gBAAUZ,IAYPK,EAAO;AAACC,MAAAA;AAAAZ,IAAAkM,CAAAA,MAAAA,aAAAlM,UAAAsG,UAMI1F,KAAAoN,sBAAkB9B,WAAWwL,IAAAA,SAAA;AAAA,IAAApR;AAAAA,EAAAA,CAAiB,CAAC,GAACtG,OAAAkM,WAAAlM,QAAAsG,QAAAtG,QAAAY,MAAAA,KAAAZ,EAAA,EAAA;AAC5C,QAAAmB,KAAAmW,WAAW,KAAEpX,QACdkB,KAAAmW,UAAU,KAAErX;AAAYyQ,MAAAA;AAAA,SAAA3Q,EAAAiC,EAAAA,MAAAA,OAAAjC,EAAA,EAAA,MAAA+G,aAAA/G,EAAAY,EAAAA,MAAAA,MAAAZ,EAAA,EAAA,MAAAmB,MAAAnB,UAAAoB,MALxCuP,KAAC1N,2BAAA,IAAA0H,eACS,KAAA,EAAA,WAAA,YACJ5D,GAAAA,WACO,WAAAnG,IACI,iBAAAO,IACD,gBAAAC,IACTa,IACL,CAAA,GAAAjC,QAAAiC,KAAAjC,QAAA+G,WAAA/G,QAAAY,IAAAZ,QAAAmB,IAAAnB,QAAAoB,IAAApB,QAAA2Q,MAAAA,KAAA3Q,EAAA,EAAA,GAPF2Q;AAOE,CAEL;AAEDyG,SAASrL,cAAc;ACFhB,MAAM4L,eAAe5S,MAAAA,WAAW,SAAAlC,OAAAZ,KAAA;AAAAjC,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAiM,WAAAnF,WAAAjH;AAAAE,WAAA6C,SAIrC;AAAA,IAAAqJ;AAAAA,IAAA0L,MAAA9X;AAAAA,IAAA,GAAAiH;AAAAA,EAA4ClE,IAAAA,OAAK7C,OAAA6C,OAAA7C,OAAAkM,WAAAlM,OAAA+G,WAAA/G,OAAAF,OAAAoM,YAAAlM,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA;AAA/B4X,QAAAA,OAAA9X,OAAQI,aAARJ;AAAQQ,MAAAA;AAAAN,IAAAkM,CAAAA,MAAAA,aAAAlM,SAAA4X,QAMXtX,KAAA0N,sBAAkB9B,WAAW2L,IAAAA,aAAA;AAAA,IAAAD;AAAAA,EAAAA,CAAmB,CAAC,GAAC5X,OAAAkM,WAAAlM,OAAA4X,MAAA5X,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAAAW,MAAAA;AAAA,SAAAX,EAAAiC,CAAAA,MAAAA,OAAAjC,SAAA+G,aAAA/G,EAAA,CAAA,MAAAM,MAH/DK,KAACsC,2BAAAA,IAAA,UAAA,EACS,WAAA,mBACJ8D,WACO,WAAAzG,IACN2B,KACL,GAAAjC,OAAAiC,KAAAjC,OAAA+G,WAAA/G,OAAAM,IAAAN,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GALFW;AAKE,CAEL;AAEDgX,aAAa5L,cAAc;AAMpB,MAAM+L,gBAAgB/S,MAAAA,WAAW,SAAAlC,OAAAZ,KAAA;AAAAjC,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAiM,WAAAnF,WAAAjH;AAAAE,WAAA6C,SAItC;AAAA,IAAAqJ;AAAAA,IAAA0L,MAAA9X;AAAAA,IAAA,GAAAiH;AAAAA,EAA4ClE,IAAAA,OAAK7C,OAAA6C,OAAA7C,OAAAkM,WAAAlM,OAAA+G,WAAA/G,OAAAF,OAAAoM,YAAAlM,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA;AAA/B4X,QAAAA,OAAA9X,OAAQI,aAARJ;AAAQQ,MAAAA;AAAAN,IAAAkM,CAAAA,MAAAA,aAAAlM,SAAA4X,QAMXtX,KAAA0N,sBAAkB9B,WAAW6L,IAAAA,cAAA;AAAA,IAAAH;AAAAA,EAAAA,CAAoB,CAAC,GAAC5X,OAAAkM,WAAAlM,OAAA4X,MAAA5X,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAAAW,MAAAA;AAAA,SAAAX,EAAAiC,CAAAA,MAAAA,OAAAjC,SAAA+G,aAAA/G,EAAA,CAAA,MAAAM,MAHhEK,KAACsC,2BAAAA,IAAA,UAAA,EACS,WAAA,oBACJ8D,WACO,WAAAzG,IACN2B,KACL,GAAAjC,OAAAiC,KAAAjC,OAAA+G,WAAA/G,OAAAM,IAAAN,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GALFW;AAKE,CAEL;AAEDmX,cAAc/L,cAAc;AAMrB,MAAMiM,kBAAkBjT,MAAAA,WAAW,SAAAlC,OAAAZ,KAAA;AAAAjC,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAiM,WAAAnF,WAAAjH;AAAAE,WAAA6C,SAIxC;AAAA,IAAAqJ;AAAAA,IAAA0L,MAAA9X;AAAAA,IAAA,GAAAiH;AAAAA,EAA4ClE,IAAAA,OAAK7C,OAAA6C,OAAA7C,OAAAkM,WAAAlM,OAAA+G,WAAA/G,OAAAF,OAAAoM,YAAAlM,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA;AAA/B4X,QAAAA,OAAA9X,OAAQI,aAARJ;AAAQQ,MAAAA;AAAAN,IAAAkM,CAAAA,MAAAA,aAAAlM,SAAA4X,QAKXtX,KAAA0N,sBAAkB9B,WAAW+L,IAAAA,gBAAA;AAAA,IAAAL;AAAAA,EAAAA,CAAsB,CAAC,GAAC5X,OAAAkM,WAAAlM,OAAA4X,MAAA5X,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAAAW,MAAAA;AAAA,SAAAX,EAAAiC,CAAAA,MAAAA,OAAAjC,SAAA+G,aAAA/G,EAAA,CAAA,MAAAM,MAFlEK,KAACsC,+BAAA,YACK8D,GAAAA,WACO,WAAAzG,IACN2B,IACL,CAAA,GAAAjC,OAAAiC,KAAAjC,OAAA+G,WAAA/G,OAAAM,IAAAN,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GAJFW;AAIE,CAEL;AAEDqX,gBAAgBjM,cAAc;AAMvB,MAAMmM,eAAenT,MAAAA,WAAW,SAAAlC,OAAAZ,KAAA;AAAAjC,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAAiM,WAAAnF,WAAAjH;AAAAE,WAAA6C,SAIrC;AAAA,IAAAqJ;AAAAA,IAAA0L,MAAA9X;AAAAA,IAAA,GAAAiH;AAAAA,EAA4ClE,IAAAA,OAAK7C,OAAA6C,OAAA7C,OAAAkM,WAAAlM,OAAA+G,WAAA/G,OAAAF,OAAAoM,YAAAlM,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA;AAA/B4X,QAAAA,OAAA9X,OAAQI,aAARJ;AAAQQ,MAAAA;AAAAN,IAAAkM,CAAAA,MAAAA,aAAAlM,SAAA4X,QAMXtX,KAAA0N,sBAAkB9B,WAAWiM,IAAAA,aAAA;AAAA,IAAAP;AAAAA,EAAAA,CAAmB,CAAC,GAAC5X,OAAAkM,WAAAlM,OAAA4X,MAAA5X,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAAAW,MAAAA;AAAA,SAAAX,EAAAiC,CAAAA,MAAAA,OAAAjC,SAAA+G,aAAA/G,EAAA,CAAA,MAAAM,MAH/DK,KAACsC,+BAAA,YAEK8D,GAAAA,WACO,WAAAzG,IACN2B,IACL,CAAA,GAAAjC,OAAAiC,KAAAjC,OAAA+G,WAAA/G,OAAAM,IAAAN,QAAAW,MAAAA,KAAAX,EAAA,EAAA,GALFW;AAKE,CAEL;AAEDuX,aAAanM,cAAc;AChHpB,MAAMqM,WAAWrT,MAAAA,WAAW,SAAAlC,OAAAZ,KAAA;AAAAjC,QAAAA,IAAAC,uBAAA,CAAA;AAAA,MAAAoY,MAAAtR;AAAA/G,WAAA6C,SAIjC;AAAA,IAAAwV;AAAAA,IAAA,GAAAtR;AAAAA,EAAAA,IAA6BlE,OAAK7C,OAAA6C,OAAA7C,OAAAqY,MAAArY,OAAA+G,cAAAsR,OAAArY,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA;AASpB,QAAAF,KAAA+C,MAAK7E,aAAAkC,SAAuB,IAAO2C,MAAK7E;AAASsC,MAAAA;AAAA,SAAAN,SAAAqY,QAAArY,EAAA6C,CAAAA,MAAAA,MAAAM,YAAAnD,EAAAiC,CAAAA,MAAAA,OAAAjC,EAAA,CAAA,MAAA+G,aAAA/G,SAAAF,MAN7DQ,oCAACqK,eAAAA,KACS,EAAA,WAAA,YACJ5D,GAAAA,WACEsR,MACDpW,KACA,MAAA,YACK,UAAAnC,IAET+C,UAAKM,MAAAA,SACR,CAAA,GAAMnD,OAAAqY,MAAArY,EAAA,CAAA,IAAA6C,MAAAM,UAAAnD,OAAAiC,KAAAjC,OAAA+G,WAAA/G,OAAAF,IAAAE,OAAAM,MAAAA,KAAAN,EAAA,CAAA,GATNM;AASM,CAET;AAED8X,SAASrM,cAAc;ACVvB,MAAMuM,QAAQ;AAAA,EACZ7V,OAAO;AAAA,EACP8V,SAAS;AAAA,EACTC,SAAS;AAAA,EACT5V,MAAM;AACR,GAEM6V,mBAAmB;AAAA,EACvBhW,OAAO;AAAA,EACP8V,SAAS;AAAA,EACTC,SAAS;AAAA,EACT5V,MAAM;AACR,GAEM8V,cAAc;AAAA,EAClBjW,OAAO;AAAA,EACP8V,SAAS;AAAA,EACTC,SAAS;AAAA,EACT5V,MAAM;AACR,GAIM+V,+BAA+B,MAAO,KAAK,KAAK,KAAK;AASpD,SAAAC,MAAA/V,OAAA;AAAA7C,QAAAA,IAAAC,uBAAA,EAAA;AAAA,MAAA4Y,UAAAC,aAAAC,UAAAxJ,SAAAxI,WAAAiS,QAAAlZ,IAAAmZ,OAAAC;AAAAlZ,WAAA6C,SAML;AAAA,IAAAgW;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAxJ;AAAAA,IAAAjJ,QAAAxG;AAAAA,IAAAmZ;AAAAA,IAAAD;AAAAA,IAAAE;AAAAA,IAAA,GAAAnS;AAAAA,EAAAA,IAUIlE,OAAK7C,OAAA6C,OAAA7C,OAAA6Y,UAAA7Y,OAAA8Y,aAAA9Y,OAAA+Y,UAAA/Y,OAAAuP,SAAAvP,OAAA+G,WAAA/G,OAAAgZ,QAAAhZ,OAAAF,IAAAE,OAAAiZ,OAAAjZ,OAAAkZ,cAAAL,WAAA7Y,EAAA,CAAA,GAAA8Y,cAAA9Y,EAAA,CAAA,GAAA+Y,WAAA/Y,EAAA,CAAA,GAAAuP,UAAAvP,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAgZ,SAAAhZ,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA,GAAAiZ,QAAAjZ,EAAA,CAAA,GAAAkZ,YAAAlZ,EAAA,CAAA;AALPsG,QAAAA,SAAAxG,OAAUI,aAAVJ,IAOFqZ,WAAiBH,SAAMP,iBAAoBO,MAAM,IAAI,WACrDI,aAAmBJ,SAAMN,YAAeM,MAAM,IAAI,WAClDK,OAAaL,SAAMV,MAASU,MAAM,IAAI,UAItCM,iBAF6BrG,uCAAwB,IAES,IAAA;AAAA3S,MAAAA;AAAAN,YAAAsZ,kBAC3ChZ,KAAAgZ,iBAAc;AAAA,IAAAhb,MAAU;AAAA,IAAQgb;AAAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAR,UAAA;AAAA,EAAA,GAA+C/Y,QAAAsZ,gBAAAtZ,QAAAM,MAAAA,KAAAN,EAAA,EAAA;AAAlG,QAAAwZ,aAAmBlZ,IAEnBmZ,cAAoBV,YAAYW,SAASX,QAAQ,KAAKA,WAAQJ;AAA+BhY,MAAAA;AAAAX,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACxDzB,KAAA,CAAC,UAAU,SAAS,GAACX,QAAAW,MAAAA,KAAAX,EAAA,EAAA;AAA1D,QAAA2Z,UAAqChZ;AAAqBC,MAAAA;AAAAZ,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACrBxB,KAAA,CAAC,WAAW,SAAS,GAACZ,QAAAY,MAAAA,KAAAZ,EAAA,EAAA;AAA3D,QAAAwS,UAAqC5R;AAAsBO,MAAAA;AAAAnB,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACzBjB,KAAA,CAAC,UAAU,UAAU,GAACnB,QAAAmB,MAAAA,KAAAnB,EAAA,EAAA;AAAxD,QAAA4Z,OAAkCzY;AAAsBC,MAAAA;AAAApB,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAKzChB,KAAAyY,IAAM,MAAA,GAAC7Z,QAAAoB,MAAAA,KAAApB,EAAA,EAAA;AAIC2Q,QAAAA,KAAA8I,cAAc,KAAEvZ;AAAY4Q,MAAAA;AAAA9Q,YAAAiZ,SAgBxCnI,KAAAmI,SACEhW,+BAAAoE,eAAAA,MAAA,EAAW,MAAA,GAAU,QAAA,2BAEtB,GACDrH,QAAAiZ,OAAAjZ,QAAA8Q,MAAAA,KAAA9Q,EAAA,EAAA;AAAA+Q,MAAAA;AAAA/Q,IAAA8Y,EAAAA,MAAAA,eAAA9Y,UAAAwZ,cACAzI,KAAA+H,eACE7V,2BAAA,IAAA,YAAA,EAAW,OAAI,IAAQ,MAAA,GAAakI,UAAAA,SAAqBqO,YACvDV,uBACH,GACD9Y,QAAA8Y,aAAA9Y,QAAAwZ,YAAAxZ,QAAA+Q,MAAAA,KAAA/Q,EAAA,EAAA;AAAAiR,MAAAA;AAAAjR,IAAA8Q,EAAAA,MAAAA,MAAA9Q,UAAA+Q,MAXLE,KAAChO,+BAAA8K,eAAAA,QAAW,MAAC,GAAY,WAAA,QAAgB,YACvC,UAACjC,2BAAA,KAAAV,sBAAA,EAAa,OAAC,GACZ0F,UAAAA;AAAAA,IAAAA;AAAAA,IAKAC;AAAAA,EAAAA,EAKH,CAAA,EACF,CAAA,GAAO/Q,QAAA8Q,IAAA9Q,QAAA+Q,IAAA/Q,QAAAiR,MAAAA,KAAAjR,EAAA,EAAA;AAAAmR,MAAAA;AAAAnR,IAAAoZ,EAAAA,MAAAA,cAAApZ,UAAA6Y,YAAA7Y,EAAA,EAAA,MAAAuP,WAEN4B,MAAA0H,YACE5V,2BAAAA,IAAA0H,eAAAA,KAAA,EAAa,SAAA,GACZ,UAAC1H,2BAAAA,IAAA2H,eAAAA,QAAA,EACI,IAAA,UACG2G,MAAAA,iBACD,MAAA,SACI,YACH6H,MAAS,YACN7J,kBACF,OAAA;AAAA,IAAAuK,eAAgB;AAAA,EAAA,GAAM,GAEjC,GACD9Z,QAAAoZ,YAAApZ,QAAA6Y,UAAA7Y,QAAAuP,SAAAvP,QAAAmR,OAAAA,MAAAnR,EAAA,EAAA;AAAAqR,MAAAA;AAAArR,IAAAmR,EAAAA,MAAAA,OAAAnR,UAAAiR,MAAAjR,EAAA,EAAA,MAAAwZ,cA5BHnI,MAACvF,2BAAAA,KAAA,YAAA,EAAiB,OAAA,cAAuBX,UAAAA,SAAqBqO,YAC5DvI,UAAAA;AAAAA,IAAAA;AAAAA,IAeCE;AAAAA,EAAAA,GAaH,GAAanR,QAAAmR,KAAAnR,QAAAiR,IAAAjR,QAAAwZ,YAAAxZ,QAAAqR,OAAAA,MAAArR,EAAA,EAAA;AAAAwR,MAAAA;AAAAxR,IAAA,EAAA,MAAAmZ,YAAAnZ,EAAA,EAAA,MAAA+Y,YAAA/Y,EAAA,EAAA,MAAAyZ,eAAAzZ,EAAAuP,EAAAA,MAAAA,WAAAvP,EAAAsG,EAAAA,MAAAA,UAAAtG,EAAAwZ,EAAAA,MAAAA,cAAAxZ,EAAAkZ,EAAAA,MAAAA,aAAAlZ,UAAAsZ,kBACZ9H,MAAAiI,+CACE,WAAqB,EAAA,WAAAM,IAAAA,gBAA6B5O,GAAAA,UAAMA,SAAeqO,YACtE,UAAA;AAAA,IAAAvW,+BAACmE,eAAAA,QAAgB,WAAA4S,IAAAA,oBAA6Bb,GAAAA,MAAO,UAAW7S,QAAM;AAAA,mCACrE,YAOY,EAAA,WAAA2T,+BAELd,MAAAA,UACG,SAAA;AAAA,MAAAe,QAAA;AAAA,OACA,SAAA;AAAA,MAAAA,QAAA;AAAA,OACG,YAAA;AAAA,MAAA7C,OAAQiC;AAAAA,MAAcP,UAAYA,WAAgB;AAAA,MAAAoB,MAAQ;AAAA,IACjD5K,GAAAA,qBAAAA,QALhB,GAAA,YAAY2J,SAAS,EAO9B;AAAA,EAAA,EAAA,CAAA,GACDlZ,QAAAmZ,UAAAnZ,QAAA+Y,UAAA/Y,QAAAyZ,aAAAzZ,QAAAuP,SAAAvP,QAAAsG,QAAAtG,QAAAwZ,YAAAxZ,QAAAkZ,WAAAlZ,QAAAsZ,gBAAAtZ,QAAAwR,OAAAA,MAAAxR,EAAA,EAAA;AAAA0R,MAAAA;AAAA,SAAA1R,EAAA,EAAA,MAAAmZ,YAAAnZ,EAAAsG,EAAAA,MAAAA,UAAAtG,UAAA+G,aAAA/G,EAAA,EAAA,MAAAqZ,QAAArZ,EAAAqR,EAAAA,MAAAA,OAAArR,EAAAwR,EAAAA,MAAAA,OAAAxR,EAAA,EAAA,MAAA2Q,MAAA3Q,EAAAwZ,EAAAA,MAAAA,cAAAxZ,UAAAsZ,kBApEH5H,MAAC5F,2BAAAA,KAAA,YAAA,EACI,IAAA,MACQ,WAAA1K,IACH,WAAA,SACFiY,SACFtS,WACe,qBAAA4J,IACX2I,QAAAA,gBACAhT,QACA,WACF6S,MAAAA,UACC,QAAA,YACGiB,UAAAA,WACDT,SACAnH,SACHoH,MACMJ,YACH,UAAA,YAETnI,UAAAA;AAAAA,IAAAA;AAAAA,IA8BCG;AAAAA,EAAAA,GAoBH,GAAaxR,QAAAmZ,UAAAnZ,QAAAsG,QAAAtG,QAAA+G,WAAA/G,QAAAqZ,MAAArZ,QAAAqR,KAAArR,QAAAwR,KAAAxR,QAAA2Q,IAAA3Q,QAAAwZ,YAAAxZ,QAAAsZ,gBAAAtZ,QAAA0R,OAAAA,MAAA1R,EAAA,EAAA,GArEb0R;AAqEa;AAIjBkH,MAAM7M,cAAc;AAEpB,MAAMqO,YAAY;AAAA,EAChBT,SAAS;AAAA,IAACU,GAAG;AAAA,IAAIC,OAAO;AAAA,IAAKC,QAAQ;AAAA,EAAC;AAAA,EACtC9O,QAAQ;AAAA,IAAC+O,SAAS;AAAA,EAAC;AAAA,EACnBjD,SAAU+B,oBACHA,iBAEE;AAAA,IACLkB,SAAS;AAAA,IACThB,YAAY;AAAA,MACViB,MAAM;AAAA,MACNC,iBAAiBpB,iBAAiB;AAAA,MAClCP,UAAUO,iBAAiB;AAAA,IAAA;AAAA,EAC7B,IAR0B;AAAA,IAACkB,SAAS;AAAA,EAAC;AAAA,EAWzCG,SAAS;AAAA,IACPN,GAAG;AAAA,IACHC,OAAO;AAAA,EACT;AAAA,EACAM,UAAU;AAAA,IACRL,QAAQ;AAAA,IACRD,OAAO;AAAA,EAAA;AAEX,GAGMnP,UAAU;AAAA,EACdwO,SAAS;AAAA,IACPkB,YAAY;AAAA,EACd;AAAA,EACApP,QAAQ;AAAA,IACN+O,SAAS;AAAA,EACX;AAAA,EACAjD,SAAS;AAAA,IACPiD,SAAS;AAAA,EAAA;AAEb,GAEMM,aAAaC,aAAAA,OAAOC,OAAO5T,eAAI,IAAA,GAC/B6T,aAAaF,oBAAOC,OAAOjN,eAAAA,IAAI,GAC/BmN,aAAaH,aAAAA,OAAOC,OAAO3T,eAAI,IAAA,GAC/B8T,YAAYJ,aAAAA,OAAOC,OAAOrQ,kBAAG;AC5M5B,SAAAyQ,aAAA;AACEC,SAAAA,2BAAAC,WAAA5F,SAAA6F,MAIP;AAAC;AALI,SAAAA,SAAA;AAAA,SAAA;AAAA;AAAA,SAAA7F,UAAA;AAAA,SAAA;AAAA;AAQP,MAAM4F,YAAYA,MAAM,MAAM;AAAC,GCXlBE,eAAelN,eAAAA,0BAC1B,4BACA,IACF;ACUO,SAAAmN,WAAA5Y,OAAA;AAAA7C,QAAAA,IAAAC,uBAAA,EAAA,GACL;AAAA,IAAAkD;AAAAA,IAAA+C,SAAApG;AAAAA,IAAA4b;AAAAA,IAAAC;AAAAA,IAAAtP,KAAA/L;AAAAA,EAAA,IAA6DuC,OAA5CqD,UAAApG,OAAWI,aAAXJ,IAAiCuM,MAAA/L,OAAOJ,aAAPI,IAClD;AAAA,IAAAia;AAAAA,MAAiBnK,wBAAS;AAACzP,MAAAA;AAAAX,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAKZzB,KAAAib,IAAW,WAAA,GAAC5b,OAAAW,MAAAA,KAAAX,EAAA,CAAA;AAAAY,MAAAA;AAAAZ,WAAAua,UAOhB3Z,KAAA;AAAA,IAAA2Z;AAAAA,EAAA,GAAQva,OAAAua,QAAAva,OAAAY,MAAAA,KAAAZ,EAAA,CAAA;AAAAmB,MAAAA;AAAA,SAAAnB,SAAAmD,YAAAnD,EAAAqM,CAAAA,MAAAA,OAAArM,EAAAkG,CAAAA,MAAAA,WAAAlG,EAAA,CAAA,MAAA0b,YAAA1b,SAAA2b,YAAA3b,EAAA,CAAA,MAAAY,MATjBO,KAAC8B,2BAAAA,IAAA4Y,eAAAA,MAAA,EACI,IAAA,MACQ,WAAAlb,IACH,WAAA,iBACCuF,SACCwV,UACAC,UACLtP,KACI,YACF,OAAAzL,IAEC,SACV,CAAA,GAAOZ,OAAAmD,UAAAnD,OAAAqM,KAAArM,OAAAkG,SAAAlG,OAAA0b,UAAA1b,OAAA2b,UAAA3b,OAAAY,IAAAZ,OAAAmB,MAAAA,KAAAnB,EAAA,CAAA,GAZPmB;AAYO;AAIXsa,WAAW1P,cAAc;ACrCzB,IAAI+P,UAAU;AAGP,SAASC,kBAA0B;AACxC,SAAOC,OAAOF,SAAS;AACzB;ACwBO,SAAAG,cAAApZ,OAAA;AAAA7C,QAAAA,IAAAC,uBAAA,EAAA,GACL;AAAA,IAAAkD;AAAAA,IAAA+C;AAAAA,IAAAwV;AAAAA,IAAAC;AAAAA,IAAAtP;AAAAA,IAAAsG,SAAA7S;AAAAA,EAAkE+C,IAAAA,OAAf8P,UAAA7S,OAAWI,aAAXJ;AAAWQ,MAAAA;AAAAN,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACf9B,KAAA,CAAA,GAAEN,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAAjD,QAAA,CAAAwC,OAAA0Z,QAAA,IAA0B7b,eAAqBC,EAAE,GACjD6b,UAAgBf,WAAW;AAAC,MAAAza,IAAAC;AAAAZ,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAkDnBxB,KAAA;AAAA,IAAA2N,SAAA;AAAA,IAAA7O,MA/CP0c,CAAA,WAAA;AACE,YAAA/Y,KAAW+Y,OAAM/Y,MAAO0Y,gBACxBhD,GAAAA,WAAiBqD,OAAMrD,YAAiB;AAExCsD,aAAAA,MAAAA,gBAAA,MAAA;AACEH,iBAAQI,CAAA,cAAA;AAAA,cAOFvD,aAAiB;AAAA,mBACZuD,UAAS3c,OAAAka,CAAmBA,UAAAA,MAAKxW,OAAQA,EAAE;AAQpD,gBAAAkZ,UAAAA,MACEF,MAAAA,gBACEH,MAAAA,SAAQM,CAAAA,iBAAmBA,aAAY7c,OAAA8c,CAAmB5C,YAAAA,QAAKxW,OAAQA,EAAE,CAAC,CAC5E;AASGiZ,iBAAAA,CAAAA,GAAAA,UAAS3c,OAAA+c,aAAmB7C,QAAKxW,OAAQA,EAAE,GAAC;AAAA,YAAAkZ;AAAAA,YAAAlZ;AAAAA,YAAA6V,WAIlCyD,KAAAC,IAAS;AAAA,YAACR,QAAA;AAAA,cAAA,GACTA;AAAAA,cAAMrD;AAAAA,YAAAA;AAAAA,UAAA,CAAA;AAAA,QAAA,CAGvB;AAAA,MACF,CAAA,GAEM1V;AAAAA,IAAAA;AAAAA,EAAE,GAGgBrD,OAAAY,MAAAA,KAAAZ,EAAA,CAAA,GAA3BW,KAAOC;AAhDT,QAAA4C,QAAiC7C;AAiD3BQ,MAAAA;AAAAnB,IAAAqM,CAAAA,MAAAA,OAAArM,EAAAmc,CAAAA,MAAAA,WAAAnc,EAAAkG,CAAAA,MAAAA,WAAAlG,SAAA0b,YAAA1b,EAAA,CAAA,MAAA2b,YAAA3b,EAAA,CAAA,MAAAwC,SAAAxC,EAAA,CAAA,MAAA2S,WAKDxR,KAAAgb,WACClZ,2BAAA,IAAC4Z,gCAAuBlK,SACtB,UAAA1P,2BAAAA,IAAC,cAAoBiD,SAAmBwV,UAAoBC,UAAetP,KACzE,UAAApJ,+BAAC6Z,aAAAA,mBAAyB,SAAA,IAAY,MAAA,aACnCta,gBAAK1F,IAAA4Y,KAWL,GACH,EACF,CAAA,EACF,CAAA,GACD1V,OAAAqM,KAAArM,OAAAmc,SAAAnc,OAAAkG,SAAAlG,OAAA0b,UAAA1b,OAAA2b,UAAA3b,OAAAwC,OAAAxC,OAAA2S,SAAA3S,OAAAmB,MAAAA,KAAAnB,EAAA,CAAA;AAAAoB,MAAAA;AAAA,SAAApB,EAAAmD,EAAAA,MAAAA,YAAAnD,UAAAmB,MArBHC,KAAA0K,2BAAA,KAAA,aAAA,UAAA,EAA8BtI,OAC3BL,UAAAA;AAAAA,IAAAA;AAAAA,IACAhC;AAAAA,EAAAA,EAoBH,CAAA,GAAwBnB,QAAAmD,UAAAnD,QAAAmB,IAAAnB,QAAAoB,MAAAA,KAAApB,EAAA,EAAA,GAtBxBoB;AAsBwB;AA/ErB,SAAAsU,MAAA5V,IAAA;AA+DmB,QAAA;AAAA,IAAAyc,SAAAQ;AAAAA,IAAA1Z,IAAA2Z;AAAAA,IAAAZ,QAAAa;AAAAA,IAAA/D;AAAAA,EAAAA,IAAApZ;AACV,SAAAmD,+BAAC,SAEW,UAAAmZ,SAAMvD,UACH,aAAAuD,SAAMtD,aACVyD,SAAM,WACP,QAAAH,SAAMpD,QACP,OAAAoD,SAAMnD,OACH,UAAAmD,SAAMrD,UACLG,aAPL,IAQN;AAAA;AAUlB+C,cAAclQ,cAAc;ACvGrB,SAAAmR,WAAA;AACL1Z,QAAAA,QAAciL,iBAAA+M,YAAuB;AAAC,MAAA,CAEjChY;AAAK2Z,UAAAA,IAAAA,MACQ,mCAAmC;AAAA,MAMjD,CAACC,eAAAA,SAAS5Z,KAAK,KAAKA,MAAK+K,YAAgB;AAAA4O,UAAAA,IAAAA,MAC3B,iDAAiD;AAG5D3Z,SAAAA;AAAK;ACrBE6Z,SAAAA,qBACd7a,OACA8a,cACAxU,gBACoB;AACpB,QAAMyU,MAAMD,aAAazY,QAAQiE,cAAc,GACzCuN,MAAMiH,aAAaxP,MAAM,GAAGyP,GAAG,GAC/B9P,MAAM4I,IAAIrX;AAEhB,WAASF,IAAI2O,MAAM,GAAG3O,KAAK,GAAGA,KAAK,GAAG;AACpC,UAAM0e,UAAUnH,IAAIvX,CAAC,EAAEb,aAAa,eAAe;AAEnD,QAAI,CAACuf;AACH;AAGIC,UAAAA,WAAWD,QAAQE,MAAM,GAAG;AAElCD,aAASE,IAAI;AAEb,UAAMC,IAAc,CAAE;AAEtB,QAAIrV,WAAW;AAEf,aAASsV,IAAI,GAAGA,IAAIJ,SAASze,QAAQ6e,KAAK,GAAG;AACzCne,QAAAA,KAAK+d,SAASI,CAAC,CAAC;AAEZC,YAAAA,IAAIF,EAAEG,KAAK,GAAG;AAEpB,UAAI,CAACvb,MAAMsb,CAAC,GAAGvV,UAAU;AACZ,mBAAA;AACX;AAAA,MAAA;AAAA,IACF;AAGEA,QAAAA;AACF,aAAO8N,IAAIvX,CAAC;AAAA,EAAA;AAIT,SAAA;AACT;AAEgBkf,SAAAA,qBACdxb,OACA8a,cACAxU,gBACoB;AACdyU,QAAAA,MAAMD,aAAazY,QAAQiE,cAAc,GACzCuN,MAAMiH,aAAaxP,MAAMyP,GAAG,GAC5B9P,MAAM6P,aAAate;AAEzB,WAASF,IAAI,GAAGA,IAAI2O,KAAK3O,KAAK,GAAG;AAC3B,QAAA,CAACuX,IAAIvX,CAAC;AACR;AAGF,UAAM0e,UAAUnH,IAAIvX,CAAC,EAAEb,aAAa,eAAe;AAEnD,QAAI,CAACuf;AACH;AAGIC,UAAAA,WAAWD,QAAQE,MAAM,GAAG;AAElCD,aAASE,IAAI;AAEb,UAAMC,IAAc,CAAE;AAEtB,QAAIrV,WAAW;AAEf,aAASsV,IAAI,GAAGA,IAAIJ,SAASze,QAAQ6e,KAAK,GAAG;AACzCne,QAAAA,KAAK+d,SAASI,CAAC,CAAC;AAEZC,YAAAA,IAAIF,EAAEG,KAAK,GAAG;AAEpB,UAAI,CAACvb,MAAMsb,CAAC,GAAGvV,UAAU;AACZ,mBAAA;AACX;AAAA,MAAA;AAAA,IACF;AAGEA,QAAAA;AACF,aAAO8N,IAAIvX,CAAC;AAAA,EAAA;AAIT,SAAA;AACT;AAEO,SAASmf,kBAAkB1e,IAAuB;AAKvD,MAJIA,GAAGtB,aAAa,MAAM,MAAM,cAC9BsB,GAAGX,MAAM,GAGPW,GAAGtB,aAAa,MAAM,MAAM,QAAQ;AACtC,UAAMigB,aAAa3e,GAAG2e;AAElBA,kBAAcA,sBAAsBnV,eACtCmV,WAAWtf,MAAM;AAAA,EAAA;AAGvB;AClGauf,MAAAA,cAAc7P,eAAAA,0BACzB,2BACA,IACF,GC2Ba8P,OAAOC,MAAAA,KAClBtZ,MAAAA,WAAW,SAAAlC,OAAAmC,cAAA;AAAAhF,QAAAA,IAAAC,uBAAA,EAAA;AAAAkD,MAAAA,UAAAkJ,KAAAzG,SAAAmB,WAAAjH;AAAAE,WAAA6C,SAIT;AAAA,IAAAM;AAAAA,IAAAkJ;AAAAA,IAAAG,OAAA1M;AAAAA,IAAA8F;AAAAA,IAAA,GAAAmB;AAAAA,EAAAA,IAA0DlE,OAAK7C,OAAA6C,OAAA7C,OAAAmD,UAAAnD,OAAAqM,KAAArM,OAAA4F,SAAA5F,OAAA+G,WAAA/G,OAAAF,OAAAqD,WAAAnD,EAAA,CAAA,GAAAqM,MAAArM,EAAA,CAAA,GAAA4F,UAAA5F,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA;AAAzC,QAAAwM,QAAA1M,OAASI,aAATJ,IACtBmC,MAAYvB,MAAAA,OAAA,IAAkC,GAC9C,CAAAoI,gBAAAwV,iBAAA,IAA4Cje,MAAAA,aAAiC,GAC7EgT,oBAA0B3S,aAAOoI,cAAc;AAAC,MAAAxI,IAAAK;AAAAX,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACXzB,KAAA,CAAEX,GAAAA,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAAAM,KAAFK;AAArC,QAAA4d,OAAuBje;AAAqBM,MAAAA;AAAAZ,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACoBxB,KAAA,CAAA,GAAEZ,OAAAY,MAAAA,KAAAZ,EAAA,CAAA;AAAlE,QAAA,CAAAsd,cAAAkB,eAAA,IAAwCne,MAAAA,SAAwBO,EAAE;AAACO,MAAAA;AAAAnB,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACrBjB,KAAA,CAAA,GAAEnB,OAAAmB,MAAAA,KAAAnB,EAAA,CAAA;AAAhD,QAAA,CAAAwC,OAAA0Z,QAAA,IAA0B7b,MAAAA,SAAoBc,EAAE,GAChDsd,WAAiB/d,MAAAA,OAAO8B,KAAK;AAACpB,MAAAA;AAAApB,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAI5BhB,KAAAA,MAAMa,IAAGnB,SAAQd,OAAAoB,MAAAA,KAAApB,EAAA,CAAA,GAFnBqC,MAAAA,oBACE2C,cACA5D,EACF;AAAC,MAAAuP,IAAAG;AAAA9Q,YAAA8I,kBAES6H,KAAAA,MAAA;AACR0C,sBAAiBvS,UAAWgI;AAAAA,EAAc,GACzCgI,MAAChI,cAAc,GAAC9I,QAAA8I,gBAAA9I,QAAA2Q,IAAA3Q,QAAA8Q,OAAAH,KAAA3Q,EAAA,EAAA,GAAA8Q,KAAA9Q,EAAA,EAAA,IAFnBkB,gBAAUyP,IAEPG,EAAgB;AAAC,MAAAC,IAAAE;AAAAjR,YAAAwC,SAEVuO,KAAAA,MAAA;AACR0N,aAAQ3d,UAAW0B;AAAAA,EAAK,GACvByO,MAACzO,KAAK,GAACxC,QAAAwC,OAAAxC,QAAA+Q,IAAA/Q,QAAAiR,OAAAF,KAAA/Q,EAAA,EAAA,GAAAiR,KAAAjR,EAAA,EAAA,IAFVkB,gBAAU6P,IAEPE,EAAO;AAACE,MAAAA;AAAAnR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAGT+O,MAAAA,CAAAzT,SAAAghB,QAAAnW,UAAAhF,cACE2Y,SAAQyC,CAAA,OAAA;AAAA,IAAA,GAAaA;AAAAA,IAAC,CAAGJ,MAAI,GAAA;AAAA,MAAA7gB;AAAAA,MAAA6K;AAAAA,IAAAA;AAAAA,IAAwB,GAEjDhF,YACF+a,kBAAkB5gB,OAAO,GAAC,MAAA;AAI1Bwe,aAAQ0C,CAAA,QAAA;AACN,YAAAC,WAAA;AAAA,QAAA,GAAqBF;AAAAA,MAAC;AAEfE,aAAAA,OAAAA,SAASN,MAAI,GAEbM;AAAAA,IAAAA,CACR;AAAA,EAAA,IAEJ7e,QAAAmR,OAAAA,MAAAnR,EAAA,EAAA;AAjBH,QAAA8e,eAAqB3N;AAmBpBE,MAAAA;AAAArR,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAE+BiP,MAAAA,CAAA0N,QAAAC,eAAA;AAC9B9C,aAAQ+C,CAAA,QAAA;AACNC,YAAAA,YAAkBP,IAAEJ,MAAI;AAAC,aAEpBW,YAAmB;AAAA,QAAA,GAEbP;AAAAA,QAAC,CAAGJ,MAAI,GAAA;AAAA,UAAA,GAAOW;AAAAA,UAAS3W,UAAEA;AAAAA,QAAAA;AAAAA,MAAQ,IAFtBoW;AAAAA,IAAAA,CAGxB;AAAA,EAAA,GACF3e,QAAAqR,OAAAA,MAAArR,EAAA,EAAA;AARD,QAAAmf,cAAoB9N;AAQdG,MAAAA;AAKc,QAAAE,MAAA5I,kBAAkBwU,mBAAuB;AAAA3L,MAAAA;AAAA3R,IAAAwM,EAAAA,MAAAA,SAAAxM,UAAAwC,SAAAxC,EAAA,EAAA,MAAA0R,OAFpDC,MAAA;AAAA,IAAApD,SAAA;AAAA,IAAAzF,gBAEW4I;AAAAA,IAAyC0N,OAAA;AAAA,IAAAb;AAAAA,IAAAO;AAAAA,IAAAK;AAAAA,IAAAb;AAAAA,IAAA9R;AAAAA,IAAAhK;AAAAA,EAAAA,GAQ1DxC,QAAAwM,OAAAxM,QAAAwC,OAAAxC,QAAA0R,KAAA1R,QAAA2R,OAAAA,MAAA3R,EAAA,EAAA,GAAAwR,MAVMG;AADT,QAAAqC,eAAuCxC;AAatCK,MAAAA;AAAA7R,YAAAsd,gBAGCzL,MAAAlO,CAAA,UAAA;AAAA,QACO0P,kBAAiBvS,SAAA;AAElB6C,UAAAA,MAAKC,QAAS,aAAW;AAC3BD,cAAKwF,eAAgB;AAErB,cAAAkW,SAAerB,qBACbS,SAAQ3d,SACRwc,cACAjK,kBAAiBvS,OACnB;AAEIue,mBACFpB,kBAAkBoB,MAAM,GACxBf,kBAAkBe,MAAM;AAAC;AAAA,MAAA;AAMzB1b,UAAAA,MAAKC,QAAS,WAAS;AACzBD,cAAKwF,eAAgB;AAErB,cAAAmW,SAAejC,qBACboB,SAAQ3d,SACRwc,cACAjK,kBAAiBvS,OACnB;AAEIwe,mBACFrB,kBAAkBqB,MAAM,GACxBhB,kBAAkBgB,MAAM;AAAC;AAAA,MAAA;AAMzB3b,UAAAA,MAAKC,QAAS,aAAW;AAC3BD,cAAKwF,eAAgB;AAErB,cAAAqU,UAAgBnK,kBAAiBvS,QAAA7C,aAAsB,eAAe;AAAC,YAAA,CAElEuf;AAAO;AAEZ+B,cAAAA,cAAkBd,SAAQ3d,QAAS0c,OAAO;AAAC,YAAA,CAEtC0B;AAAS;AAAA,YAEVA,YAAS3W;AACX2T,mBAAQsD,CAAA,QAAA;AACNC,kBAAAA,cAAkBd,IAAEnB,OAAO;AAAC,mBAEvB0B,cAAmB;AAAA,cAAA,GAEbP;AAAAA,cAAC,CAAGnB,OAAO,GAAA;AAAA,gBAAA,GAAO0B;AAAAA,gBAAS3W,UAAA;AAAA,cAAA;AAAA,YAAA,IAFfoW;AAAAA,UAAAA,CAGxB;AAAA,aAAC;AAEFe,gBAAAA,WAAiBlC,QAAOE,MAAO,GAAG;AAElCgC,mBAAQ/B,IAAK;AAEbgC,gBAAAA,YAAkBD,SAAQ3B,KAAM,GAAG,GACnC6B,cAAoBD,aAAalB,SAAQ3d,QAAS6e,SAAS;AAEvDC,0BACFA,YAAWliB,QAAAkB,MACX0f,GAAAA,kBAAkBsB,YAAWliB,OAAQ;AAAA,QAAA;AAAC;AAAA,MAAA;AAOxCiG,UAAAA,MAAKC,QAAS,cAAY;AAC5BD,cAAKwF,eAAgB;AAErB,cAAA0W,aAAmBxM,kBAAiBvS,QAAA7C,aAAsB,eAAe;AAAC,YAAA,CAErE4hB;AAAU;AAEVpB,iBAAQ3d,QAAS+e,UAAU,GAAAtX,YAC9B2T,SAAQ4D,CAAA,QAAA;AACNC,gBAAAA,cAAkBpB,IAAEkB,UAAU;AAAC,iBAE1BX,cAAmB;AAAA,YAAA,GAEbP;AAAAA,YAAC,CAAGkB,UAAU,GAAA;AAAA,cAAA,GAAOX;AAAAA,cAAS3W,UAAA;AAAA,YAAA;AAAA,UAAA,IAFlBoW;AAAAA,QAAAA,CAGxB;AAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAKP3e,QAAAsd,cAAAtd,QAAA6R,OAAAA,MAAA7R,EAAA,EAAA;AA7FH,QAAA+D,gBAAsB8N;AA+FrBC,MAAAA;AAAA9R,YAAA4F,WAGCkM,MAAAlB,CAAA,YAAA;AACE0N,sBAAkB3a,QAAKpC,MAAO,GAG9BqE,UAAUjC,OAAK;AAAA,EAAA,GAChB3D,QAAA4F,SAAA5F,QAAA8R,OAAAA,MAAA9R,EAAA,EAAA;AANH,QAAAuT,cAAoBzB;AAQnBC,MAAAA;AAAA/R,IAAA,EAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAES2P,MAAAA,MAAA;AAAA,QACH9P,CAAAA,IAAGnB;AAAA;AACR,UAAAkf,gBAAsBxgB,MAAAygB,KACpBhe,IAAGnB,QAAAof,iBAA0B,sBAAsB,CACrD;AAEA1B,oBAAgBwB,aAAa;AAAA,EAAA,GAC9BhgB,QAAA+R,OAAAA,MAAA/R,EAAA,EAAA;AAAAyW,MAAAA;AAAAzW,YAAAmD,YAAEsT,OAACtT,QAAQ,GAACnD,QAAAmD,UAAAnD,QAAAyW,OAAAA,MAAAzW,EAAA,EAAA,GAPbkB,MAAAA,UAAU6Q,KAOP0E,GAAU;AAQF,QAAAE,MAAAtK,OAAOG;AAAKoK,MAAAA;AAAA5W,IAAAmD,EAAAA,MAAAA,YAAAnD,EAAA,EAAA,MAAAuT,eAAAvT,EAAA+D,EAAAA,MAAAA,iBAAA/D,EAAA,EAAA,MAAA+G,aAAA/G,UAAA2W,OAJnBC,qCAACxL,eACI,OAAA,EAAA,IAAA,MACK,WAAA,QACJrE,GAAAA,WACC,KAAA4P,KACIpD,SAAU,aACRxP,0BACN9B,KACA,MAAA,iBAGP,CAAA,GAAQjC,QAAAmD,UAAAnD,QAAAuT,aAAAvT,QAAA+D,eAAA/D,QAAA+G,WAAA/G,QAAA2W,KAAA3W,QAAA4W,OAAAA,MAAA5W,EAAA,EAAA;AAAA6W,MAAAA;AAAA,SAAA7W,EAAAgU,EAAAA,MAAAA,gBAAAhU,UAAA4W,OAZVC,MAAA5T,2BAAAA,IAAA,YAAA,UAAA,EAA6B+Q,OAAAA,cAC3B4C,UAAAA,IAYF,CAAA,GAAuB5W,QAAAgU,cAAAhU,QAAA4W,KAAA5W,QAAA6W,OAAAA,MAAA7W,EAAA,EAAA,GAbvB6W;AAauB,CAE1B,CACH;AACAuH,KAAKrS,cAAc;AC3OZ,SAAAoU,UAAA;AACLC,QAAAA,OAAa3R,iBAAA0P,WAAsB;AAAC,MAAA,CAE/BiC;AAAIjD,UAAAA,IAAAA,MACS,6BAA6B;AAGxCiD,SAAAA;AAAI;ACLAC,MAAAA,YAAYhC,MAAAA,KAAK,SAAAxb,OAAA;AAAA7C,QAAAA,IAAAC,uBAAA,CAAA;AAAA,MAAAkD,UAAA4D,WAAAjH;AAAAE,WAAA6C,SAG5B;AAAA,IAAAM;AAAAA,IAAAoF,UAAAzI;AAAAA,IAAA,GAAAiH;AAAAA,EAAmDlE,IAAAA,OAAK7C,OAAA6C,OAAA7C,OAAAmD,UAAAnD,OAAA+G,WAAA/G,OAAAF,OAAAqD,WAAAnD,EAAA,CAAA,GAAA+G,YAAA/G,EAAA,CAAA,GAAAF,KAAAE,EAAA,CAAA;AAAvCuI,QAAAA,WAAAzI,OAAgBI,cAAhBJ,IACjBsgB,OAAaD,QAAAA,GAOD7f,MAACiI;AAAQ5H,MAAAA;AAAA,SAAAX,EAAAmD,CAAAA,MAAAA,YAAAnD,SAAA+G,aAAA/G,EAAA,CAAA,MAAAM,MAAAN,EAAAogB,CAAAA,MAAAA,KAAA5T,SAJnB7L,KAACsC,2BAAA,IAAAmI,eAAA,OAAA,EACI,IAAA,MACK,WAAA,aACJrE,GAAAA,WACI,QAAAzG,IACG,WAAA8f,KAAI5T,OACV,MAAA,SACE,OAAA4T,KAAI5T,iBAGb,GAAQxM,OAAAmD,UAAAnD,OAAA+G,WAAA/G,OAAAM,IAAAN,EAAA,CAAA,IAAAogB,KAAA5T,OAAAxM,OAAAW,MAAAA,KAAAX,EAAA,CAAA,GAVRW;AAUQ,CAEX,GCgBY2f,WAAWjC,MAAAA,KAAK,SAC3Bxb,OACc;AACR,QAAA;AAAA,IACJM;AAAAA,IACA+I;AAAAA,IACA3D,UAAUgY,eAAe;AAAA,IACzBlb,WAAW;AAAA,IACXlH;AAAAA,IACAmH,MAAMkb;AAAAA,IACNnd,IAAIod;AAAAA,IACJC,SAAS;AAAA,IACTC;AAAAA,IACAlW;AAAAA,IACAvE,UAAU;AAAA,IACVI,SAAS;AAAA,IACT/C,WAAW;AAAA,IACXiJ,QAAQ;AAAA,IACRoU;AAAAA,IACAC;AAAAA,IACA,GAAG9Z;AAAAA,EACDlE,IAAAA,OACEie,UAAUpgB,MAAAA,OAA8B,IAAI,GAC5CqgB,cAAcrgB,MAAAA,OAA8B,IAAI,GAChD0f,OAAOD,QAAAA,GACP;AAAA,IAAC5B;AAAAA,IAAMO;AAAAA,IAAcK;AAAAA,IAAab;AAAAA,EAAiB,IAAI8B,MACvDY,MAAMC,MAAM,MAAA,GACZ5d,KAAKod,UAAUO,KACftB,WAAWzX,MAAAA,QAAQ,MAAMsW,KAAK9V,OAAO,CAACpF,MAAM,EAAE,CAAC,GAAG,CAACA,IAAIkb,IAAI,CAAC,GAC5Df,UAAUkC,SAAS3B,KAAK,GAAG,GAC3BmB,YAAYkB,KAAK5d,MAAMgb,OAAO,GAC9BrZ,UAAUic,KAAKtX,mBAAmBgY,QAAQhgB,SAC1CyH,WAAW2W,WAAW3W,aAAarI,SAAYqgB,eAAerB,WAAW3W,YAAY,IACrFvK,WAAWoiB,KAAKtX,kBAAkBsX,KAAKtX,mBAAmBgY,QAAQhgB,UAAU,IAAI,IAChFkT,eAAe/L,MAAAA,QACnB,OAAO;AAAA,IAAC,GAAGmY;AAAAA,IAAMhB,OAAOgB,KAAKhB,QAAQ;AAAA,IAAGb,MAAMmB;AAAAA,EAAAA,IAC9C,CAACA,UAAUU,IAAI,CACjB,GAEM1c,cAAcyD,MAAAA,YACjBxD,CAAsC,UAAA;AACjC8G,eAASA,QAAQ9G,KAAK;AAE1B,UAAMpC,SAASoC,MAAMpC;AAGnBA,sBAAkBwH,gBACjBxH,OAAOtD,aAAa,SAAS,MAAM,cAClCsD,OAAO2f,QAAQ,2BAA2B,OAE5Cvd,MAAM8M,gBAAAA,GACN0O,YAAY3B,SAAS,CAACjV,QAAQ,GAC9B+V,kBAAkBwC,QAAQhgB,OAAO;AAAA,EAErC,GACA,CAACyH,UAAUiV,SAAS/S,SAAS0U,aAAab,iBAAiB,CAC7D,GAEMva,gBAAgBoD,kBACnBxD,CAAsC,YAAA;AACjCQ,eAAWR,QAAMC,QAAQ,YAChBmd,YAAYjgB,WAAWggB,QAAQhgB,UAEtCqgB,MAAM;AAAA,EAAA,GAGd,CAAChd,OAAO,CACV;AAEAjD,QAAAA,UAAU,MAAM;AACd,QAAK4f,QAAQhgB;AAENge,aAAAA,aAAagC,QAAQhgB,SAAS4e,SAAS3B,KAAK,GAAG,GAAGxV,UAAUhF,QAAQ;AAAA,KAC1E,CAACgF,UAAUmX,UAAUZ,cAAcvb,QAAQ,CAAC;AAE/C,QAAM4H,WACJW,2BAAAA,KAACiC,eAAK,MAAA,EAAA,KAAKvB,OAAO,SAChB,UAAA;AAAA,IAAAV,gCAACnB,eAAAA,OACC,OAAO;AAAA,MACLyW,YAAYZ,iBAAiBrd,WAAW,YAAY;AAAA,MACpDke,eAAe;AAAA,IAGhBb,GAAAA,UAAAA;AAAAA,MACC,iBAAAvd,2BAAAA,IAACoE,eAAAA,QAAK,OAAc,MAAMhC,UAAU,QAClC,UAAApC,2BAAA,IAAC,iBAAa,EAChB,CAAA;AAAA,MAED,CAACud,iBACAvd,2BAAA,IAACoE,qBAAK,EAAA,OAAc,MAAMhC,UAAU,QAClC,UAACpC,2BAAAA,IAAAqe,MAAA,sBAAA,EAAqB,OAAO;AAAA,QAACC,WAAWhZ,WAAW,kBAAkBrI;AAAAA,SAAW,EACnF,CAAA;AAAA,IAAA,GAEJ;AAAA,IACC+C,2BAAA,IAAA0H,eAAA,KAAA,EAAI,MAAM,GACT,UAAC1H,2BAAA,IAAAoE,qBAAA,EAAK,OAAc,MAAMhC,UAAU,cAAa,YAAW,QACzDub,gBACH,EACF,CAAA;AAAA,EAAA,GACF;AAGF,SAAIziB,OAEA2N,2BAAA,KAACnB,eACC,KAAA,EAAA,iBAAepH,WAAW,KAAKrD,QAC/B,gBAAcmD,IACd,iBAAema,SACf,WAAQ,eACJzW,WACJ,IAAG,MACH,WAAWiH,IAAAA,kBAAkB9B,WAAWsV,IAAAA,SAAU,CAAA,GAClD,SAAS9d,aACT,KAAKod,SACL,MAAK,QAEL,UAAA;AAAA,IAAA7d,+BAACwe,eAAAA,cACC,iBAAelZ,UACf,IAAImY,QACJ,gBAAcnd,WAAW,KAAKrD,QAC9B,WAAQ,iBACR,MACA,QACA,KAAK6gB,aACL,MAAK,YACL,UACA,OAAO;AAAA,MACLW,aAAa,yBAAyBtB,KAAKhB,KAAK;AAAA,IAAA,GAGjDjU,UACHA,UAAA;AAAA,IAEClI,2BAAA,IAAA,YAAY,UAAZ,EAAqB,OAAO+Q,cAC1B7Q,UAAY,YAAAF,2BAAAA,IAAC,WAAU,EAAA,QAAQ,CAACsF,UAAWpF,SAAS,CAAA,EACvD,CAAA;AAAA,EAAA,EACF,CAAA,IAKF2I,2BAAAA,KAACnB,eAAAA,KACC,EAAA,iBAAepH,WAAW,KAAKrD,QAC/B,WAAQ,YACR,gBAAcmD,IACd,iBAAema,SACf,GAAIzW,WACJ,iBAAewB,UACf,WAAWyF,IAAAA,kBAAkB9B,WAAWsV,IAAAA,SAAU,CAAA,GAClD,SAAS9d,aACT,WAAWK,eACX,KAAK+c,SACL,MAAK,YACL,UAEA,UAAA;AAAA,IAAC7d,2BAAAA,IAAAwe,eAAAA,YAAA,EACC,IAAG,UACH,gBAAcle,WAAW,KAAKrD,QAC9B,WAAQ,iBACR,QACA,OAAO;AAAA,MACLwhB,aAAa,yBAAyBtB,KAAKhB,KAAK;AAAA,IAAA,GAGjDjU,UACHA,UAAA;AAAA,IAEAlI,2BAAAA,IAAC,YAAY,UAAZ,EAAqB,OAAO+Q,cAC1B7Q,UAAAA,YAAaF,2BAAA,IAAA,WAAA,EAAU,UAAqBE,SAAS,CAAA,EACxD,CAAA;AAAA,EAAA,GACF;AAEJ,CAAC;AAEDmd,SAASvU,cAAc;ACtNhB,SAAA4V,UAAA9e,OAAA;AAAA7C,QAAAA,IAAAC,uBAAA,EAAA,GACL;AAAA,IAAA2hB,OAAAC;AAAAA,EAAAA,IAA2Bhf;AAAK/C,MAAAA;AAAAE,WAAA6hB,aAElB/hB,KAAA+hB,aAAaC,uBAAe9hB,OAAA6hB,WAAA7hB,OAAAF,MAAAA,KAAAE,EAAA,CAAA;AAA1C,QAAA4hB,UAAc9hB;AAA4BQ,MAAAA;AAAAN,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KAItC9B,KAEQ2C,2BAAA,IAAA,SAFI,EAAA,MAAA,kBAA4B,YAAA,WACrC8e,UAAeA,mBAAA,EAAA,CAClB,GAAQ/hB,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAAAW,MAAAA;AAAAX,WAAA4hB,WAELjhB,KAAAqhB,IAAAA,aAAA;AAAA,IAAAC,IAAkBL;AAAAA,EAAmB,CAAA,GAAC5hB,OAAA4hB,SAAA5hB,OAAAW,MAAAA,KAAAX,EAAA,CAAA;AAAAY,MAAAA;AAAAZ,WAAAW,MADzCC,KAEQqC,2BAAAA,IAAA,SAAA,EAFI,MAAA,gBAA0B,YAAA,SACnCtC,cACH,GAAQX,OAAAW,IAAAX,OAAAY,MAAAA,KAAAZ,EAAA,CAAA;AAAAmB,MAAAA;AAAAnB,IAAA,CAAA,MAAAmC,OAAAC,IAAA,2BAAA,KACRjB,KAEQ8B,2BAAA,IAAA,SAFI,EAAA,MAAA,iBAA2B,YAAA,UACpCif,UAAcA,kBAAA,EAAA,CACjB,GAAQliB,OAAAmB,MAAAA,KAAAnB,EAAA,CAAA;AAAAoB,MAAAA;AAAA,SAAApB,SAAAY,MATVQ,KACEd,gCAAAA,WAAAA,UAAAA,EAAAA,UAAAA;AAAAA,IAAAA;AAAAA,IAGAM;AAAAA,IAGAO;AAAAA,EAAAA,EAAAA,CAEQ,GACPnB,OAAAY,IAAAZ,OAAAoB,MAAAA,KAAApB,EAAA,CAAA,GAVHoB;AAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/core/helpers/animation.ts","../src/core/helpers/focus.ts","../src/core/components/autocomplete/autocompleteOption.tsx","../src/core/components/autocomplete/autocompleteReducer.ts","../src/core/components/autocomplete/constants.ts","../src/core/components/autocomplete/autocomplete.tsx","../src/core/components/breadcrumbs/breadcrumbs.tsx","../src/core/primitives/container/container.tsx","../src/core/components/dialog/isTargetWithinScope.ts","../src/core/components/dialog/dialogCard.tsx","../src/core/components/dialog/dialogContext.ts","../src/core/components/dialog/useDialog.ts","../src/core/components/dialog/dialog.tsx","../src/core/components/dialog/dialogProvider.tsx","../src/core/components/menu/menuButton.tsx","../src/core/components/tab/tabPanel.tsx","../src/core/components/toast/toast.tsx","../src/core/hooks/useMounted.ts","../src/core/components/toast/toastContext.ts","../src/core/components/toast/toastLayer.tsx","../src/core/components/toast/toastState.ts","../src/core/components/toast/toastProvider.tsx","../src/core/components/toast/useToast.ts","../src/core/components/tree/helpers.ts","../src/core/components/tree/treeContext.ts","../src/core/components/tree/tree.tsx","../src/core/components/tree/useTree.ts","../src/core/components/tree/treeGroup.tsx","../src/core/components/tree/treeItem.tsx","../src/core/helpers/scroll.ts","../src/core/observers/resize.ts","../src/core/components/virtualList/virtualList.tsx","../src/core/observers/elementSize.ts","../src/core/hooks/useElementSize.ts","../src/core/primitives/label/label.tsx","../src/core/primitives/avatar/avatar.tsx","../src/core/primitives/avatar/avatarCounter.tsx","../src/core/primitives/avatar/avatarStack.tsx","../src/core/primitives/badge/badge.tsx","../src/core/primitives/checkbox/checkbox.tsx","../src/core/primitives/code/code.tsx","../src/core/primitives/heading/heading.tsx","../src/core/primitives/inline/inline.tsx","../src/core/primitives/radio/radio.tsx","../src/core/primitives/select/select.tsx","../src/core/primitives/skeleton/skeleton.tsx","../src/core/primitives/skeleton/codeSkeleton.tsx","../src/core/primitives/skeleton/headingSkeleton.tsx","../src/core/primitives/skeleton/labelSkeleton.tsx","../src/core/primitives/skeleton/textSkeleton.tsx","../src/core/primitives/srOnly/srOnly.tsx","../src/core/primitives/switch/switch.tsx","../src/core/primitives/textArea/textArea.tsx","../src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../src/core/utils/boundaryElement/boundaryElementProvider.tsx","../src/core/utils/elementQuery/helpers.ts","../src/core/utils/elementQuery/elementQuery.tsx","../src/core/utils/errorBoundary.tsx","../src/core/RootProvider.tsx","../src/core/Root.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","import {\n isHTMLAnchorElement,\n isHTMLButtonElement,\n isHTMLElement,\n isHTMLInputElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n try {\n element.focus()\n } catch {\n // ignore\n }\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","import {type KeyboardEvent, type ReactNode, useCallback} from 'react'\n\nimport {_isEnterToClickElement} from '../../helpers/element'\n\nexport interface AutocompleteOptionProps {\n children: ReactNode\n id: string\n onSelect: (v: string) => void\n selected: boolean\n value: string\n}\n\nexport function AutocompleteOption(props: AutocompleteOptionProps): React.JSX.Element {\n const {children, id, onSelect, selected, value} = props\n\n const handleClick = useCallback(() => {\n // Calling the `onSelect` in a timeout is a fix to\n // allow the `click` event to propagate in some cases\n setTimeout(() => {\n onSelect(value)\n }, 0)\n }, [onSelect, value])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>) => {\n if (event.key === 'Enter' && !_isEnterToClickElement(event.currentTarget)) {\n handleClick()\n }\n },\n [handleClick],\n )\n\n return (\n <li\n aria-selected={selected}\n data-ui=\"AutocompleteOption\"\n id={id}\n role=\"option\"\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {children}\n </li>\n )\n}\n","import type {AutocompleteMsg, AutocompleteState} from './types'\n\n/**\n * @internal\n */\nexport function autocompleteReducer(\n state: AutocompleteState,\n msg: AutocompleteMsg,\n): AutocompleteState {\n if (msg.type === 'input/change') {\n return {...state, activeValue: null, focused: true, query: msg.query}\n }\n\n if (msg.type === 'input/focus') {\n return {...state, focused: true}\n }\n\n if (msg.type === 'root/blur') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/clear') {\n return {...state, activeValue: null, query: null, value: null}\n }\n\n if (msg.type === 'root/escape') {\n return {...state, focused: false, query: null}\n }\n\n if (msg.type === 'root/open') {\n return {...state, query: state.query || msg.query}\n }\n\n if (msg.type === 'root/setActiveValue') {\n return {...state, activeValue: msg.value, listFocused: msg.listFocused || state.listFocused}\n }\n\n if (msg.type === 'root/setListFocused') {\n return {...state, listFocused: msg.listFocused}\n }\n\n if (msg.type === 'value/change') {\n return {...state, activeValue: msg.value, query: null, value: msg.value}\n }\n\n return state\n}\n","import type {Placement} from '../../types'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS: string[] = [\n 'Control',\n 'Shift',\n 'Alt',\n 'Enter',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n 'Meta',\n 'Tab',\n 'CapsLock',\n]\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_PLACEMENT: Placement = 'bottom-start'\n\n/**\n * @internal\n */\nexport const AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS: Placement[] = ['bottom-start', 'top-start']\n","import {ChevronDownIcon} from '@sanity/icons'\nimport type {ResponsiveProp} from '@sanity/ui/css'\nimport type {Radius, Space} from '@sanity/ui/theme'\nimport {\n type ChangeEvent,\n cloneElement,\n type ElementType,\n type FocusEvent,\n type ForwardedRef,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\n\nimport {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'\nimport {_raf} from '../../helpers/animation'\nimport {_hasFocus, focusFirstDescendant} from '../../helpers/focus'\nimport {useResponsiveProp} from '../../hooks/useResponsiveProp'\nimport {Box, type BoxOwnProps} from '../../primitives/box/box'\nimport {Button} from '../../primitives/button/button'\nimport {Popover, type PopoverProps} from '../../primitives/popover/popover'\nimport {Selectable} from '../../primitives/selectable/selectable'\nimport {AnimatedSpinnerIcon} from '../../primitives/spinner/animatedSpinnerIcon'\nimport {Stack} from '../../primitives/stack/stack'\nimport {Text} from '../../primitives/text/text'\nimport {TextInput, type TextInputOwnProps} from '../../primitives/textInput/textInput'\nimport type {ComponentType, Props} from '../../types'\nimport {AutocompleteOption} from './autocompleteOption'\nimport {autocompleteReducer} from './autocompleteReducer'\nimport {\n AUTOCOMPLETE_LISTBOX_IGNORE_KEYS,\n AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS,\n AUTOCOMPLETE_POPOVER_PLACEMENT,\n} from './constants'\nimport type {AutocompleteOpenButtonProps, BaseAutocompleteOption} from './types'\n\n/** @public */\nexport const DEFAULT_AUTOCOMPLETE_ELEMENT = 'input'\n\n/** @public */\nexport type AutocompleteOwnProps<O extends BaseAutocompleteOption = BaseAutocompleteOption> =\n TextInputOwnProps & {\n border?: boolean\n customValidity?: string\n filterOption?: (query: string, option: O) => boolean\n icon?: ElementType | ReactNode\n /** @beta */\n listBox?: BoxOwnProps\n loading?: boolean\n onChange?: (value: string) => void\n onQueryChange?: (query: string | null) => void\n onSelect?: (value: string) => void\n /** @beta */\n openButton?: boolean | AutocompleteOpenButtonProps\n /** @beta */\n openOnFocus?: boolean\n /** The options to render. */\n options?: O[]\n padding?: ResponsiveProp<Space>\n popover?: Omit<Props<PopoverProps, 'div'>, 'content' | 'onMouseEnter' | 'onMouseLeave' | 'open'>\n prefix?: ReactNode\n radius?: Radius | Radius[]\n /** @beta */\n relatedElements?: HTMLElement[]\n /** The callback function for rendering each option. */\n renderOption?: (option: O) => React.JSX.Element\n /** @beta */\n renderPopover?: (\n props: {\n content: React.JSX.Element | null\n hidden: boolean\n inputElement: HTMLInputElement | null\n onMouseEnter: () => void\n onMouseLeave: () => void\n },\n ref: ForwardedRef<HTMLDivElement>,\n ) => ReactNode\n renderValue?: (value: string, option?: O) => string\n suffix?: ReactNode\n value?: string\n }\n\n/** @public */\nexport type AutocompleteElementType = 'input' | ComponentType\n\n/** @public */\nexport type AutocompleteProps<\n E extends AutocompleteElementType = AutocompleteElementType,\n O extends BaseAutocompleteOption = BaseAutocompleteOption,\n> = Props<AutocompleteOwnProps<O>, E>\n\nconst DEFAULT_RENDER_VALUE = (value: string, option?: BaseAutocompleteOption) =>\n option ? option.value : value\n\nconst DEFAULT_FILTER_OPTION = (query: string, option: BaseAutocompleteOption) =>\n option.value.toLowerCase().indexOf(query.toLowerCase()) > -1\n\n/**\n * The Autocomplete component is typically used for search components.\n * It consists of a text input for writing a query, and properties for rendering suggestions.\n *\n * @public\n */\nexport function Autocomplete<\n E extends AutocompleteElementType = typeof DEFAULT_AUTOCOMPLETE_ELEMENT,\n O extends BaseAutocompleteOption = BaseAutocompleteOption,\n>(props: AutocompleteProps<E, O>): React.JSX.Element {\n const {\n as = DEFAULT_AUTOCOMPLETE_ELEMENT,\n border = true,\n customValidity,\n disabled,\n filterOption: filterOptionProp,\n fontSize = 2,\n icon,\n id,\n listBox = EMPTY_RECORD,\n loading,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n onSelect,\n openButton,\n openOnFocus,\n options: optionsProp,\n padding: paddingProp = 3,\n popover = EMPTY_RECORD,\n prefix,\n radius = 2,\n readOnly,\n ref: forwardedRef,\n relatedElements,\n renderOption: renderOptionProp,\n renderPopover,\n renderValue = DEFAULT_RENDER_VALUE,\n suffix,\n value: valueProp,\n ...rest\n } = props as AutocompleteProps<typeof DEFAULT_AUTOCOMPLETE_ELEMENT, O>\n\n const [state, dispatch] = useReducer(autocompleteReducer, {\n activeValue: valueProp || null,\n focused: false,\n listFocused: false,\n query: null,\n value: valueProp || null,\n })\n\n const {activeValue, focused, listFocused, query, value} = state\n\n const defaultRenderOption = useCallback(\n ({value}: BaseAutocompleteOption) => (\n <Selectable as=\"button\" padding={paddingProp} radius={2}>\n <Text size={fontSize} textOverflow=\"ellipsis\">\n {value}\n </Text>\n </Selectable>\n ),\n [fontSize, paddingProp],\n )\n\n const renderOption =\n typeof renderOptionProp === 'function' ? renderOptionProp : defaultRenderOption\n\n const filterOption =\n typeof filterOptionProp === 'function' ? filterOptionProp : DEFAULT_FILTER_OPTION\n\n // Element refs\n const rootElementRef = useRef<HTMLDivElement | null>(null)\n const resultsPopoverElementRef = useRef<HTMLDivElement | null>(null)\n const inputElementRef = useRef<HTMLInputElement | null>(null)\n const listBoxElementRef = useRef<HTMLUListElement | null>(null)\n\n // Value refs\n const listFocusedRef = useRef(false)\n const valueRef = useRef(value)\n const valuePropRef = useRef(valueProp)\n const popoverMouseWithinRef = useRef(false)\n\n // Forward ref to parent\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => inputElementRef.current,\n )\n\n const listBoxId = `${id}-listbox`\n const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY\n const padding = useResponsiveProp(paddingProp)\n const currentOption = useMemo(\n () => (value !== null ? options.find((o) => o.value === value) : undefined),\n [options, value],\n )\n const filteredOptions = useMemo(\n () => options.filter((option) => (query ? filterOption(query, option) : true)),\n [filterOption, options, query],\n )\n const filteredOptionsLen = filteredOptions.length\n const activeItemId = activeValue ? `${id}-option-${activeValue}` : undefined\n const expanded = (query !== null && loading) || (focused && query !== null)\n\n const handleRootBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => {\n // NOTE: This is a workaround for a bug that may happen in Chrome (clicking the scrollbar\n // closes the results in certain situations):\n // - Do not handle blur if the mouse is within the popover\n if (popoverMouseWithinRef.current) {\n return\n }\n\n const elements: HTMLElement[] = (relatedElements || []).concat(\n rootElementRef.current ? [rootElementRef.current] : [],\n resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : [],\n )\n\n let focusInside = false\n\n if (document.activeElement) {\n for (const e of elements) {\n if (e === document.activeElement || e.contains(document.activeElement)) {\n focusInside = true\n break\n }\n }\n }\n\n if (focusInside === false) {\n dispatch({type: 'root/blur'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n if (onBlur) onBlur(event)\n }\n }, 0)\n },\n [onBlur, onQueryChange, relatedElements],\n )\n\n const handleRootFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const listBoxElement = listBoxElementRef.current\n const focusedElement = event.target instanceof HTMLElement ? event.target : null\n const listFocused = listBoxElement?.contains(focusedElement) || false\n\n if (listFocused !== listFocusedRef.current) {\n listFocusedRef.current = listFocused\n\n dispatch({type: 'root/setListFocused', listFocused})\n }\n }, [])\n\n const handleOptionSelect = useCallback(\n (v: string) => {\n dispatch({type: 'value/change', value: v})\n\n popoverMouseWithinRef.current = false\n\n if (onSelect) onSelect(v)\n\n valueRef.current = v\n\n if (onChange) onChange(v)\n if (onQueryChange) onQueryChange(null)\n\n inputElementRef.current?.focus()\n },\n [onChange, onSelect, onQueryChange],\n )\n\n const handleRootKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n if (!filteredOptionsLen) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n const activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1\n const nextActiveOption =\n filteredOptions[\n activeIndex === -1\n ? filteredOptionsLen - 1\n : (filteredOptionsLen + activeIndex - 1) % filteredOptionsLen\n ]\n\n if (nextActiveOption) {\n dispatch({type: 'root/setActiveValue', value: nextActiveOption.value, listFocused: true})\n }\n\n return\n }\n\n if (event.key === 'Escape') {\n dispatch({type: 'root/escape'})\n popoverMouseWithinRef.current = false\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n\n return\n }\n\n const target = event.target as Node\n const listEl = listBoxElementRef.current\n\n if (\n (listEl === target || listEl?.contains(target)) &&\n !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event.key)\n ) {\n inputElementRef.current?.focus()\n\n return\n }\n },\n [activeValue, filteredOptions, filteredOptionsLen, onQueryChange],\n )\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const nextQuery = event.currentTarget.value\n\n dispatch({type: 'input/change', query: nextQuery})\n\n if (onQueryChange) onQueryChange(nextQuery)\n },\n [onQueryChange],\n )\n\n const dispatchOpen = useCallback(() => {\n dispatch({\n type: 'root/open',\n query: value ? renderValue(value, currentOption) : '',\n })\n }, [currentOption, renderValue, value])\n\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n if (!focused) {\n dispatch({type: 'input/focus'})\n\n if (onFocus) onFocus(event)\n if (openOnFocus) dispatchOpen()\n }\n },\n [focused, onFocus, openOnFocus, dispatchOpen],\n )\n\n const handlePopoverMouseEnter = useCallback(() => {\n popoverMouseWithinRef.current = true\n }, [])\n\n const handlePopoverMouseLeave = useCallback(() => {\n popoverMouseWithinRef.current = false\n }, [])\n\n const handleClearButtonClick = useCallback(() => {\n dispatch({type: 'root/clear'})\n valueRef.current = ''\n if (onChange) onChange('')\n if (onQueryChange) onQueryChange(null)\n inputElementRef.current?.focus()\n }, [onChange, onQueryChange])\n\n const handleClearButtonFocus = useCallback(() => {\n dispatch({type: 'input/focus'})\n }, [])\n\n // Change the value when `value` prop changes\n useEffect(() => {\n // If `valueProp` changed\n if (valueProp !== valuePropRef.current) {\n valuePropRef.current = valueProp\n\n if (valueProp !== undefined) {\n dispatch({type: 'value/change', value: valueProp})\n valueRef.current = valueProp\n }\n\n return\n }\n\n // If `valueProp` is not equal to `value`\n if (valueProp !== valueRef.current) {\n valueRef.current = valueProp || null\n\n dispatch({type: 'value/change', value: valueProp || null})\n }\n }, [valueProp])\n\n // Reset active item when closing\n useEffect(() => {\n if (!focused && valueRef.current) {\n dispatch({type: 'root/setActiveValue', value: valueRef.current})\n }\n }, [focused])\n\n // Focus the selected item\n useEffect(() => {\n const listElement = listBoxElementRef.current\n\n if (!listElement) return\n\n const activeOption = filteredOptions.find((o) => o.value === activeValue)\n\n if (activeOption) {\n const activeIndex = filteredOptions.indexOf(activeOption)\n const activeItemElement = listElement.childNodes[activeIndex] as HTMLLIElement | undefined\n\n if (activeItemElement) {\n if (_hasFocus(activeItemElement)) {\n // already focused\n return\n }\n\n focusFirstDescendant(activeItemElement)\n }\n }\n }, [activeValue, filteredOptions])\n\n const clearButton = useMemo(() => {\n if (!loading && !disabled && value) {\n return {\n 'aria-label': 'Clear',\n 'onFocus': handleClearButtonFocus,\n }\n }\n\n return undefined\n }, [disabled, handleClearButtonFocus, loading, value])\n\n const openButtonBoxPadding = useMemo(() => {\n const result = Object.fromEntries(\n Object.entries(padding).map(([key, value]) => {\n if (value === 0) return [key, 0]\n if (value === 1) return [key, 1]\n if (value === 2) return [key, 1]\n\n return [key, (value as Space) - 2]\n }),\n ) as ResponsiveProp<Space>\n\n return result\n }, [padding])\n\n const openButtonPadding = useMemo(\n () => Object.values(padding).map((v) => Math.max((v as Space) - 1, 0)) as ResponsiveProp<Space>,\n [padding],\n )\n\n const openButtonProps: AutocompleteOpenButtonProps = useMemo(\n () => (typeof openButton === 'object' ? openButton : EMPTY_RECORD),\n [openButton],\n )\n\n const handleOpenClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n dispatchOpen()\n\n if (openButtonProps.onClick) openButtonProps.onClick(event)\n\n _raf(() => inputElementRef.current?.focus())\n },\n [openButtonProps, dispatchOpen],\n )\n\n const openButtonNode = useMemo(\n () =>\n !disabled && !readOnly && openButton ? (\n <Box aria-hidden={expanded} padding={openButtonBoxPadding}>\n <Button\n aria-label=\"Open\"\n disabled={expanded}\n display=\"block\"\n fontSize={fontSize}\n icon={ChevronDownIcon}\n mode=\"bleed\"\n padding={openButtonPadding}\n {...openButtonProps}\n onClick={handleOpenClick}\n />\n </Box>\n ) : undefined,\n [\n disabled,\n expanded,\n fontSize,\n handleOpenClick,\n openButton,\n openButtonBoxPadding,\n openButtonPadding,\n openButtonProps,\n readOnly,\n ],\n )\n\n const inputValue = useMemo(() => {\n if (query === null) {\n if (value !== null) {\n return renderValue(value, currentOption)\n }\n\n return ''\n }\n\n return query\n }, [currentOption, query, renderValue, value])\n\n const input = (\n <TextInput\n {...rest}\n aria-activedescendant={activeItemId}\n aria-autocomplete=\"list\"\n aria-expanded={expanded}\n aria-owns={listBoxId}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n as={as}\n border={border}\n clearButton={clearButton}\n customValidity={customValidity}\n disabled={disabled}\n fontSize={fontSize}\n icon={icon}\n iconRight={loading && AnimatedSpinnerIcon}\n id={id}\n inputMode=\"search\"\n onChange={handleInputChange}\n onClear={handleClearButtonClick}\n onFocus={handleInputFocus}\n padding={padding}\n prefix={prefix}\n radius={radius}\n readOnly={readOnly}\n ref={inputElementRef}\n role=\"combobox\"\n spellCheck={false}\n suffix={suffix || openButtonNode}\n value={inputValue}\n />\n )\n\n const handleListBoxKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // If the focus is currently in the list, move focus to the input element\n if (event.key === 'Tab') {\n if (listFocused) inputElementRef.current?.focus()\n }\n },\n [listFocused],\n )\n\n const content = useMemo(() => {\n if (filteredOptions.length === 0) return null\n\n return (\n <Box\n data-ui=\"AutoComplete__results\"\n onKeyDown={handleListBoxKeyDown}\n padding={1}\n {...listBox}\n tabIndex={-1}\n >\n <Stack\n as=\"ul\"\n aria-multiselectable={false}\n data-ui=\"AutoComplete__resultsList\"\n gap={1}\n id={listBoxId}\n ref={listBoxElementRef}\n role=\"listbox\"\n >\n {filteredOptions.map((option) => {\n const active =\n activeValue !== null ? option.value === activeValue : currentOption === option\n\n return (\n <AutocompleteOption\n id={`${id}-option-${option.value}`}\n key={option.value}\n onSelect={handleOptionSelect}\n selected={active}\n value={option.value}\n >\n {cloneElement(renderOption(option), {\n disabled: loading,\n selected: active,\n tabIndex: listFocused && active ? 0 : -1,\n })}\n </AutocompleteOption>\n )\n })}\n </Stack>\n </Box>\n )\n }, [\n activeValue,\n currentOption,\n filteredOptions,\n handleOptionSelect,\n handleListBoxKeyDown,\n id,\n listBox,\n listBoxId,\n listFocused,\n loading,\n renderOption,\n ])\n\n const results = useMemo(() => {\n if (renderPopover) {\n return renderPopover(\n {\n content,\n hidden: !expanded,\n inputElement: inputElementRef.current,\n onMouseEnter: handlePopoverMouseEnter,\n onMouseLeave: handlePopoverMouseLeave,\n },\n resultsPopoverElementRef,\n )\n }\n\n if (filteredOptionsLen === 0) {\n return null\n }\n\n return (\n <Popover\n arrow={false}\n constrainSize\n content={content}\n fallbackPlacements={AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS}\n matchReferenceWidth\n onMouseEnter={handlePopoverMouseEnter}\n onMouseLeave={handlePopoverMouseLeave}\n open={expanded}\n overflow=\"auto\"\n placement={AUTOCOMPLETE_POPOVER_PLACEMENT}\n portal\n radius={3}\n ref={resultsPopoverElementRef}\n referenceElement={inputElementRef.current}\n {...popover}\n />\n )\n }, [\n content,\n expanded,\n filteredOptionsLen,\n handlePopoverMouseEnter,\n handlePopoverMouseLeave,\n popover,\n renderPopover,\n ])\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n data-ui=\"Autocomplete\"\n onBlur={handleRootBlur}\n onFocus={handleRootFocus}\n onKeyDown={handleRootKeyDown}\n ref={rootElementRef}\n >\n {input}\n {results}\n </div>\n )\n}\n","import {breadcrumbs, type GapStyleProps} from '@sanity/ui/css'\nimport {\n Children,\n Fragment,\n isValidElement,\n type ReactNode,\n useCallback,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {useClickOutsideEvent} from '../../hooks/useClickOutsideEvent'\nimport {Box} from '../../primitives/box/box'\nimport {Button, type ButtonProps} from '../../primitives/button/button'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Popover} from '../../primitives/popover/popover'\nimport {Stack} from '../../primitives/stack/stack'\nimport {Text} from '../../primitives/text/text'\nimport type {ComponentType, Props} from '../../types'\n\n/** @beta */\nexport const DEFAULT_BREADCRUMBS_ELEMENT = 'nav'\n\n/** @beta */\nexport type BreadcrumbsOwnProps = GapStyleProps & {\n expandButton?: Omit<ButtonProps<'button'>, 'as' | 'onClick' | 'selected'>\n maxLength?: number\n separator?: ReactNode\n}\n\n/** @beta */\nexport type BreadcrumbsElementType = 'div' | 'nav' | ComponentType\n\n/** @beta */\nexport type BreadcrumbsProps<E extends BreadcrumbsElementType = BreadcrumbsElementType> = Props<\n BreadcrumbsOwnProps,\n E\n>\n\n/** @beta */\nexport function Breadcrumbs<E extends BreadcrumbsElementType = typeof DEFAULT_BREADCRUMBS_ELEMENT>(\n props: BreadcrumbsProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_BREADCRUMBS_ELEMENT,\n children,\n className,\n expandButton: expandButtonProps,\n gap = 2,\n gapX,\n gapY,\n maxLength,\n separator,\n ...rest\n } = props as BreadcrumbsProps<typeof DEFAULT_BREADCRUMBS_ELEMENT>\n\n const [open, setOpen] = useState(false)\n const expandElementRef = useRef<HTMLButtonElement | null>(null)\n const popoverElementRef = useRef<HTMLDivElement | null>(null)\n\n const collapse = useCallback(() => setOpen(false), [])\n const expand = useCallback(() => setOpen(true), [])\n\n useClickOutsideEvent(collapse, () => [expandElementRef.current, popoverElementRef.current])\n\n const rawItems = useMemo(() => Children.toArray(children).filter(isValidElement), [children])\n\n const items = useMemo(() => {\n const len = rawItems.length\n\n if (maxLength && len > maxLength) {\n const beforeLength = Math.ceil(maxLength / 2)\n const afterLength = Math.floor(maxLength / 2)\n\n return [\n ...rawItems.slice(0, beforeLength - 1),\n <Popover\n constrainSize\n content={\n <Stack as=\"ol\" gap={gapY} overflow=\"auto\">\n {rawItems.slice(beforeLength - 1, len - afterLength)}\n </Stack>\n }\n key=\"button\"\n open={open}\n padding={2}\n placement=\"top\"\n portal\n ref={popoverElementRef}\n >\n <Button\n mode=\"bleed\"\n padding={0}\n text=\"…\"\n {...expandButtonProps}\n onClick={open ? collapse : expand}\n ref={expandElementRef}\n selected={open}\n />\n </Popover>,\n ...rawItems.slice(len - afterLength),\n ]\n }\n\n return rawItems\n }, [collapse, expand, expandButtonProps, gapY, maxLength, open, rawItems])\n\n return (\n <Flex\n as={as}\n data-ui=\"Breadcrumbs\"\n {...rest}\n className={breadcrumbs({className})}\n gap={gap}\n gapX={gapX}\n gapY={gapY}\n >\n {items.map((item, itemIndex) => (\n <Fragment key={itemIndex}>\n {itemIndex > 0 && (\n <Box aria-hidden as=\"li\">\n {separator || <Text muted>/</Text>}\n </Box>\n )}\n <Box as=\"li\">{item}</Box>\n </Fragment>\n ))}\n </Flex>\n )\n}\n","import {container, type ContainerStyleProps} from '@sanity/ui/css'\n\nimport type {Props} from '../../types'\nimport {Box, type BoxElementType, type BoxOwnProps} from '../box/box'\n\n/** @public */\nexport const DEFAULT_CONTAINER_ELEMENT = 'div'\n\n/** @public */\nexport type ContainerOwnProps = Omit<BoxOwnProps, 'width'> & ContainerStyleProps\n\n/** @public */\nexport type ContainerElementType = BoxElementType\n\n/** @public */\nexport type ContainerProps<E extends ContainerElementType = ContainerElementType> = Props<\n ContainerOwnProps,\n E\n>\n\n/**\n * The `Container` component wraps content layout in a defined set of widths.\n *\n * @public\n */\nexport function Container<E extends ContainerElementType = typeof DEFAULT_CONTAINER_ELEMENT>(\n props: ContainerProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_CONTAINER_ELEMENT,\n className,\n width = 2,\n ...rest\n } = props as ContainerProps<typeof DEFAULT_CONTAINER_ELEMENT>\n\n return <Box data-ui=\"Container\" {...rest} as={as} className={container({className, width})} />\n}\n","import {containsOrEqualsElement} from '../../helpers/element'\n\nexport function isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {\n dialogCard,\n dialogContent,\n dialogFooter,\n dialogHeader,\n dialogScroller,\n dialogScrollerShadowBottom,\n dialogScrollerShadowTop,\n} from '@sanity/ui/css'\nimport {\n type ForwardedRef,\n type ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\n\nimport {focusFirstDescendant} from '../../helpers/focus'\nimport {useClickOutsideEvent} from '../../hooks/useClickOutsideEvent'\nimport {useGlobalKeyDown} from '../../hooks/useGlobalKeyDown'\nimport {Box} from '../../primitives/box/box'\nimport {Button} from '../../primitives/button/button'\nimport {Card, type CardElementType, type CardOwnProps} from '../../primitives/card/card'\nimport {Flex} from '../../primitives/flex/flex'\nimport {useLayer} from '../../primitives/layer/useLayer'\nimport {Text} from '../../primitives/text/text'\nimport type {Props} from '../../types'\nimport {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'\nimport {usePortal} from '../../utils/portal/usePortal'\nimport {isTargetWithinScope} from './isTargetWithinScope'\n\n/** @internal */\nexport const DEFAULT_DIALOG_CARD_ELEMENT = 'div'\n\n/** @internal */\nexport type DialogCardOwnProps = CardOwnProps & {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: ReactNode\n contentRef?: ForwardedRef<HTMLDivElement>\n footer: ReactNode\n header: ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n}\n\n/** @internal */\nexport type DialogCardElementType = CardElementType\n\n/** @internal */\nexport type DialogCardProps<E extends DialogCardElementType = DialogCardElementType> = Props<\n DialogCardOwnProps,\n E\n>\n\n/** @internal */\n\nexport function DialogCard<E extends DialogCardElementType = typeof DEFAULT_DIALOG_CARD_ELEMENT>(\n props: DialogCardProps<E>,\n): React.JSX.Element {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n as = DEFAULT_DIALOG_CARD_ELEMENT,\n children,\n contentRef: forwardedContentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n ref: forwardedRef,\n ...rest\n } = props as DialogCardProps<typeof DEFAULT_DIALOG_CARD_ELEMENT>\n\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const ref = useRef<HTMLDivElement | null>(null)\n const contentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const scrollBottom = scrollHeight - scrollTop\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedContentRef,\n () => contentRef.current,\n )\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (ref.current) {\n focusFirstDescendant(ref.current)\n }\n }, [autoFocus, ref])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutsideEvent(\n isTopLayer &&\n onClickOutside &&\n ((event) => {\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n }),\n () => [ref.current],\n )\n\n useEffect(() => {\n const el = contentRef.current\n\n if (!el) return\n\n const handleScroll = () => {\n setScrollTop(el.scrollTop)\n setScrollHeight(el.scrollHeight - el.offsetHeight)\n }\n\n el.addEventListener('scroll', handleScroll, {passive: true})\n\n return () => {\n el.removeEventListener('scroll', handleScroll)\n }\n }, [])\n\n return (\n <Card\n {...rest}\n as={as}\n className={dialogCard()}\n display=\"flex\"\n flexDirection=\"column\"\n ref={ref}\n >\n {showHeader && (\n <Flex align=\"flex-start\" className={dialogHeader()} padding={3} position=\"relative\">\n <Box flex={1} padding={2}>\n {header && (\n <Text id={labelId} size={1} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n\n {showCloseButton && (\n <Box flex=\"none\">\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={2}\n />\n </Box>\n )}\n </Flex>\n )}\n\n <Box className={dialogContent()} flex={1} position=\"relative\" tabIndex={-1}>\n {showHeader && (\n <div\n className={dialogScrollerShadowTop()}\n style={{opacity: Math.min(scrollTop, 32) / 32}}\n />\n )}\n\n <Box className={dialogScroller()} overflow=\"auto\" ref={contentRef}>\n {children}\n </Box>\n\n {footer && (\n <div\n className={dialogScrollerShadowBottom()}\n style={{opacity: Math.min(scrollBottom, 32) / 32}}\n />\n )}\n </Box>\n\n {footer && (\n <Box className={dialogFooter()} position=\"relative\">\n {footer}\n </Box>\n )}\n </Card>\n )\n}\n","import type {ResponsiveProp} from '@sanity/ui/css'\nimport type {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport type {DialogPosition} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: ResponsiveProp<DialogPosition>\n zOffset?: ResponsiveProp<number>\n}\n\n/**\n * @internal\n */\nexport const DialogContext: Context<DialogContextValue> =\n createGlobalScopedContext<DialogContextValue>('@sanity/ui/v3/dialog', {version: 0.0})\n","import {useContext} from 'react'\n\nimport {DialogContext, type DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {\n type ContainerStyleProps,\n dialog,\n dialogContainer,\n type ResponsiveProp,\n} from '@sanity/ui/css'\nimport type {CardTone, ColorScheme, Radius} from '@sanity/ui/theme'\nimport {type FocusEvent, type ForwardedRef, type ReactNode, useCallback, useRef} from 'react'\n\nimport {Z_OFFSETS} from '../../constants'\nimport {isHTMLElement} from '../../helpers/element'\nimport {focusFirstDescendant, focusLastDescendant} from '../../helpers/focus'\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {useResponsiveProp} from '../../hooks/useResponsiveProp'\nimport {Container} from '../../primitives/container/container'\nimport {Layer, type LayerOwnProps, type LayerProps} from '../../primitives/layer/layer'\nimport type {ComponentType, Props} from '../../types'\nimport {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'\nimport {Portal} from '../../utils/portal/portal'\nimport {usePortal} from '../../utils/portal/usePortal'\nimport {DialogCard} from './dialogCard'\nimport {isTargetWithinScope} from './isTargetWithinScope'\nimport type {DialogPosition} from './types'\nimport {useDialog} from './useDialog'\n\n/** @public */\nexport const DEFAULT_DIALOG_ELEMENT = 'div'\n\n/** @public */\nexport type DialogOwnProps = ContainerStyleProps &\n Omit<LayerOwnProps, 'width'> & {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n /**\n * Whether the dialog should animate in on mount.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n cardRadius?: ResponsiveProp<Radius>\n contentRef?: ForwardedRef<HTMLDivElement>\n footer?: ReactNode\n header?: ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n open?: boolean\n portal?: string\n position?: ResponsiveProp<DialogPosition>\n scheme?: ColorScheme\n tone?: CardTone | 'inherit'\n zOffset?: number | number[]\n }\n\n/** @public */\nexport type DialogElementType = 'div' | 'span' | ComponentType\n\n/** @public */\nexport type DialogProps<E extends DialogElementType = DialogElementType> = Props<DialogOwnProps, E>\n\n/**\n * The Dialog component.\n *\n * @public\n */\nexport function Dialog<E extends DialogElementType = typeof DEFAULT_DIALOG_ELEMENT>(\n props: DialogProps<E>,\n): React.JSX.Element {\n const context = useDialog()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n animate: _animate = false,\n cardRadius: cardRadiusProp = 4,\n children,\n className,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding = 3,\n portal: portalProp,\n position: _positionProp,\n scheme,\n shadow: cardShadow = 4,\n width = 0,\n zOffset: _zOffsetProp,\n tone,\n ...rest\n } = props as DialogProps<typeof DEFAULT_DIALOG_ELEMENT>\n\n const positionProp = _positionProp ?? context.position ?? 'fixed'\n const zOffsetProp = _zOffsetProp ?? context.zOffset ?? Z_OFFSETS.dialog\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = useResponsiveProp(cardRadiusProp)\n const position = useResponsiveProp(positionProp)\n const zOffset = useResponsiveProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>(undefined)\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <Layer\n {...rest}\n aria-labelledby={labelId}\n aria-modal\n className={dialog({className})}\n data-animate={animate ? '' : undefined}\n data-ui=\"Dialog\"\n display=\"flex\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n padding={padding}\n position={position}\n role=\"dialog\"\n zOffset={zOffset}\n >\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={preDivRef} tabIndex={0} />\n <Container\n alignItems=\"center\"\n className={dialogContainer()}\n data-ui=\"DialogCard\"\n flexDirection=\"column\"\n display=\"flex\"\n justifyContent=\"center\"\n width={width}\n >\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n tone={tone}\n width={width}\n >\n {children}\n </DialogCard>\n </Container>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div ref={postDivRef} tabIndex={0} />\n </Layer>\n </Portal>\n )\n}\n","import type {ResponsiveProp} from '@sanity/ui/css'\nimport {type ReactNode, useMemo} from 'react'\n\nimport {DialogContext, type DialogContextValue} from './dialogContext'\nimport type {DialogPosition} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: ReactNode\n position?: ResponsiveProp<DialogPosition>\n zOffset?: ResponsiveProp<number>\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.JSX.Element {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {\n cloneElement,\n type FocusEvent,\n type ForwardedRef,\n type KeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n type ReactElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type {ButtonProps} from '../../primitives/button/button'\nimport {Popover, type PopoverProps} from '../../primitives/popover/popover'\nimport type {Props} from '../../types'\nimport type {MenuProps} from './menu'\n\n/** @public */\nexport type MenuButtonProps = {\n /**\n * @beta Do not use in production.\n */\n __unstable_disableRestoreFocusOnClose?: boolean\n button: ReactElement<ButtonProps>\n id: string\n menu?: ReactElement\n onClose?: () => void\n onOpen?: () => void\n popover?: Omit<PopoverProps, 'content' | 'open'>\n\n ref?: ForwardedRef<HTMLButtonElement | null>\n}\n\n/**\n * The `MenuButton` component follows the WAI-ARIA specification for menu buttons.\n *\n * @public\n */\nexport function MenuButton(props: MenuButtonProps): React.JSX.Element {\n const {\n __unstable_disableRestoreFocusOnClose: disableRestoreFocusOnClose = false,\n button: buttonProp,\n id,\n menu: menuProp,\n onClose,\n onOpen,\n popover,\n ref: forwardedRef,\n } = props\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const [buttonElement, setButtonElement] = useState<HTMLButtonElement | null>(null)\n const [menuElements, setChildMenuElements] = useState<HTMLElement[]>([])\n const openRef = useRef<boolean>(open)\n\n // Notify consumers when the menu opens\n useEffect(() => {\n if (onOpen && open && !openRef.current) {\n onOpen()\n }\n }, [onOpen, open])\n\n // Notify consumers when the menu closes\n useEffect(() => {\n if (onClose && !open && openRef.current) {\n onClose()\n }\n }, [onClose, open])\n\n useEffect(() => {\n openRef.current = open\n }, [open])\n\n const handleButtonClick = useCallback(() => {\n setOpen((v) => !v)\n setShouldFocus(null)\n }, [])\n\n // Prevent mouse event propagation when the menu is open.\n // This is to ensure that `handleBlur` isn't triggered when clicking the menu button whilst open,\n // which can lead to `setOpen` being triggered multiple times (once by `handleBlur`, and again by `handleButtonClick`).\n const handleMouseDown = useCallback(\n (event: ReactMouseEvent<HTMLElement>) => {\n if (open) event.preventDefault()\n },\n [open],\n )\n\n const handleButtonKeyDown = useCallback((event: KeyboardEvent<HTMLButtonElement>) => {\n // On `ArrowDown`, `Enter` and `Space`\n // - Opens menu and moves focus to first menuitem\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('first')\n\n return\n }\n\n // On `ArrowUp`\n // - \tOpens menu and moves focus to last menuitem\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n setOpen(true)\n setShouldFocus('last')\n\n return\n }\n }, [])\n\n const handleMenuClickOutside = useCallback(\n (event: MouseEvent) => {\n const target = event.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n if (buttonElement && (target === buttonElement || buttonElement.contains(target))) {\n return\n }\n\n for (const el of menuElements) {\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [buttonElement, menuElements],\n )\n\n const handleMenuEscape = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n const target = event.relatedTarget\n\n if (!(target instanceof Node)) {\n return\n }\n\n for (const el of menuElements) {\n if (el === target || el.contains(target)) {\n return\n }\n }\n\n setOpen(false)\n },\n [menuElements],\n )\n\n const handleItemClick = useCallback(() => {\n setOpen(false)\n if (disableRestoreFocusOnClose) return\n if (buttonElement) buttonElement.focus()\n }, [buttonElement, disableRestoreFocusOnClose])\n\n const registerElement = useCallback((el: HTMLElement) => {\n setChildMenuElements((els) => els.concat([el]))\n\n return () => setChildMenuElements((els) => els.filter((_el) => _el !== el))\n }, [])\n\n const menuProps: Props<MenuProps, 'div'> = {\n 'aria-labelledby': id,\n 'onBlurCapture': handleBlur,\n 'onClickOutside': handleMenuClickOutside,\n 'onEscape': handleMenuEscape,\n 'onItemClick': handleItemClick,\n 'originElement': buttonElement,\n registerElement,\n shouldFocus,\n }\n\n const menu = menuProp && cloneElement(menuProp, menuProps)\n\n const button = useMemo(() => {\n if (!buttonProp) return null\n\n const buttonProps: ButtonProps<'button'> = {\n 'data-ui': 'MenuButton',\n id,\n 'onClick': handleButtonClick,\n 'onKeyDown': handleButtonKeyDown,\n 'onMouseDown': handleMouseDown,\n 'aria-haspopup': true,\n 'aria-expanded': open,\n 'ref': setButtonElement,\n 'selected': buttonProp.props.selected ?? open,\n }\n\n return cloneElement(buttonProp, buttonProps)\n }, [buttonProp, handleButtonClick, handleButtonKeyDown, handleMouseDown, id, open])\n\n // Forward button ref to parent\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => buttonElement,\n [buttonElement],\n )\n\n const popoverProps: MenuButtonProps['popover'] = useMemo(\n () => ({\n overflow: 'auto',\n ...(popover || {}),\n }),\n [popover],\n )\n\n return (\n <Popover data-ui=\"MenuButton__popover\" {...popoverProps} content={menu} open={open}>\n {button || <></>}\n </Popover>\n )\n}\n","import {Box, type BoxOwnProps} from '../../primitives/box/box'\nimport type {ComponentType, Props} from '../../types'\n\n/** @public */\nexport const DEFAULT_TAB_PANEL_ELEMENT = 'div'\n\n/** @public */\nexport type TabPanelOwnProps = BoxOwnProps & {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n 'id': string\n}\n\n/** @public */\nexport type TabPanelElementType = 'div' | 'span' | ComponentType\n\n/** @public */\nexport type TabPanelProps<E extends TabPanelElementType = TabPanelElementType> = Props<\n TabPanelOwnProps,\n E\n>\n\n/** @public */\nexport function TabPanel<E extends TabPanelElementType = typeof DEFAULT_TAB_PANEL_ELEMENT>(\n props: TabPanelProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_TAB_PANEL_ELEMENT,\n children,\n tabIndex,\n ...rest\n } = props as TabPanelProps<typeof DEFAULT_TAB_PANEL_ELEMENT>\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...rest}\n as={as}\n role=\"tabpanel\"\n tabIndex={tabIndex === undefined ? 0 : tabIndex}\n >\n {children}\n </Box>\n )\n}\n","import {CloseIcon} from '@sanity/icons'\nimport {type RadiusStyleProps, toast} from '@sanity/ui/css'\nimport {motion, type Variant, type Variants} from 'framer-motion'\nimport {type ReactNode} from 'react'\n\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {Box} from '../../primitives/box/box'\nimport {Button} from '../../primitives/button/button'\nimport {Card} from '../../primitives/card/card'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Stack} from '../../primitives/stack/stack'\nimport {Text} from '../../primitives/text/text'\nimport type {ComponentType, Props} from '../../types'\n\n/** @internal */\nexport const DEFAULT_TOAST_ELEMENT = 'li'\n\n/** @internal */\nexport type ToastOwnProps = RadiusStyleProps & {\n closable?: boolean\n description?: ReactNode\n onClose?: () => void\n title?: ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n duration?: number\n}\n\n/** @internal */\nexport type ToastElementType = 'li' | ComponentType\n\n/** @internal */\nexport type ToastProps<E extends ToastElementType = ToastElementType> = Props<ToastOwnProps, E>\n\n// Support pattern used by Sanity Studio, that works around the lack of `duration: Infinity` support in older @sanity/ui versions\n// https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value\nconst LONG_ENOUGH_BUT_NOT_TOO_LONG = 1000 * 60 * 60 * 24 * 24\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n} as const\n\nconst STATUS_CARD_TONE = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'neutral',\n} as const\n\nconst BUTTON_TONE = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'neutral',\n} as const\n\n/**\n * The `Toast` component gives feedback to users when an action has taken place.\n *\n * Toasts can be closed with a close button, or auto-dismiss when the duration expires.\n *\n * @internal\n */\nexport function Toast<E extends ToastElementType = typeof DEFAULT_TOAST_ELEMENT>(\n props: ToastProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_TOAST_ELEMENT,\n closable,\n description,\n duration,\n onClose,\n radius = 3,\n title,\n status,\n ...rest\n } = props as ToastProps<typeof DEFAULT_TOAST_ELEMENT>\n\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const buttonTone = status ? BUTTON_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n const prefersReducedMotion = usePrefersReducedMotion()\n\n const visualDuration: number = prefersReducedMotion ? 0 : 0.26\n const transition = visualDuration ? {type: 'spring', visualDuration, bounce: 0.25} : {duration: 0}\n\n const hasDuration = duration && isFinite(duration) && duration < LONG_ENOUGH_BUT_NOT_TOO_LONG\n const initial: ContainerVariants[] = ['hidden', 'initial']\n const animate: ContainerVariants[] = ['visible', 'slideIn']\n const exit: ContainerVariants[] = ['hidden', 'slideOut']\n\n return (\n <MotionCard\n as={as}\n className={toast()}\n data-ui=\"Toast\"\n role={role}\n {...rest}\n custom={visualDuration}\n data-has-duration={hasDuration ? '' : undefined}\n radius={radius}\n shadow={2}\n tone={cardTone}\n layout=\"position\"\n variants={container}\n initial={initial}\n animate={animate}\n exit={exit}\n transition={transition}\n position=\"relative\"\n >\n <MotionFlex align=\"flex-start\" variants={content} transition={transition}>\n <Flex flex={1} overflowX=\"auto\" padding={3}>\n <Stack gap={3}>\n {title && (\n <Text size={1} weight=\"medium\">\n {title}\n </Text>\n )}\n {description && (\n <MotionText muted size={1} variants={content} transition={transition}>\n {description}\n </MotionText>\n )}\n </Stack>\n </Flex>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n tone={buttonTone}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </MotionFlex>\n </MotionCard>\n )\n}\n\nconst container = {\n initial: {y: 32, scale: 0.5, zIndex: 1},\n hidden: {opacity: 0},\n visible: (visualDuration: number) => {\n if (!visualDuration) return {opacity: 1}\n\n return {\n opacity: 1,\n transition: {\n when: 'beforeChildren',\n staggerChildren: visualDuration / 3,\n duration: visualDuration / 3,\n },\n }\n },\n slideIn: {\n y: 0,\n scale: 1,\n },\n slideOut: {\n zIndex: 0,\n scale: 0.75,\n },\n} satisfies Variants\ntype ContainerVariants = keyof typeof container\n\nconst content = {\n initial: {\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n },\n} satisfies Partial<Record<ContainerVariants, Variant>>\n\nconst MotionCard = motion.create(Card)\nconst MotionFlex = motion.create(Flex)\nconst MotionText = motion.create(Text)\n","import {useSyncExternalStore} from 'react'\n\n/**\n * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.\n * @public\n */\nexport function useMounted(): boolean {\n return useSyncExternalStore(\n subscribe,\n () => true,\n () => false,\n )\n}\n\nconst subscribe = () => () => {}\n","import type {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport type {ToastContextValue} from './types'\n\nexport const ToastContext: Context<ToastContextValue | null> =\n createGlobalScopedContext<ToastContextValue | null>('@sanity/ui/v3/toast', null)\n","import {type GapStyleProps, type PaddingStyleProps, toastLayer} from '@sanity/ui/css'\n\nimport {Grid} from '../../primitives/grid/grid'\nimport {useLayer} from '../../primitives/layer/useLayer'\nimport type {ComponentType, Props} from '../../types'\n\n/** @internal */\nexport const DEFAULT_TOAST_LAYER_ELEMENT = 'ul'\n\n/** @internal */\nexport type ToastLayerOwnProps = GapStyleProps & PaddingStyleProps\n\n/** @internal */\nexport type ToastLayerElementType = 'ul' | ComponentType\n\n/** @internal */\nexport type ToastLayerProps<E extends ToastLayerElementType = ToastLayerElementType> = Props<\n ToastLayerOwnProps,\n E\n>\n\n/**\n * @internal\n */\nexport function ToastLayer<E extends ToastLayerElementType = typeof DEFAULT_TOAST_LAYER_ELEMENT>(\n props: ToastLayerProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_TOAST_LAYER_ELEMENT,\n children,\n padding = 4,\n paddingX,\n paddingY,\n gap = 3,\n } = props as ToastLayerProps<typeof DEFAULT_TOAST_LAYER_ELEMENT>\n\n const {zIndex} = useLayer()\n\n return (\n <Grid\n as={as}\n className={toastLayer()}\n data-ui=\"ToastProvider\"\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n gap={gap}\n gridTemplateColumns={1}\n style={{zIndex}}\n >\n {children}\n </Grid>\n )\n}\n","let toastId = 0\n\n/** @internal */\nexport function generateToastId(): string {\n return String(toastId++)\n}\n","import type {ResponsiveProp} from '@sanity/ui/css'\nimport {AnimatePresence} from 'framer-motion'\nimport {startTransition, useMemo, useState} from 'react'\n\nimport {useMounted} from '../../hooks/useMounted'\nimport {LayerProvider} from '../../primitives/layer/layerProvider'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastLayer, type ToastLayerProps} from './toastLayer'\nimport {generateToastId} from './toastState'\nimport type {ToastContextValue, ToastParams} from './types'\n\ntype ToastState = {\n dismiss: () => void\n id: string\n params: ToastParams\n}[]\n\n/** @public */\nexport interface ToastProviderProps extends Omit<ToastLayerProps, 'children'> {\n children?: React.ReactNode\n zOffset?: ResponsiveProp<number>\n}\n\n/** @public */\nexport function ToastProvider(props: ToastProviderProps): React.JSX.Element {\n const {children, padding, paddingX, paddingY, gap, zOffset = 1} = props\n const [state, setState] = useState<ToastState>([])\n const mounted = useMounted()\n\n const value: ToastContextValue = useMemo(() => {\n const push = (params: ToastParams) => {\n const id = params.id ?? generateToastId()\n const duration = params.duration ?? 5000\n\n startTransition(() => {\n setState((prevState): ToastState => {\n /**\n * Backwards compatibility for `sanity` patterns workaround a lack of programatically dismissible toasts.\n * It uses a super short duration that closes the toast immediately in previous versions of `@sanity/ui`.\n * We interpret this as a request to dismiss the toast immediately, and remove it from the state right away.\n * Even once we support programatic dismissal we'll need to keep this for backwards compatibility with v2 and v1.\n */\n if (duration === 0.01) {\n return prevState.filter((toast) => toast.id !== id)\n }\n\n /**\n * Creates a function to dismiss this specific toast.\n * This function will be passed to the Toast component\n * and called either on close button click or after duration.\n */\n const dismiss = () => {\n startTransition(() => {\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n\n setState((currentState) => currentState.filter((toast) => toast.id !== id))\n })\n }\n\n const timeoutId = setTimeout(dismiss, duration)\n\n /**\n * Create updated state by:\n * 1. Removing any existing toast with the same ID (prevents duplicates)\n * 2. Adding the new toast with its dismiss handler\n * 3. Updates the `updatedAt` timestamp, which resets progress bar count downs.\n */\n return [\n ...prevState.filter((toast) => toast.id !== id),\n {\n dismiss,\n id,\n params: {...params, duration},\n },\n ]\n })\n })\n\n return id\n }\n\n return {version: 0.0, push}\n }, [])\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n {mounted && (\n <LayerProvider zOffset={zOffset}>\n <ToastLayer padding={padding} paddingX={paddingX} paddingY={paddingY} gap={gap}>\n <AnimatePresence initial={false} mode=\"popLayout\">\n {state.map(({dismiss, id, params}) => (\n <Toast\n key={id}\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n duration={params.duration}\n />\n ))}\n </AnimatePresence>\n </ToastLayer>\n </LayerProvider>\n )}\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport type {ToastContextValue} from './types'\n\n/** @public */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n","import type {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import type {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport type {TreeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const TreeContext: Context<TreeContextValue | null> =\n createGlobalScopedContext<TreeContextValue | null>('@sanity/ui/v3/tree', null)\n","import type {ResponsiveProp} from '@sanity/ui/css'\nimport type {Space} from '@sanity/ui/theme'\nimport {\n type FocusEvent,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {Stack} from '../../primitives/stack/stack'\nimport type {ComponentType, Props} from '../../types'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport type {TreeContextValue, TreeState} from './types'\n\n/** @beta */\nexport const DEFAULT_TREE_ELEMENT = 'div'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type TreeOwnProps = {\n gap?: ResponsiveProp<Space>\n}\n\n/** @beta */\nexport type TreeElementType = 'div' | ComponentType\n\n/** @beta */\nexport type TreeProps<E extends TreeElementType = TreeElementType> = Props<TreeOwnProps, E>\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function Tree<E extends TreeElementType = typeof DEFAULT_TREE_ELEMENT>(\n props: TreeProps<E>,\n): React.JSX.Element {\n const {\n children,\n gap = 1,\n onFocus,\n ref: forwardedRef,\n ...rest\n } = props as TreeProps<typeof DEFAULT_TREE_ELEMENT>\n\n const ref = useRef<HTMLDivElement | null>(null)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n gap,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n state,\n }),\n [focusedElement, gap, itemElements, path, registerItem, setExpanded, state],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!ref.current) return\n const _itemElements = Array.from(\n ref.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...rest}\n gap={gap}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tree\"\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n}\n","import {useContext} from 'react'\n\nimport {TreeContext} from './treeContext'\nimport type {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {Stack} from '../../primitives/stack/stack'\nimport type {ComponentType, Props} from '../../types'\nimport {useTree} from './useTree'\n\n/** @public */\nexport const DEFAULT_TREE_GROUP_ELEMENT = 'div'\n\n/** @public */\nexport type TreeGroupElementType = 'div' | ComponentType\n\n/** @public */\nexport type TreeGroupOwnProps = {\n expanded?: boolean\n}\n\n/** @public */\nexport type TreeGroupProps<E extends TreeGroupElementType = TreeGroupElementType> = Props<\n TreeGroupOwnProps,\n E\n>\n\nexport const TreeGroup = function TreeGroup(\n props: Props<TreeGroupProps, 'div'>,\n): React.JSX.Element {\n const {\n children,\n expanded = false,\n ...rest\n } = props as TreeGroupProps<typeof DEFAULT_TREE_GROUP_ELEMENT>\n\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...rest}\n hidden={!expanded}\n marginTop={tree.gap}\n role=\"group\"\n gap={tree.gap}\n >\n {children}\n </Stack>\n )\n}\n","import {ToggleArrowRightIcon} from '@sanity/icons'\nimport {type ResponsiveProp, treeItem, vars} from '@sanity/ui/css'\nimport type {FontTextSize, FontWeight, Space} from '@sanity/ui/theme'\nimport {\n type ElementType,\n type KeyboardEvent,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n} from 'react'\n\nimport {Box, type BoxProps} from '../../primitives/box/box'\nimport type {CardOwnProps} from '../../primitives/card/card'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Selectable, type SelectableElementType} from '../../primitives/selectable/selectable'\nimport {Text} from '../../primitives/text/text'\nimport type {ComponentType, Props} from '../../types'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/** @beta */\nexport const DEFAULT_TREE_ITEM_ELEMENT = 'a'\n\n/** @beta */\nexport type TreeItemOwnProps = CardOwnProps & {\n expanded?: boolean\n fontSize?: ResponsiveProp<FontTextSize>\n icon?: ElementType\n /**\n * Allows passing a custom element type to the link component\n * @internal\n */\n linkAs?: SelectableElementType\n onClick?: MouseEventHandler<HTMLAnchorElement | HTMLLIElement>\n padding?: ResponsiveProp<Space>\n space?: ResponsiveProp<Space>\n text?: ReactNode\n weight?: FontWeight\n}\n\n/** @beta */\nexport type TreeItemElementType = 'a' | 'li' | ComponentType\n\n/** @beta */\nexport type TreeItemProps<E extends TreeItemElementType = TreeItemElementType> = Props<\n TreeItemOwnProps,\n E\n>\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function TreeItem<E extends TreeItemElementType = typeof DEFAULT_TREE_ITEM_ELEMENT>(\n props: TreeItemProps<E>,\n): React.JSX.Element {\n const {\n children,\n className,\n expanded: expandedProp = false,\n fontSize = 1,\n href,\n icon: IconComponent,\n id: idProp,\n linkAs = 'a',\n muted,\n onClick,\n padding = 2,\n radius = 2,\n selected = false,\n space = 2,\n text,\n weight,\n ...rest\n } = props as TreeItemProps<typeof DEFAULT_TREE_ITEM_ELEMENT>\n\n const rootRef = useRef<HTMLElement | null>(null)\n const treeitemRef = useRef<HTMLDivElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const itemPath = useMemo(() => path.concat([id || '']), [id, path])\n const itemKey = itemPath.join('/')\n const itemState = tree.state[itemKey]\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const focused = tree.focusedElement && tree.focusedElement === rootRef.current\n const tabIndex = focused ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLAnchorElement> | MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootRef.current)\n }\n },\n [expanded, itemKey, onClick, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootRef.current\n\n el?.click()\n }\n },\n [focused],\n )\n\n useEffect(() => {\n if (!rootRef.current) return\n\n return registerItem(rootRef.current, itemPath.join('/'), expanded, selected)\n }, [expanded, itemPath, registerItem, selected])\n\n const content = (\n <Flex gap={space} padding={padding}>\n <Box\n style={{\n visibility: IconComponent || children ? 'visible' : 'hidden',\n pointerEvents: 'none',\n }}\n >\n {IconComponent && (\n <Text muted={muted} size={fontSize} weight={weight}>\n <IconComponent />\n </Text>\n )}\n {!IconComponent && (\n <Text muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </Text>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <Box\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...(rest as BoxProps<'li'>)}\n as=\"li\"\n className={treeItem({className})}\n onClick={handleClick}\n ref={rootRef as Ref<HTMLLIElement>}\n role=\"none\"\n >\n <Selectable\n aria-expanded={expanded}\n as={linkAs}\n // data-pressed={selected ? '' : undefined}\n data-ui=\"TreeItem__box\"\n href={href}\n radius={radius}\n ref={treeitemRef}\n role=\"treeitem\"\n selected={selected}\n tabIndex={tabIndex}\n style={{\n paddingLeft: `calc(${vars.space[2]} * ${tree.level})`,\n }}\n >\n {content}\n </Selectable>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Box>\n )\n }\n\n return (\n <Box\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...(rest as BoxProps<'a'>)}\n aria-expanded={expanded}\n className={treeItem({className})}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={rootRef as Ref<HTMLAnchorElement>}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <Selectable\n as=\"button\"\n // data-pressed={selected ? '' : undefined}\n data-focused={focused ? '' : undefined}\n data-ui=\"TreeItem__box\"\n radius={radius}\n selected={selected}\n style={{\n paddingLeft: `calc(${vars.space[2]} * ${tree.level})`,\n }}\n >\n {content}\n </Selectable>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </Box>\n )\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof document !== 'undefined' && typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {vars} from '@sanity/ui/css'\nimport type {Space} from '@sanity/ui/theme'\nimport {\n type CSSProperties,\n type ReactNode,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {_isScrollable} from '../../helpers/scroll'\nimport {_ResizeObserver} from '../../observers/resize'\nimport {Box} from '../../primitives/box/box'\nimport type {ComponentType, Props} from '../../types'\n\n/** @beta */\nexport const DEFAULT_VIRTUAL_LIST_ELEMENT = 'div'\n\n/** @beta */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/** @beta */\nexport type VirtualListOwnProps<Item = any> = {\n gap?: Space\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => ReactNode\n}\n\n/** @beta */\nexport type VirtualListElementType = 'div' | ComponentType\n\n/** @beta */\nexport type VirtualListProps<E extends VirtualListElementType = VirtualListElementType> = Props<\n VirtualListOwnProps,\n E\n>\n\n/** @beta */\nexport function VirtualList<E extends VirtualListElementType = typeof DEFAULT_VIRTUAL_LIST_ELEMENT>(\n props: VirtualListProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_VIRTUAL_LIST_ELEMENT,\n gap = 0,\n getItemKey,\n items = [],\n onChange,\n renderItem,\n ref: forwardedRef,\n ...rest\n } = props as VirtualListProps<typeof DEFAULT_VIRTUAL_LIST_ELEMENT>\n\n const ref = useRef<HTMLDivElement | null>(null)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n const [gapValue, setGapValue] = useState(0)\n\n // Sync ref to parent\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect((): (() => void) | undefined => {\n if (!ref.current) return\n\n const scrollEl = findScrollable(ref.current.parentNode)\n\n if (scrollEl) {\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + gapValue) - gapValue : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n onChange?.({\n fromIndex,\n gap: gapValue,\n itemHeight,\n scrollHeight,\n scrollTop,\n toIndex,\n })\n }, [fromIndex, gapValue, itemHeight, onChange, scrollHeight, scrollTop, toIndex])\n\n useEffect(() => {\n // console.log('renderItem', renderItem)\n setItemHeight(-1)\n }, [renderItem])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [\n <>\n <Box\n ref={(el) => (el ? setItemHeight(el.offsetHeight) : undefined)}\n insetTop={0}\n insetLeft={0}\n insetRight={0}\n key={0}\n position=\"absolute\"\n >\n {renderItem(items[0])}\n </Box>\n <div\n ref={(el) => (el ? setGapValue(el.offsetHeight) : undefined)}\n style={{height: vars.space[gap]}}\n />\n </>,\n ]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <Box\n insetLeft={0}\n insetRight={0}\n key={key}\n position=\"absolute\"\n style={{top: itemIndex * (itemHeight + gapValue)}}\n >\n {node}\n </Box>\n )\n })\n }, [fromIndex, gap, gapValue, getItemKey, itemHeight, items, renderItem, toIndex])\n\n const wrapperStyle: CSSProperties = useMemo(() => ({height}), [height])\n\n return (\n <Box data-ui=\"VirtualList\" {...rest} as={as} position=\"relative\" ref={ref}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Box>\n )\n}\n\nfunction findScrollable(parentNode: ParentNode | null) {\n let _scrollEl = parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n return _scrollEl\n}\n","import {_ResizeObserver} from './resize'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver: _ElementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\n\nimport {_elementSizeObserver, type ElementSize} from '../observers/elementSize'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {\n label,\n type LabelStyleProps,\n textOverflow,\n type TextOverflowStyleProps,\n} from '@sanity/ui/css'\n\nimport type {ComponentType, Props} from '../../types'\n\n/** @public */\nexport const DEFAULT_LABEL_ELEMENT = 'div'\n\n/** @public */\nexport type LabelOwnProps = LabelStyleProps & TextOverflowStyleProps\n\n/** @public */\nexport type LabelElementType =\n | 'div'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'label'\n | 'li'\n | 'p'\n | 'span'\n | ComponentType\n\n/** @public */\nexport type LabelProps<E extends LabelElementType = LabelElementType> = Props<LabelOwnProps, E>\n\n/**\n * Typographic labels.\n *\n * @public\n */\nexport function Label<E extends LabelElementType = typeof DEFAULT_LABEL_ELEMENT>(\n props: LabelProps<E>,\n): React.JSX.Element {\n const {\n align,\n as: Element = DEFAULT_LABEL_ELEMENT,\n children,\n className,\n muted = false,\n size = 1,\n textOverflow: textOverflowProp,\n weight = 'regular',\n ...rest\n } = props\n\n return (\n <Element\n data-ui=\"Label\"\n {...rest}\n className={label({\n className,\n align,\n muted,\n size,\n weight,\n })}\n >\n <span\n className={textOverflow({\n textOverflow: textOverflowProp,\n })}\n >\n {children}\n </span>\n </Element>\n )\n}\n","import {\n avatar,\n avatarArrow,\n avatarImage,\n avatarImageOutline,\n avatarInitials,\n type ResponsiveProp,\n} from '@sanity/ui/css'\nimport type {AvatarColor, AvatarSize, FontLabelSize} from '@sanity/ui/theme'\nimport {useCallback, useEffect, useMemo, useState} from 'react'\n\nimport {useResponsiveProp} from '../../hooks/useResponsiveProp'\nimport type {ComponentType, Props} from '../../types'\nimport {Box} from '../box/box'\nimport {Label} from '../label/label'\nimport type {AvatarPosition} from './types'\n\n/** @public */\nexport const DEFAULT_AVATAR_ELEMENT = 'span'\n\n/** @public */\nexport interface AvatarOwnProps {\n /** @beta */\n __unstable_hideInnerStroke?: boolean\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n color?: AvatarColor\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: ResponsiveProp<AvatarSize>\n src?: string\n title?: string\n}\n\n/** @public */\nexport type AvatarElementType = 'a' | 'button' | 'div' | 'span' | ComponentType\n\n/** @public */\nexport type AvatarProps<E extends AvatarElementType = AvatarElementType> = Props<AvatarOwnProps, E>\n\n/**\n * Avatars are used to represent people and other agents (e.g. bots).\n *\n * @public\n */\nexport function Avatar<E extends AvatarElementType = typeof DEFAULT_AVATAR_ELEMENT>(\n props: AvatarProps<E>,\n): React.JSX.Element {\n const {\n __unstable_hideInnerStroke,\n as: Element = DEFAULT_AVATAR_ELEMENT,\n className,\n color = 'magenta',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n size: sizeProp = 1,\n ...rest\n } = props as AvatarProps<typeof DEFAULT_AVATAR_ELEMENT>\n\n const size = useResponsiveProp(sizeProp)\n\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageError, setImageError] = useState<boolean>(false)\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageError(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageError(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(\n () =>\n Object.values(size).map((s) => {\n if (s === 1) return 1 satisfies FontLabelSize\n if (s === 2) return 3 satisfies FontLabelSize\n if (s === 3) return 5 satisfies FontLabelSize\n\n return 0 satisfies FontLabelSize\n }) as ResponsiveProp<FontLabelSize>,\n [size],\n )\n\n return (\n <Element\n data-hide-inner-stroke={__unstable_hideInnerStroke ? '' : undefined}\n data-ui=\"Avatar\"\n {...rest}\n aria-label={title}\n className={avatar({className, color, size: sizeProp})}\n data-arrow-position={arrowPosition}\n data-image-error={imageError ? '' : undefined}\n title={title}\n >\n <span className={avatarArrow()}>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </span>\n\n <Box\n alignItems=\"center\"\n as=\"span\"\n className={avatarInitials()}\n display=\"flex\"\n justifyContent=\"center\"\n position=\"absolute\"\n inset={0}\n >\n <Label align=\"center\" as=\"span\" size={initialsSize} weight=\"medium\">\n {initials}\n </Label>\n </Box>\n\n {src && (\n <Box className={avatarImage()} inset={0} position=\"absolute\">\n <img alt={initials} onError={handleImageError} src={src} />\n <span className={avatarImageOutline()} />\n </Box>\n )}\n </Element>\n )\n}\n","import {avatarCounter, type ResponsiveProp} from '@sanity/ui/css'\nimport type {AvatarSize, FontLabelSize} from '@sanity/ui/theme'\nimport {useMemo} from 'react'\n\nimport {useResponsiveProp} from '../../hooks/useResponsiveProp'\nimport type {ComponentType, Props} from '../../types'\nimport {Box} from '../box/box'\nimport {Label} from '../label/label'\n\n/** @public */\nexport const DEFAULT_AVATAR_COUNTER_ELEMENT = 'span'\n\n/** @public */\nexport interface AvatarCounterOwnProps {\n count: number\n size?: ResponsiveProp<AvatarSize>\n}\n\n/** @public */\nexport type AvatarCounterElementType = 'button' | 'div' | 'span' | ComponentType\n\n/** @public */\nexport type AvatarCounterProps<E extends AvatarCounterElementType = AvatarCounterElementType> =\n Props<AvatarCounterOwnProps, E>\n\n/** @public */\nexport function AvatarCounter<\n E extends AvatarCounterElementType = typeof DEFAULT_AVATAR_COUNTER_ELEMENT,\n>(props: AvatarCounterProps<E>): React.JSX.Element {\n const {\n as = DEFAULT_AVATAR_COUNTER_ELEMENT,\n className,\n count,\n size: sizeProp = 1,\n ...rest\n } = props as AvatarCounterProps<typeof DEFAULT_AVATAR_COUNTER_ELEMENT>\n const size = useResponsiveProp(sizeProp)\n\n const labelSize = useMemo(\n () =>\n Object.values(size).map((s) => {\n if (s === 1) return 1 satisfies FontLabelSize\n if (s === 2) return 3 satisfies FontLabelSize\n if (s === 3) return 5 satisfies FontLabelSize\n\n return 0 satisfies FontLabelSize\n }) as ResponsiveProp<FontLabelSize>,\n [size],\n )\n\n return (\n <Box\n data-ui=\"AvatarCounter\"\n {...rest}\n alignItems=\"center\"\n as={as}\n className={avatarCounter({className, size})}\n display=\"flex\"\n flex=\"none\"\n justifyContent=\"center\"\n paddingX={2}\n sizing=\"border\"\n >\n <Label align=\"center\" as=\"span\" size={labelSize} weight=\"medium\">\n {count}\n </Label>\n </Box>\n )\n}\n","import {avatarStack, type ResponsiveProp} from '@sanity/ui/css'\nimport type {AvatarSize} from '@sanity/ui/theme'\nimport {Children, cloneElement, Fragment, isValidElement, type ReactElement} from 'react'\n\nimport {useResponsiveProp} from '../../hooks/useResponsiveProp'\nimport type {ComponentType, Props} from '../../types'\nimport {Box, type BoxOwnProps} from '../box/box'\nimport type {AvatarProps} from './avatar'\nimport {AvatarCounter} from './avatarCounter'\n\n/** @public */\nexport const DEFAULT_AVATAR_STACK_ELEMENT = 'span'\n\n/** @public */\nexport type AvatarStackChild = ReactElement<AvatarProps<'div'>> | null | undefined | false\n\n/** @public */\nexport type AvatarStackOwnProps = Omit<\n BoxOwnProps,\n 'align' | 'alignItems' | 'display' | 'justify' | 'justifyContent'\n> & {\n children: AvatarStackChild | AvatarStackChild[]\n maxLength?: number\n size?: ResponsiveProp<AvatarSize>\n}\n\n/** @public */\nexport type AvatarStackElementType = 'div' | 'span' | ComponentType\n\n/** @public */\nexport type AvatarStackProps<E extends AvatarStackElementType = AvatarStackElementType> = Props<\n AvatarStackOwnProps,\n E\n>\n\n/** @public */\nexport function AvatarStack<E extends AvatarStackElementType = typeof DEFAULT_AVATAR_STACK_ELEMENT>(\n props: AvatarStackProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_AVATAR_STACK_ELEMENT,\n children: childrenProp,\n className,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 1,\n ...rest\n } = props as AvatarStackProps<typeof DEFAULT_AVATAR_STACK_ELEMENT>\n\n const children = Children.toArray(childrenProp).filter(isValidElement) as ReactElement<\n AvatarProps<'span'>\n >[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useResponsiveProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Box\n data-ui=\"AvatarStack\"\n {...rest}\n alignItems=\"center\"\n as={as}\n className={avatarStack({className, size})}\n display=\"flex\"\n justifyContent=\"flex-start\"\n >\n {len === 0 && <AvatarCounter count={len} size={size} />}\n\n {len !== 0 && extraCount > 1 && <AvatarCounter count={extraCount} size={size} />}\n\n {visibleChildren.map((child, childIndex) => (\n <Fragment key={String(childIndex)}>{cloneElement(child, {size})}</Fragment>\n ))}\n </Box>\n )\n}\n","import {\n badge,\n type BadgeStyleProps,\n type FlexStyleProps,\n type PaddingStyleProps,\n type RadiusStyleProps,\n} from '@sanity/ui/css'\n\nimport type {ComponentType, Props} from '../../types'\nimport {Box} from '../box/box'\nimport {Text} from '../text/text'\n\n/** @public */\nexport const DEFAULT_BADGE_ELEMENT = 'span'\n\n/** @public */\nexport type BadgeOwnProps = BadgeStyleProps & FlexStyleProps & PaddingStyleProps & RadiusStyleProps\n\n/** @public */\nexport type BadgeElementType = 'div' | 'span' | ComponentType\n\n/** @public */\nexport type BadgeProps<E extends BadgeElementType = BadgeElementType> = Props<BadgeOwnProps, E>\n\n/**\n * Badges are used to tag resources.\n *\n * @public\n */\nexport function Badge<E extends BadgeElementType = typeof DEFAULT_BADGE_ELEMENT>(\n props: BadgeProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_BADGE_ELEMENT,\n children,\n className,\n flex = 'none',\n fontSize = 1,\n padding = 1,\n radius = 2,\n tone = 'default',\n ...rest\n } = props as BadgeProps<typeof DEFAULT_BADGE_ELEMENT>\n\n return (\n <Box\n data-ui=\"Badge\"\n {...rest}\n as={as}\n className={badge({className, tone})}\n flex={flex}\n display=\"flex\"\n maxWidth=\"fill\"\n padding={padding}\n radius={radius}\n width=\"min\"\n >\n <Text size={fontSize}>{children}</Text>\n </Box>\n )\n}\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {checkbox, checkboxInput, checkboxPresentation} from '@sanity/ui/css'\nimport {useEffect, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport type {ComponentType, Props} from '../../types'\n\n/** @public */\nexport const DEFAULT_CHECKBOX_ELEMENT = 'input'\n\n/** @public */\nexport type CheckboxOwnProps = {\n indeterminate?: boolean\n customValidity?: string\n}\n\n/** @public */\nexport type CheckboxElementType = 'input' | ComponentType\n\n/** @public */\nexport type CheckboxProps<E extends CheckboxElementType = CheckboxElementType> = Props<\n CheckboxOwnProps,\n E\n>\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @public\n */\nexport function Checkbox<E extends CheckboxElementType = typeof DEFAULT_CHECKBOX_ELEMENT>(\n props: CheckboxProps<E>,\n): React.JSX.Element {\n const {\n as: Element = DEFAULT_CHECKBOX_ELEMENT,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n ref: forwardedRef,\n style,\n ...rest\n } = props as CheckboxProps<typeof DEFAULT_CHECKBOX_ELEMENT>\n\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span className={checkbox({className})} data-ui=\"Checkbox\" style={style}>\n <Element\n {...rest}\n className={checkboxInput()}\n data-invalid={customValidity ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span className={checkboxPresentation()}>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </span>\n )\n}\n","import {code, type CodeStyleProps, type ResponsiveProp} from '@sanity/ui/css'\nimport type {FontCodeSize} from '@sanity/ui/theme'\nimport {lazy, Suspense} from 'react'\n\nimport type {ComponentType, Props} from '../../types'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/** @public */\nexport const DEFAULT_CODE_ELEMENT = 'pre'\n\n/** @public */\nexport type CodeOwnProps = CodeStyleProps & {\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: ResponsiveProp<FontCodeSize>\n}\n\n/** @public */\nexport type CodeElementType = 'div' | 'pre' | ComponentType\n\n/** @public */\nexport type CodeProps<E extends CodeElementType = CodeElementType> = Props<CodeOwnProps, E>\n\n/** @public */\nexport function Code<E extends CodeElementType = typeof DEFAULT_CODE_ELEMENT>(\n props: CodeProps<E>,\n): React.JSX.Element {\n const {\n as: Element = DEFAULT_CODE_ELEMENT,\n children,\n className,\n language: languageProp,\n size = 2,\n weight = 'regular',\n ...rest\n } = props as CodeProps<typeof DEFAULT_CODE_ELEMENT>\n\n const language = typeof languageProp === 'string' ? languageProp : undefined\n\n return (\n <Element data-ui=\"Code\" {...rest} className={code({className, size, weight})}>\n <Suspense fallback={<code>{children}</code>}>\n <LazyRefractor language={language} value={children} />\n </Suspense>\n </Element>\n )\n}\n","import {\n heading,\n type HeadingStyleProps,\n textOverflow,\n type TextOverflowStyleProps,\n} from '@sanity/ui/css'\n\nimport type {ComponentType, Props} from '../../types'\n\n/** @public */\nexport const DEFAULT_HEADING_ELEMENT = 'div'\n\n/** @public */\nexport type HeadingOwnProps = HeadingStyleProps & TextOverflowStyleProps\n\n/** @public */\nexport type HeadingElementType =\n | 'div'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'label'\n | 'span'\n | ComponentType\n\n/** @public */\nexport type HeadingProps<E extends HeadingElementType = HeadingElementType> = Props<\n HeadingOwnProps,\n E\n>\n\n/**\n * Typographic headings.\n *\n * @public\n */\nexport function Heading<E extends HeadingElementType = typeof DEFAULT_HEADING_ELEMENT>(\n props: HeadingProps<E>,\n): React.JSX.Element {\n const {\n align,\n as: Element = DEFAULT_HEADING_ELEMENT,\n children,\n className,\n flex,\n muted = false,\n size = 2,\n textOverflow: textOverflowProp,\n weight = 'regular',\n ...rest\n } = props as HeadingProps<typeof DEFAULT_HEADING_ELEMENT>\n\n return (\n <Element\n data-ui=\"Heading\"\n {...rest}\n className={heading({\n className,\n align,\n flex,\n muted,\n size,\n weight,\n })}\n >\n <span\n className={textOverflow({\n textOverflow: textOverflowProp,\n })}\n >\n {children}\n </span>\n </Element>\n )\n}\n","import type {Props} from '../../types'\nimport {Box, type BoxElementType, type BoxOwnProps} from '../box/box'\n\n/** @public */\nexport const DEFAULT_INLINE_ELEMENT = 'div'\n\n/** @public */\nexport type InlineOwnProps = Omit<\n BoxOwnProps,\n | 'alignItems'\n | 'flexDirection'\n | 'flexWrap'\n | 'justifyContent'\n | 'gridAutoColumns'\n | 'gridAutoFlow'\n | 'gridAutoRows'\n | 'gridColumnEnd'\n | 'gridColumnStart'\n | 'gridColumn'\n | 'gridRowEnd'\n | 'gridRowStart'\n | 'gridRow'\n | 'gridTemplateColumns'\n | 'gridTemplateRows'\n // todo: omit deprecated flex and grid props\n>\n\n/** @public */\nexport type InlineElementType = BoxElementType\n\n/** @public */\nexport type InlineProps<E extends InlineElementType = InlineElementType> = Props<InlineOwnProps, E>\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\nexport function Inline<E extends InlineElementType = typeof DEFAULT_INLINE_ELEMENT>(\n props: InlineProps<E>,\n): React.JSX.Element {\n const {\n as = DEFAULT_INLINE_ELEMENT,\n children,\n gap,\n ...rest\n } = props as InlineProps<typeof DEFAULT_INLINE_ELEMENT>\n\n return (\n <Box\n data-ui=\"Inline\"\n {...rest}\n alignItems=\"center\"\n as={as}\n display=\"flex\"\n gap={gap}\n flexWrap=\"wrap\"\n >\n {children}\n </Box>\n )\n}\n","import {radio, radioInput, radioPresentation} from '@sanity/ui/css'\nimport {useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport type {ComponentType, Props} from '../../types'\n\n/** @public */\nexport const DEFAULT_RADIO_ELEMENT = 'input'\n\n/** @public */\nexport type RadioOwnProps = {\n customValidity?: string\n}\n\n/** @public */\nexport type RadioElementType = 'input' | ComponentType\n\n/** @public */\nexport type RadioProps<E extends RadioElementType = RadioElementType> = Props<RadioOwnProps, E>\n\n/**\n * The `Radio` component allows the user to select one option from a set.\n *\n * @public\n */\nexport function Radio<E extends RadioElementType = typeof DEFAULT_RADIO_ELEMENT>(\n props: RadioProps<E>,\n): React.JSX.Element {\n const {\n as: Element = DEFAULT_RADIO_ELEMENT,\n className,\n disabled,\n style,\n customValidity,\n readOnly,\n ref: forwardedRef,\n ...rest\n } = props as RadioProps<typeof DEFAULT_RADIO_ELEMENT>\n\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div className={radio({className})} data-ui=\"Radio\" style={style}>\n <Element\n {...rest}\n className={radioInput()}\n data-invalid={customValidity ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span className={radioPresentation()} />\n </div>\n )\n}\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {_inputElement, select, selectPresentation, type SelectStyleProps} from '@sanity/ui/css'\nimport {useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport type {ComponentType, Props} from '../../types'\nimport {Box} from '../box/box'\nimport {Text} from '../text/text'\n\n/** @public */\nexport const DEFAULT_SELECT_ELEMENT = 'select'\n\n/** @public */\nexport type SelectOwnProps = SelectStyleProps & {\n customValidity?: string\n readOnly?: boolean\n}\n\n/** @public */\nexport type SelectElementType = 'select' | ComponentType\n\n/** @public */\nexport type SelectProps<E extends SelectElementType = SelectElementType> = Props<SelectOwnProps, E>\n\n/**\n * The `Select` component provides control of options.\n *\n * @public\n */\nexport function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEMENT>(\n props: SelectProps<E>,\n): React.JSX.Element {\n const {\n as: Element = DEFAULT_SELECT_ELEMENT,\n border = true,\n children,\n customValidity,\n disabled,\n fontSize = 2,\n gap = 2,\n padding = 3,\n radius = 1,\n readOnly,\n ref: forwardedRef,\n ...rest\n } = props as SelectProps<typeof DEFAULT_SELECT_ELEMENT>\n\n const ref = useRef<HTMLSelectElement | null>(null)\n\n useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div\n data-ui=\"Select\"\n className={select({border, fontSize, gap, padding, radius})}\n data-icon-right=\"\"\n >\n <Element {...rest} className={_inputElement()} disabled={disabled || readOnly} ref={ref}>\n {children}\n </Element>\n <span className={selectPresentation()}>\n <Box as=\"span\" display=\"inline-block\" padding={padding}>\n <Text size={fontSize}>\n <ChevronDownIcon />\n </Text>\n </Box>\n </span>\n </div>\n )\n}\n","import {skeleton, type SkeletonStyleProps} from '@sanity/ui/css'\nimport {useEffect, useState} from 'react'\n\nimport type {ComponentType, Props} from '../../types'\n\n/** @beta */\nexport const DEFAULT_SKELETON_ELEMENT = 'div'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type SkeletonOwnProps = SkeletonStyleProps & {\n animated?: boolean\n delay?: number\n}\n\n/** @beta */\nexport type SkeletonElementType = 'div' | 'span' | ComponentType\n\n/** @beta */\nexport type SkeletonProps<E extends SkeletonElementType = SkeletonElementType> = Props<\n SkeletonOwnProps,\n E\n>\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function Skeleton<E extends SkeletonElementType = typeof DEFAULT_SKELETON_ELEMENT>(\n props: SkeletonProps<E>,\n): React.JSX.Element {\n const {\n as: As = DEFAULT_SKELETON_ELEMENT,\n animated = false,\n className,\n delay,\n radius,\n ...rest\n } = props as SkeletonProps<typeof DEFAULT_SKELETON_ELEMENT>\n\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return setVisible(true)\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <As\n data-ui=\"Skeleton\"\n {...rest}\n className={skeleton({\n className,\n radius,\n })}\n data-animated={animated ? '' : undefined}\n data-visible={visible ? '' : undefined}\n />\n )\n}\n","import {codeSkeleton, type ResponsiveProp} from '@sanity/ui/css'\nimport type {FontCodeSize} from '@sanity/ui/theme'\n\nimport type {Props} from '../../types'\nimport {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'\n\n/** @beta */\nexport const DEFAULT_CODE_SKELETON_ELEMENT = 'div'\n\n/** @beta */\nexport type CodeSkeletonOwnProps = SkeletonOwnProps & {\n size?: ResponsiveProp<FontCodeSize>\n}\n\n/** @beta */\nexport type CodeSkeletonElementType = SkeletonElementType\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type CodeSkeletonProps<E extends CodeSkeletonElementType = CodeSkeletonElementType> = Props<\n CodeSkeletonOwnProps,\n E\n>\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function CodeSkeleton<\n E extends CodeSkeletonElementType = typeof DEFAULT_CODE_SKELETON_ELEMENT,\n>(props: CodeSkeletonProps<E>): React.JSX.Element {\n const {\n className,\n size = 2,\n ...rest\n } = props as CodeSkeletonProps<typeof DEFAULT_CODE_SKELETON_ELEMENT>\n\n return (\n <Skeleton\n {...rest}\n className={codeSkeleton({\n className,\n size,\n })}\n />\n )\n}\n","import {headingSkeleton, type ResponsiveProp} from '@sanity/ui/css'\nimport type {FontHeadingSize} from '@sanity/ui/theme'\n\nimport type {Props} from '../../types'\nimport {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'\n\n/** @beta */\nexport const DEFAULT_HEADING_SKELETON_ELEMENT = 'div'\n\n/** @beta */\nexport type HeadingSkeletonOwnProps = SkeletonOwnProps & {\n size?: ResponsiveProp<FontHeadingSize>\n}\n\n/** @beta */\nexport type HeadingSkeletonElementType = SkeletonElementType\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type HeadingSkeletonProps<\n E extends HeadingSkeletonElementType = HeadingSkeletonElementType,\n> = Props<HeadingSkeletonOwnProps, E>\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function HeadingSkeleton<\n E extends HeadingSkeletonElementType = typeof DEFAULT_HEADING_SKELETON_ELEMENT,\n>(props: HeadingSkeletonProps<E>): React.JSX.Element {\n const {\n className,\n size = 2,\n ...rest\n } = props as HeadingSkeletonProps<typeof DEFAULT_HEADING_SKELETON_ELEMENT>\n\n return (\n <Skeleton\n {...rest}\n className={headingSkeleton({\n className,\n size,\n })}\n />\n )\n}\n","import {labelSkeleton, type ResponsiveProp} from '@sanity/ui/css'\nimport type {FontLabelSize} from '@sanity/ui/theme'\n\nimport type {Props} from '../../types'\nimport {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'\n\n/** @beta */\nexport const DEFAULT_LABEL_SKELETON_ELEMENT = 'div'\n\n/** @beta */\nexport type LabelSkeletonOwnProps = SkeletonOwnProps & {\n size?: ResponsiveProp<FontLabelSize>\n}\n\n/** @beta */\nexport type LabelSkeletonElementType = SkeletonElementType\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type LabelSkeletonProps<E extends LabelSkeletonElementType = LabelSkeletonElementType> =\n Props<LabelSkeletonOwnProps, E>\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function LabelSkeleton<\n E extends LabelSkeletonElementType = typeof DEFAULT_LABEL_SKELETON_ELEMENT,\n>(props: LabelSkeletonProps<E>): React.JSX.Element {\n const {\n className,\n size = 2,\n ...rest\n } = props as LabelSkeletonProps<typeof DEFAULT_LABEL_SKELETON_ELEMENT>\n\n return (\n <Skeleton\n {...rest}\n className={labelSkeleton({\n className,\n size,\n })}\n />\n )\n}\n","import {type ResponsiveProp, textSkeleton} from '@sanity/ui/css'\nimport type {FontTextSize} from '@sanity/ui/theme'\n\nimport type {Props} from '../../types'\nimport {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'\n\n/** @beta */\nexport const DEFAULT_TEXT_SKELETON_ELEMENT = 'div'\n\n/** @beta */\nexport type TextSkeletonOwnProps = SkeletonOwnProps & {\n size?: ResponsiveProp<FontTextSize>\n}\n\n/** @beta */\nexport type TextSkeletonElementType = SkeletonElementType\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type TextSkeletonProps<E extends TextSkeletonElementType = TextSkeletonElementType> = Props<\n TextSkeletonOwnProps,\n E\n>\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function TextSkeleton<\n E extends TextSkeletonElementType = typeof DEFAULT_TEXT_SKELETON_ELEMENT,\n>(props: TextSkeletonProps<E>): React.JSX.Element {\n const {\n className,\n size = 2,\n ...rest\n } = props as TextSkeletonProps<typeof DEFAULT_TEXT_SKELETON_ELEMENT>\n\n return (\n <Skeleton\n {...rest}\n className={textSkeleton({\n className,\n size,\n })}\n />\n )\n}\n","import {srOnly} from '@sanity/ui/css'\n\nimport type {ComponentType, Props} from '../../types'\n\n/** @public */\nexport const DEFAULT_SR_ONLY_ELEMENT = 'span'\n\n/** @public */\nexport type SrOnlyOwnProps = {} // eslint-disable-line @typescript-eslint/no-empty-object-type\n\n/** @public */\nexport type SrOnlyElementType = 'span' | ComponentType\n\n/** @public */\nexport type SrOnlyProps<E extends SrOnlyElementType = SrOnlyElementType> = Props<SrOnlyOwnProps, E>\n\n/** @public */\nexport function SrOnly<E extends SrOnlyElementType = typeof DEFAULT_SR_ONLY_ELEMENT>(\n props: SrOnlyProps<E>,\n): React.JSX.Element {\n const {\n as: Element = DEFAULT_SR_ONLY_ELEMENT,\n children,\n className,\n ...rest\n } = props as SrOnlyProps<typeof DEFAULT_SR_ONLY_ELEMENT>\n\n return (\n <Element data-ui=\"SrOnly\" {...rest} aria-hidden className={srOnly({className})}>\n {children}\n </Element>\n )\n}\n","import {\n _switch,\n _switchElement,\n _switchPresentation,\n _switchThumb,\n _switchTrack,\n} from '@sanity/ui/css'\nimport {useEffect, useImperativeHandle, useRef} from 'react'\n\nimport type {ComponentType, Props} from '../../types'\nimport {Box} from '../box/box'\n\n/** @public */\nexport const DEFAULT_SWITCH_ELEMENT = 'input'\n\n/** @public */\nexport type SwitchOwnProps = {\n indeterminate?: boolean\n}\n\n/** @public */\nexport type SwitchElementType = 'input' | ComponentType\n\n/** @public */\nexport type SwitchProps<E extends SwitchElementType = SwitchElementType> = Props<SwitchOwnProps, E>\n\n/**\n * The `Switch` component allows the user to toggle a setting on and off.\n *\n * Extends all properties of an `<input type=\"checkbox\" />` element, except type.\n *\n * @public\n */\nexport function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEMENT>(\n props: SwitchProps<E>,\n): React.JSX.Element {\n const {\n as: Element = DEFAULT_SWITCH_ELEMENT,\n className,\n disabled,\n indeterminate,\n readOnly,\n ref: forwardedRef,\n style,\n ...rest\n } = props as SwitchProps<typeof DEFAULT_SWITCH_ELEMENT>\n\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n return (\n <Box\n className={_switch({className})}\n data-ui=\"Switch\"\n display=\"block\"\n position=\"relative\"\n style={style}\n >\n <Element\n {...rest}\n className={_switchElement()}\n data-read-only={!disabled && readOnly ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <span aria-hidden className={_switchPresentation()}>\n <span className={_switchTrack()} />\n <span className={_switchThumb()} />\n </span>\n </Box>\n )\n}\n","import {_inputElement, _inputPresentation, textArea, type TextAreaStyleProps} from '@sanity/ui/css'\nimport {useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport type {ComponentType, Props} from '../../types'\n\n/** @public */\nexport const DEFAULT_TEXT_AREA_ELEMENT = 'textarea'\n\n/** @public */\nexport type TextAreaOwnProps = TextAreaStyleProps & {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n customValidity?: string\n}\n\n/** @public */\nexport type TextAreaElementType = 'textarea' | ComponentType\n\n/** @public */\nexport type TextAreaProps<E extends TextAreaElementType = TextAreaElementType> = Props<\n TextAreaOwnProps,\n E\n>\n\n/**\n * A multiline text input.\n *\n * @public\n */\nexport function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_AREA_ELEMENT>(\n props: TextAreaProps<E>,\n): React.JSX.Element {\n const {\n __unstable_disableFocusRing,\n as: Element = DEFAULT_TEXT_AREA_ELEMENT,\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n gap = 3,\n padding = 3,\n radius = 2,\n readOnly,\n ref: forwardedRef,\n ...rest\n } = props as TextAreaProps<typeof DEFAULT_TEXT_AREA_ELEMENT>\n\n const ref = useRef<HTMLTextAreaElement | null>(null)\n\n useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span\n className={textArea({\n border,\n fontSize,\n padding,\n radius,\n gap,\n })}\n data-invalid={customValidity ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"TextArea\"\n >\n <Element\n {...rest}\n className={_inputElement()}\n data-no-focus-ring={__unstable_disableFocusRing ? '' : undefined}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n />\n <span className={_inputPresentation()} />\n </span>\n )\n}\n","import {type ReactNode, useMemo} from 'react'\n\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport type {Delay} from '../../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport type {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n children?: ReactNode\n /**\n * Handles the delays to open or close a tooltip inside a group\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n *\n * @public\n */\n delay: Delay\n}\n\n/**\n * @public\n * Provides context for a group of tooltip elements that should share a delay\n * which temporarily becomes 1 ms after the first floating element of the group opens.\n */\nexport function TooltipDelayGroupProvider(\n props: TooltipDelayGroupProviderProps,\n): React.JSX.Element {\n const {children, delay} = props\n const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n const openDelay = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelay = typeof delay === 'number' ? delay : delay?.close || 0\n\n const value: TooltipDelayGroupContextValue = useMemo(\n () => ({\n setIsGroupActive: setIsGroupActive,\n openTooltipId: openTooltipId,\n setOpenTooltipId: setOpenTooltipId,\n // When the group is active, we want the next tooltip to open immediately.\n openDelay: isGroupActive ? 1 : openDelay,\n closeDelay: closeDelay,\n }),\n [closeDelay, isGroupActive, openDelay, openTooltipId, setIsGroupActive, setOpenTooltipId],\n )\n\n return (\n <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>\n )\n}\n","import {type ReactNode, useMemo} from 'react'\n\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport type {BoundaryElementContextValue} from './types'\n\n/** @public */\nexport interface BoundaryElementProviderProps {\n children: ReactNode\n element: HTMLElement | null\n}\n\n/** @public */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.JSX.Element {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {BREAKPOINTS} from '@sanity/ui/css'\nimport {useImperativeHandle, useMemo, useState} from 'react'\n\nimport {useElementSize} from '../../hooks/useElementSize'\nimport type {ComponentType, Props} from '../../types'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/** @beta */\nexport const DEFAULT_ELEMENT_QUERY_ELEMENT = 'div'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type ElementQueryOwnProps = {\n media?: number[]\n}\n\n/** @beta */\nexport type ElementQueryElementType = 'div' | ComponentType\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport type ElementQueryProps<E extends ElementQueryElementType = ElementQueryElementType> = Props<\n ElementQueryOwnProps,\n E\n>\n\nconst DEFAULT_BREAKPOINTS = Object.values(BREAKPOINTS)\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function ElementQuery<\n E extends ElementQueryElementType = typeof DEFAULT_ELEMENT_QUERY_ELEMENT,\n>(props: ElementQueryProps<E>): React.JSX.Element {\n const {\n as: Element = DEFAULT_ELEMENT_QUERY_ELEMENT,\n children,\n media: mediaProp,\n ref: forwardedRef,\n ...rest\n } = props as ElementQueryProps<typeof DEFAULT_ELEMENT_QUERY_ELEMENT>\n\n const breakpoints = mediaProp ?? DEFAULT_BREAKPOINTS\n\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => {\n const eq = findMaxBreakpoints(breakpoints, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [breakpoints, width])\n\n const min = useMemo(() => {\n const eq = findMinBreakpoints(breakpoints, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [breakpoints, width])\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => element, [\n element,\n ])\n\n return (\n <Element data-ui=\"ElementQuery\" {...rest} data-eq-max={max} data-eq-min={min} ref={setElement}>\n {children}\n </Element>\n )\n}\n","import {Component, type ErrorInfo, type PropsWithChildren, type ReactNode} from 'react'\n\nimport {Code} from '../primitives/code/code'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n override state: ErrorBoundaryState = {error: null}\n\n static displayName = 'ErrorBoundary'\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n override componentDidCatch(error: Error, info: ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n override render(): ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n return <Code>{message}</Code>\n }\n\n return this.props.children\n }\n}\n","import type {CardTone, ColorScheme} from '@sanity/ui/theme'\nimport type {ReactNode} from 'react'\n\nimport {ToastProvider} from './components/toast/toastProvider'\nimport {CardProvider} from './primitives/card/cardProvider'\nimport {LayerProvider} from './primitives/layer/layerProvider'\nimport {BoundaryElementProvider} from './utils/boundaryElement/boundaryElementProvider'\nimport {PortalProvider} from './utils/portal/portalProvider'\n\n/** @public */\nexport interface RootProviderProps {\n boundaryElement?: HTMLElement | null\n children?: ReactNode\n portalElement?: HTMLElement | null\n scheme?: ColorScheme\n tone?: CardTone\n}\n\n/** @public */\nexport function RootProvider(props: RootProviderProps): React.JSX.Element {\n const {\n boundaryElement = null,\n children,\n portalElement = null,\n scheme = 'light',\n tone = 'transparent',\n } = props\n\n return (\n <LayerProvider>\n <CardProvider scheme={scheme} tone={tone}>\n <ToastProvider>\n <BoundaryElementProvider element={boundaryElement}>\n <PortalProvider element={portalElement}>{children}</PortalProvider>\n </BoundaryElementProvider>\n </ToastProvider>\n </CardProvider>\n </LayerProvider>\n )\n}\n","import {box, root, type RootStyleProps} from '@sanity/ui/css'\nimport {useCallback, useImperativeHandle, useRef, useState} from 'react'\n\nimport {Box, type BoxOwnProps} from './primitives/box/box'\nimport {RootProvider} from './RootProvider'\nimport type {Props} from './types'\n\n/** @public */\nexport const DEFAULT_ROOT_ELEMENT = 'html'\n\n/** @public */\nexport interface RootOwnProps extends BoxOwnProps, RootStyleProps {}\n\n/** @public */\nexport type RootElementType = 'html' | 'body' | 'div'\n\n/** @public */\nexport type RootProps<E extends RootElementType = RootElementType> = Props<RootOwnProps, E>\n\n/**\n * The `Root` component.\n *\n * @public\n */\nexport function Root<E extends RootElementType = typeof DEFAULT_ROOT_ELEMENT>(\n props: RootProps<E>,\n): React.JSX.Element {\n const {\n as: as = DEFAULT_ROOT_ELEMENT,\n children,\n className,\n height,\n overflow = 'hidden',\n ref: forwardedRef,\n scheme = 'light',\n tone = 'default',\n ...rest\n } = props as RootProps<typeof DEFAULT_ROOT_ELEMENT>\n\n const ref = useRef<HTMLHtmlElement | null>(null)\n\n useImperativeHandle<HTMLHtmlElement | null, HTMLHtmlElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n const [portalElement, setPortalElement] = useState<HTMLElement | null>(null)\n const [boundaryElement, setBoundaryElement] = useState<HTMLElement | null>(null)\n\n const handleRef = useCallback((el: HTMLHtmlElement | null) => {\n setBoundaryElement(el)\n ref.current = el\n }, [])\n\n let node = (\n <RootProvider\n boundaryElement={boundaryElement}\n portalElement={portalElement}\n scheme={scheme}\n tone={tone}\n >\n {children}\n <div data-portal=\"\" ref={setPortalElement} />\n </RootProvider>\n )\n\n if (as === 'html') {\n node = <body className={box({height, margin: 0})}>{node}</body>\n }\n\n return (\n <Box\n as={as}\n data-ui=\"Root\"\n {...rest}\n className={root({\n className,\n height,\n scheme,\n tone,\n })}\n overflow={overflow}\n ref={handleRef}\n >\n {node}\n </Box>\n )\n}\n"],"names":["_raf","fn","frameId","requestAnimationFrame","cancelAnimationFrame","_raf2","innerDispose","outerDispose","_hasFocus","element","Boolean","document","activeElement","contains","isFocusable","tabIndex","getAttribute","isHTMLAnchorElement","href","rel","isHTMLInputElement","type","disabled","isHTMLButtonElement","isHTMLSelectElement","isHTMLTextAreaElement","attemptFocus","focus","focusFirstDescendant","i","childNodes","length","child","isHTMLElement","focusLastDescendant","AutocompleteOption","props","$","_c","children","id","onSelect","selected","value","t0","setTimeout","handleClick","t1","event","key","_isEnterToClickElement","currentTarget","handleKeyDown","t2","autocompleteReducer","state","msg","activeValue","focused","query","listFocused","AUTOCOMPLETE_LISTBOX_IGNORE_KEYS","AUTOCOMPLETE_POPOVER_PLACEMENT","AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS","DEFAULT_AUTOCOMPLETE_ELEMENT","DEFAULT_RENDER_VALUE","option","DEFAULT_FILTER_OPTION","toLowerCase","indexOf","Autocomplete","as","border","customValidity","filterOption","filterOptionProp","fontSize","icon","listBox","EMPTY_RECORD","loading","onBlur","onChange","onFocus","onQueryChange","openButton","openOnFocus","options","optionsProp","padding","paddingProp","popover","prefix","radius","readOnly","ref","forwardedRef","relatedElements","renderOption","renderOptionProp","renderPopover","renderValue","suffix","valueProp","rest","dispatch","useReducer","defaultRenderOption","useCallback","rootElementRef","useRef","resultsPopoverElementRef","inputElementRef","listBoxElementRef","listFocusedRef","valueRef","valuePropRef","popoverMouseWithinRef","current","listBoxId","Array","isArray","EMPTY_ARRAY","useResponsiveProp","currentOption","useMemo","find","o","undefined","filteredOptions","filter","filteredOptionsLen","activeItemId","expanded","handleRootBlur","elements","concat","focusInside","e","handleRootFocus","listBoxElement","focusedElement","target","HTMLElement","handleOptionSelect","v","handleRootKeyDown","preventDefault","activeOption","activeIndex","nextActiveOption","listEl","includes","handleInputChange","nextQuery","dispatchOpen","handleInputFocus","handlePopoverMouseEnter","handlePopoverMouseLeave","handleClearButtonClick","handleClearButtonFocus","useEffect","listElement","activeItemElement","clearButton","openButtonBoxPadding","Object","fromEntries","entries","map","openButtonPadding","values","Math","max","openButtonProps","handleOpenClick","onClick","openButtonNode","ChevronDownIcon","inputValue","input","AnimatedSpinnerIcon","handleListBoxKeyDown","content","active","cloneElement","results","hidden","inputElement","onMouseEnter","onMouseLeave","DEFAULT_BREADCRUMBS_ELEMENT","Breadcrumbs","className","expandButton","expandButtonProps","gap","gapX","gapY","maxLength","separator","open","setOpen","useState","expandElementRef","popoverElementRef","collapse","expand","useClickOutsideEvent","rawItems","Children","toArray","isValidElement","items","len","beforeLength","ceil","afterLength","floor","slice","breadcrumbs","item","itemIndex","DEFAULT_CONTAINER_ELEMENT","Container","width","t3","container","t4","isTargetWithinScope","boundaryElement","portalElement","containsOrEqualsElement","DEFAULT_DIALOG_CARD_ELEMENT","DialogCard","autoFocus","footer","forwardedContentRef","header","hideCloseButton","onClickOutside","onClose","portalProp","__unstable_autoFocus","__unstable_hideCloseButton","contentRef","portal","usePortal","useBoundaryElement","layer","useLayer","isTopLayer","labelId","showCloseButton","showHeader","scrollTop","setScrollTop","scrollHeight","setScrollHeight","scrollBottom","Symbol","for","useImperativeHandle","t5","t6","stopPropagation","useGlobalKeyDown","t7","event_0","target_0","t8","t10","t9","el","handleScroll","offsetHeight","addEventListener","passive","removeEventListener","t11","dialogCard","t12","dialogHeader","CloseIcon","t13","dialogContent","t14","dialogScrollerShadowTop","opacity","min","t15","dialogScroller","t16","t17","dialogScrollerShadowBottom","t18","t19","dialogFooter","t20","DialogContext","createGlobalScopedContext","version","useDialog","useContext","DEFAULT_DIALOG_ELEMENT","Dialog","context","_positionProp","_zOffsetProp","onActivate","scheme","tone","animate","cardRadius","position","shadow","zOffset","_animate","cardRadiusProp","cardShadow","positionProp","zOffsetProp","Z_OFFSETS","dialog","usePrefersReducedMotion","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","handleFocus","rootClickTimeoutRef","clearTimeout","body","cardElement_0","handleRootClick","dialogContainer","DialogProvider","contextValue","MenuButton","__unstable_disableRestoreFocusOnClose","button","buttonProp","menu","menuProp","onOpen","disableRestoreFocusOnClose","shouldFocus","setShouldFocus","buttonElement","setButtonElement","menuElements","setChildMenuElements","openRef","_temp","handleButtonClick","handleMouseDown","handleButtonKeyDown","event_1","Node","handleMenuClickOutside","handleMenuEscape","event_2","relatedTarget","el_0","handleBlur","handleItemClick","el_1","els","els_0","_el","registerElement","bb0","t21","t22","overflow","popoverProps","t23","t24","DEFAULT_TAB_PANEL_ELEMENT","TabPanel","DEFAULT_TOAST_ELEMENT","LONG_ENOUGH_BUT_NOT_TOO_LONG","ROLES","error","warning","success","info","STATUS_CARD_TONE","BUTTON_TONE","Toast","closable","description","duration","status","title","cardTone","buttonTone","role","visualDuration","bounce","transition","hasDuration","isFinite","initial","exit","toast","verticalAlign","y","scale","zIndex","visible","when","staggerChildren","slideIn","slideOut","willChange","MotionCard","motion","create","Card","MotionFlex","Flex","MotionText","Text","useMounted","useSyncExternalStore","subscribe","_temp2","ToastContext","DEFAULT_TOAST_LAYER_ELEMENT","ToastLayer","paddingX","paddingY","toastLayer","toastId","generateToastId","String","ToastProvider","setState","mounted","push","params","startTransition","prevState","dismiss","timeoutId","currentState","toast_0","toast_1","dismiss_0","id_0","params_0","useToast","Error","isRecord","_findPrevItemElement","itemElements","idx","itemKey","segments","split","pop","p","j","k","join","_findNextItemElement","_focusItemElement","firstChild","TreeContext","DEFAULT_TREE_ELEMENT","Tree","setFocusedElement","path","setItemElements","stateRef","path_0","s","s_0","newState","registerItem","path_1","expanded_0","s_1","itemState","setExpanded","level","nextEl","prevEl","itemState_0","s_2","itemState_1","itemPath","parentKey","parentState","focusedKey","s_3","itemState_2","_itemElements","from","querySelectorAll","useTree","tree","TreeGroup","DEFAULT_TREE_ITEM_ELEMENT","TreeItem","expandedProp","IconComponent","idProp","linkAs","muted","space","text","weight","rootRef","treeitemRef","_id","useId","closest","click","visibility","pointerEvents","transform","treeItem","paddingLeft","vars","_isScrollable","Element","style","window","getComputedStyle","overflowX","overflowY","_ResizeObserver","ResizeObserver","ResizeObserverPolyfill","DEFAULT_VIRTUAL_LIST_ELEMENT","VirtualList","getItemKey","renderItem","wrapperRef","itemHeight","setItemHeight","gapValue","setGapValue","scrollEl","findScrollable","parentNode","ro","contentRect","height","observe","unobserve","disconnect","handleScroll_0","scrollY","handleResize","innerHeight","fromIndex","toIndex","_itemIndex","node","top","wrapperStyle","_scrollEl","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscriber","resizeObserver","entry","_contentRect","borderBoxSize","inlineSize","blockSize","disposeCache","WeakMap","subscribersCache","subscribers","get","dispose","has","set","elementRect","sub","splice","useElementSize","size","setSize","DEFAULT_LABEL_ELEMENT","Label","align","textOverflowProp","textOverflow","label","DEFAULT_AVATAR_ELEMENT","Avatar","__unstable_hideInnerStroke","animateArrowFrom","arrowPositionProp","initials","onImageLoadError","src","color","arrowPosition","sizeProp","setArrowPosition","imageError","setImageError","raf","handleImageError","initialsSize","avatar","avatarArrow","avatarInitials","avatarImage","avatarImageOutline","DEFAULT_AVATAR_COUNTER_ELEMENT","AvatarCounter","count","labelSize","avatarCounter","DEFAULT_AVATAR_STACK_ELEMENT","AvatarStack","childrenProp","maxLengthProp","visibleCount","extraCount","visibleChildren","T0","Box","avatarStack","childIndex","DEFAULT_BADGE_ELEMENT","Badge","flex","badge","DEFAULT_CHECKBOX_ELEMENT","Checkbox","indeterminate","useCustomValidity","checkbox","checkboxInput","checkboxPresentation","LazyRefractor","lazy","DEFAULT_CODE_ELEMENT","Code","languageProp","language","code","DEFAULT_HEADING_ELEMENT","Heading","heading","DEFAULT_INLINE_ELEMENT","Inline","DEFAULT_RADIO_ELEMENT","Radio","radio","radioInput","radioPresentation","DEFAULT_SELECT_ELEMENT","Select","select","_inputElement","selectPresentation","DEFAULT_SKELETON_ELEMENT","Skeleton","delay","animated","As","setVisible","timeout","skeleton","DEFAULT_CODE_SKELETON_ELEMENT","CodeSkeleton","codeSkeleton","DEFAULT_HEADING_SKELETON_ELEMENT","HeadingSkeleton","headingSkeleton","DEFAULT_LABEL_SKELETON_ELEMENT","LabelSkeleton","labelSkeleton","DEFAULT_TEXT_SKELETON_ELEMENT","TextSkeleton","textSkeleton","DEFAULT_SR_ONLY_ELEMENT","SrOnly","srOnly","DEFAULT_SWITCH_ELEMENT","Switch","_switch","_switchElement","_switchPresentation","_switchTrack","_switchThumb","DEFAULT_TEXT_AREA_ELEMENT","TextArea","__unstable_disableFocusRing","textArea","_inputPresentation","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","useDelayedState","openTooltipId","setOpenTooltipId","openDelay","closeDelay","close","BoundaryElementProvider","findMaxBreakpoints","media","ret","findMinBreakpoints","DEFAULT_ELEMENT_QUERY_ELEMENT","DEFAULT_BREAKPOINTS","BREAKPOINTS","ElementQuery","mediaProp","breakpoints","setElement","elementSize","innerWidth","eq","eq_0","ErrorBoundary","Component","displayName","getDerivedStateFromError","componentDidCatch","onCatch","render","message","RootProvider","DEFAULT_ROOT_ELEMENT","Root","setPortalElement","setBoundaryElement","handleRef","box","margin","root"],"mappings":";;;;;;;;;AAGO,SAASA,KAAKC,IAA4B;AACzCC,QAAAA,UAAUC,sBAAsBF,EAAE;AAExC,SAAO,MAAM;AACXG,yBAAqBF,OAAO;AAAA,EAC9B;AACF;AAKO,SAASG,MAAMJ,IAA4B;AAChD,MAAIK,eAAoC;AAElCC,QAAAA,eAAeP,KAAK,MAAM;AAC9BM,mBAAeN,KAAKC,EAAE;AAAA,EAAA,CACvB;AAED,SAAO,MAAM;AACPK,oBAAcA,aAAa,GAE/BC,aAAa;AAAA,EACf;AACF;ACdO,SAASC,UAAUC,SAA+B;AACvD,SAAOC,EAAQC,SAASC,iBAAkBH,QAAQI,SAASF,SAASC,aAAa;AACnF;AAKO,SAASE,YAAYL,SAA+B;AAEvDA,SAAAA,QAAQM,WAAW,KAClBN,QAAQM,aAAa,KAAKN,QAAQO,aAAa,UAAU,MAAM,OAEzD,KAGLC,oBAAoBR,OAAO,IACtBC,CAAAA,CAAQD,QAAQS,QAAST,QAAQU,QAAQ,WAG9CC,mBAAmBX,OAAO,IACrBA,QAAQY,SAAS,YAAYZ,QAAQY,SAAS,UAAU,CAACZ,QAAQa,WAIxEC,oBAAoBd,OAAO,KAC3Be,oBAAoBf,OAAO,KAC3BgB,sBAAsBhB,OAAO,IAEtB,CAACA,QAAQa,WAGX;AACT;AAKO,SAASI,aAAajB,SAA+B;AACtD,MAAA,CAACK,YAAYL,OAAO;AACf,WAAA;AAGL,MAAA;AACFA,YAAQkB,MAAM;AAAA,EAAA,QACR;AAAA,EAAA;AAIR,SAAOhB,SAASC,kBAAkBH;AACpC;AAKO,SAASmB,qBAAqBnB,SAA+B;AAClE,WAASoB,IAAI,GAAGA,IAAIpB,QAAQqB,WAAWC,QAAQF,KAAK;AAC5CG,UAAAA,QAAQvB,QAAQqB,WAAWD,CAAC;AAElC,QAAII,cAAcD,KAAK,MAAMN,aAAaM,KAAK,KAAKJ,qBAAqBI,KAAK;AACrE,aAAA;AAAA,EAAA;AAIJ,SAAA;AACT;AAKO,SAASE,oBAAoBzB,SAA+B;AACjE,WAASoB,IAAIpB,QAAQqB,WAAWC,SAAS,GAAGF,KAAK,GAAGA,KAAK;AACjDG,UAAAA,QAAQvB,QAAQqB,WAAWD,CAAC;AAElC,QAAII,cAAcD,KAAK,MAAMN,aAAaM,KAAK,KAAKE,oBAAoBF,KAAK;AACpE,aAAA;AAAA,EAAA;AAIJ,SAAA;AACT;AC/EO,SAAAG,mBAAAC,OAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA,GACL;AAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAAkDP;AAAKQ,MAAAA;AAAAP,IAAAI,CAAAA,MAAAA,YAAAJ,SAAAM,SAEvBC,KAAAA,MAAA;AAG9BC,eAAA,MAAA;AACEJ,eAASE,KAAK;AAAA,OAAC,CACb;AAAA,EACLN,GAAAA,OAAAI,UAAAJ,OAAAM,OAAAN,OAAAO,MAAAA,KAAAP,EAAA,CAAA;AAND,QAAAS,cAAoBF;AAMCG,MAAAA;AAAAV,WAAAS,eAGnBC,KAAAC,CAAA,UAAA;AACMA,UAAKC,QAAS,WAAYC,CAAAA,uBAAuBF,MAAKG,aAAc,KACtEL,YAAY;AAAA,EAAC,GAEhBT,OAAAS,aAAAT,OAAAU,MAAAA,KAAAV,EAAA,CAAA;AALH,QAAAe,gBAAsBL;AAOrBM,MAAAA;AAAA,SAAAhB,EAAAE,CAAAA,MAAAA,YAAAF,EAAA,CAAA,MAAAS,eAAAT,EAAAe,CAAAA,MAAAA,iBAAAf,EAAA,CAAA,MAAAG,MAAAH,SAAAK,YAGCW,KASK,oBAAA,MARYX,EAAAA,2BACP,WAAA,sBACJF,IACC,MAAA,UACIM,sBACEM,0BAEH,SACV,CAAA,GAAKf,OAAAE,UAAAF,OAAAS,aAAAT,OAAAe,eAAAf,OAAAG,IAAAH,OAAAK,UAAAL,QAAAgB,MAAAA,KAAAhB,EAAA,EAAA,GATLgB;AASK;ACrCOC,SAAAA,oBACdC,OACAC,KACmB;AACfA,SAAAA,IAAInC,SAAS,iBACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOE,aAAa;AAAA,IAAMC,SAAS;AAAA,IAAMC,OAAOH,IAAIG;AAAAA,EAAAA,IAG7DH,IAAInC,SAAS,gBACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOG,SAAS;AAAA,EAAA,IAGzBF,IAAInC,SAAS,cACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOG,SAAS;AAAA,IAAOC,OAAO;AAAA,EAAA,IAGvCH,IAAInC,SAAS,eACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOE,aAAa;AAAA,IAAME,OAAO;AAAA,IAAMhB,OAAO;AAAA,EAAA,IAGvDa,IAAInC,SAAS,gBACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOG,SAAS;AAAA,IAAOC,OAAO;AAAA,EAAA,IAGvCH,IAAInC,SAAS,cACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOI,OAAOJ,MAAMI,SAASH,IAAIG;AAAAA,EAAAA,IAG1CH,IAAInC,SAAS,wBACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOE,aAAaD,IAAIb;AAAAA,IAAOiB,aAAaJ,IAAII,eAAeL,MAAMK;AAAAA,EAAAA,IAG9EJ,IAAInC,SAAS,wBACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOK,aAAaJ,IAAII;AAAAA,EAAAA,IAGjCJ,IAAInC,SAAS,iBACR;AAAA,IAAC,GAAGkC;AAAAA,IAAOE,aAAaD,IAAIb;AAAAA,IAAOgB,OAAO;AAAA,IAAMhB,OAAOa,IAAIb;AAAAA,EAAAA,IAG7DY;AACT;ACzCO,MAAMM,mCAA6C,CACxD,WACA,SACA,OACA,SACA,QACA,OACA,UACA,YACA,QACA,OACA,UAAU,GAMCC,iCAA4C,gBAK5CC,2CAAwD,CAAC,gBAAgB,WAAW,GCgBpFC,+BAA+B,SAsDtCC,uBAAuBA,CAACtB,OAAeuB,WAC3CA,SAASA,OAAOvB,QAAQA,OAEpBwB,wBAAwBA,CAACR,OAAeO,WAC5CA,OAAOvB,MAAMyB,YAAY,EAAEC,QAAQV,MAAMS,YAAa,CAAA,IAAI;AAQrD,SAASE,aAGdlC,OAAmD;AAC7C,QAAA;AAAA,IACJmC,KAAKP;AAAAA,IACLQ,SAAS;AAAA,IACTC;AAAAA,IACAnD;AAAAA,IACAoD,cAAcC;AAAAA,IACdC,WAAW;AAAA,IACXC;AAAAA,IACArC;AAAAA,IACAsC,UAAUC;AAAAA,IACVC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA3C;AAAAA,IACA4C;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,SAASC,cAAc;AAAA,IACvBC,UAAUZ;AAAAA,IACVa;AAAAA,IACAC,SAAS;AAAA,IACTC;AAAAA,IACAC,KAAKC;AAAAA,IACLC;AAAAA,IACAC,cAAcC;AAAAA,IACdC;AAAAA,IACAC,cAAcpC;AAAAA,IACdqC;AAAAA,IACA3D,OAAO4D;AAAAA,IACP,GAAGC;AAAAA,EAAAA,IACDpE,OAEE,CAACmB,OAAOkD,QAAQ,IAAIC,WAAWpD,qBAAqB;AAAA,IACxDG,aAAa8C,aAAa;AAAA,IAC1B7C,SAAS;AAAA,IACTE,aAAa;AAAA,IACbD,OAAO;AAAA,IACPhB,OAAO4D,aAAa;AAAA,EAAA,CACrB,GAEK;AAAA,IAAC9C;AAAAA,IAAaC;AAAAA,IAASE;AAAAA,IAAaD;AAAAA,IAAOhB;AAAAA,EAAAA,IAASY,OAEpDoD,sBAAsBC,YAC1B,CAAC;AAAA,IAACjE,OAAAA;AAAAA,EAAAA,MACA,oBAAC,YAAW,EAAA,IAAG,UAAS,SAAS+C,aAAa,QAAQ,GACpD,UAAA,oBAAC,MAAK,EAAA,MAAMd,UAAU,cAAa,YAChCjC,UACH,QAAA,CAAA,EACF,CAAA,GAEF,CAACiC,UAAUc,WAAW,CACxB,GAEMQ,eACJ,OAAOC,oBAAqB,aAAaA,mBAAmBQ,qBAExDjC,eACJ,OAAOC,oBAAqB,aAAaA,mBAAmBR,uBAGxD0C,iBAAiBC,OAA8B,IAAI,GACnDC,2BAA2BD,OAA8B,IAAI,GAC7DE,kBAAkBF,OAAgC,IAAI,GACtDG,oBAAoBH,OAAgC,IAAI,GAGxDI,iBAAiBJ,OAAO,EAAK,GAC7BK,WAAWL,OAAOnE,KAAK,GACvByE,eAAeN,OAAOP,SAAS,GAC/Bc,wBAAwBP,OAAO,EAAK;AAIxCd,sBAAAA,cACA,MAAMgB,gBAAgBM,OACxB;AAEA,QAAMC,YAAY,GAAG/E,EAAE,YACjB+C,UAAUiC,MAAMC,QAAQjC,WAAW,IAAIA,cAAckC,aACrDjC,UAAUkC,kBAAkBjC,WAAW,GACvCkC,gBAAgBC,QACpB,MAAOlF,UAAU,OAAO4C,QAAQuC,KAAMC,CAAAA,MAAMA,EAAEpF,UAAUA,KAAK,IAAIqF,QACjE,CAACzC,SAAS5C,KAAK,CACjB,GACMsF,kBAAkBJ,QACtB,MAAMtC,QAAQ2C,OAAQhE,CAAYP,WAAAA,QAAQe,aAAaf,OAAOO,MAAM,IAAI,EAAK,GAC7E,CAACQ,cAAca,SAAS5B,KAAK,CAC/B,GACMwE,qBAAqBF,gBAAgBlG,QACrCqG,eAAe3E,cAAc,GAAGjB,EAAE,WAAWiB,WAAW,KAAKuE,QAC7DK,WAAY1E,UAAU,QAAQqB,WAAatB,WAAWC,UAAU,MAEhE2E,iBAAiB1B,YACpB5D,CAAwC,UAAA;AACvCH,eAAW,MAAM;AAIf,UAAIwE,sBAAsBC;AACxB;AAGIiB,YAAAA,YAA2BtC,mBAAmB,CAAA,GAAIuC,OACtD3B,eAAeS,UAAU,CAACT,eAAeS,OAAO,IAAI,CAAA,GACpDP,yBAAyBO,UAAU,CAACP,yBAAyBO,OAAO,IAAI,EAC1E;AAEA,UAAImB,cAAc;AAElB,UAAI9H,SAASC;AACX,mBAAW8H,KAAKH;AACd,cAAIG,MAAM/H,SAASC,iBAAiB8H,EAAE7H,SAASF,SAASC,aAAa,GAAG;AACxD,0BAAA;AACd;AAAA,UAAA;AAAA;AAKF6H,sBAAgB,OAClBhC,SAAS;AAAA,QAACpF,MAAM;AAAA,MAAY,CAAA,GAC5BgG,sBAAsBC,UAAU,IAC5BlC,iBAAeA,cAAc,IAAI,GACjCH,UAAQA,OAAOjC,KAAK;AAAA,OAEzB,CAAC;AAAA,EAAA,GAEN,CAACiC,QAAQG,eAAea,eAAe,CACzC,GAEM0C,kBAAkB/B,YAAa5D,CAAsC,YAAA;AACzE,UAAM4F,iBAAiB3B,kBAAkBK,SACnCuB,iBAAiB7F,QAAM8F,kBAAkBC,cAAc/F,QAAM8F,SAAS,MACtElF,gBAAcgF,gBAAgB/H,SAASgI,cAAc,KAAK;AAE5DjF,sBAAgBsD,eAAeI,YACjCJ,eAAeI,UAAU1D,eAEzB6C,SAAS;AAAA,MAACpF,MAAM;AAAA,MAAuBuC,aAAAA;AAAAA,IAAAA,CAAY;AAAA,KAEpD,CAAE,CAAA,GAECoF,qBAAqBpC,YACxBqC,CAAc,MAAA;AACJ,aAAA;AAAA,MAAC5H,MAAM;AAAA,MAAgBsB,OAAOsG;AAAAA,IAAAA,CAAE,GAEzC5B,sBAAsBC,UAAU,IAE5B7E,YAAUA,SAASwG,CAAC,GAExB9B,SAASG,UAAU2B,GAEf/D,YAAUA,SAAS+D,CAAC,GACpB7D,iBAAeA,cAAc,IAAI,GAErC4B,gBAAgBM,SAAS3F,MAAM;AAAA,EAAA,GAEjC,CAACuD,UAAUzC,UAAU2C,aAAa,CACpC,GAEM8D,oBAAoBtC,YACvB5D,CAAsC,YAAA;AACjCA,QAAAA,QAAMC,QAAQ,aAAa;AAG7B,UAFAD,QAAMmG,kBAEF,CAAChB,mBAAoB;AAEzB,YAAMiB,eAAenB,gBAAgBH,KAAMC,SAAMA,IAAEpF,UAAUc,WAAW,GAClE4F,cAAcD,eAAenB,gBAAgB5D,QAAQ+E,YAAY,IAAI,IACrEE,mBAAmBrB,iBAAiBoB,cAAc,KAAKlB,kBAAkB;AAE3EmB,0BACF7C,SAAS;AAAA,QAACpF,MAAM;AAAA,QAAuBsB,OAAO2G,iBAAiB3G;AAAAA,QAAOiB,aAAa;AAAA,MAAA,CAAK;AAG1F;AAAA,IAAA;AAGEZ,QAAAA,QAAMC,QAAQ,WAAW;AAG3B,UAFAD,QAAMmG,kBAEF,CAAChB,mBAAoB;AAEnBiB,YAAAA,iBAAenB,gBAAgBH,KAAMC,CAAMA,QAAAA,IAAEpF,UAAUc,WAAW,GAClE4F,gBAAcD,iBAAenB,gBAAgB5D,QAAQ+E,cAAY,IAAI,IACrEE,qBACJrB,gBACEoB,kBAAgB,KACZlB,qBAAqB,KACpBA,qBAAqBkB,gBAAc,KAAKlB,kBAAkB;AAG/DmB,4BACF7C,SAAS;AAAA,QAACpF,MAAM;AAAA,QAAuBsB,OAAO2G,mBAAiB3G;AAAAA,QAAOiB,aAAa;AAAA,MAAA,CAAK;AAG1F;AAAA,IAAA;AAGEZ,QAAAA,QAAMC,QAAQ,UAAU;AACjB,eAAA;AAAA,QAAC5B,MAAM;AAAA,MAAc,CAAA,GAC9BgG,sBAAsBC,UAAU,IAC5BlC,iBAAeA,cAAc,IAAI,GACrC4B,gBAAgBM,SAAS3F,MAAM;AAE/B;AAAA,IAAA;AAGF,UAAMmH,SAAS9F,QAAM8F,QACfS,SAAStC,kBAAkBK;AAG9BiC,SAAAA,WAAWT,UAAUS,QAAQ1I,SAASiI,MAAM,MAC7C,CAACjF,iCAAiC2F,SAASxG,QAAMC,GAAG,GACpD;AACA+D,sBAAgBM,SAAS3F,MAAM;AAE/B;AAAA,IAAA;AAAA,EACF,GAEF,CAAC8B,aAAawE,iBAAiBE,oBAAoB/C,aAAa,CAClE,GAEMqE,oBAAoB7C,YACvB5D,CAAyC,YAAA;AAClC0G,UAAAA,YAAY1G,QAAMG,cAAcR;AAE7B,aAAA;AAAA,MAACtB,MAAM;AAAA,MAAgBsC,OAAO+F;AAAAA,IAAAA,CAAU,GAE7CtE,iBAAeA,cAAcsE,SAAS;AAAA,KAE5C,CAACtE,aAAa,CAChB,GAEMuE,eAAe/C,YAAY,MAAM;AAC5B,aAAA;AAAA,MACPvF,MAAM;AAAA,MACNsC,OAAOhB,QAAQ0D,YAAY1D,OAAOiF,aAAa,IAAI;AAAA,IAAA,CACpD;AAAA,EAAA,GACA,CAACA,eAAevB,aAAa1D,KAAK,CAAC,GAEhCiH,mBAAmBhD,YACtB5D,CAAwC,YAAA;AAClCU,gBACH+C,SAAS;AAAA,MAACpF,MAAM;AAAA,IAAA,CAAc,GAE1B8D,WAASA,QAAQnC,OAAK,GACtBsC,eAAaqE;EAAa,GAGlC,CAACjG,SAASyB,SAASG,aAAaqE,YAAY,CAC9C,GAEME,0BAA0BjD,YAAY,MAAM;AAChDS,0BAAsBC,UAAU;AAAA,KAC/B,EAAE,GAECwC,0BAA0BlD,YAAY,MAAM;AAChDS,0BAAsBC,UAAU;AAAA,KAC/B,EAAE,GAECyC,yBAAyBnD,YAAY,MAAM;AACtC,aAAA;AAAA,MAACvF,MAAM;AAAA,IAAa,CAAA,GAC7B8F,SAASG,UAAU,IACfpC,YAAUA,SAAS,EAAE,GACrBE,iBAAeA,cAAc,IAAI,GACrC4B,gBAAgBM,SAAS3F,MAAM;AAAA,EAAA,GAC9B,CAACuD,UAAUE,aAAa,CAAC,GAEtB4E,yBAAyBpD,YAAY,MAAM;AACtC,aAAA;AAAA,MAACvF,MAAM;AAAA,IAAA,CAAc;AAAA,EAChC,GAAG,EAAE;AAGL4I,YAAU,MAAM;AAEV1D,QAAAA,cAAca,aAAaE,SAAS;AACtCF,mBAAaE,UAAUf,WAEnBA,cAAcyB,WAChBvB,SAAS;AAAA,QAACpF,MAAM;AAAA,QAAgBsB,OAAO4D;AAAAA,MAAAA,CAAU,GACjDY,SAASG,UAAUf;AAGrB;AAAA,IAAA;AAIEA,kBAAcY,SAASG,YACzBH,SAASG,UAAUf,aAAa,MAEhCE,SAAS;AAAA,MAACpF,MAAM;AAAA,MAAgBsB,OAAO4D,aAAa;AAAA,IAAA,CAAK;AAAA,KAE1D,CAACA,SAAS,CAAC,GAGd0D,UAAU,MAAM;AACV,KAACvG,WAAWyD,SAASG,WACvBb,SAAS;AAAA,MAACpF,MAAM;AAAA,MAAuBsB,OAAOwE,SAASG;AAAAA,IAAAA,CAAQ;AAAA,KAEhE,CAAC5D,OAAO,CAAC,GAGZuG,UAAU,MAAM;AACd,UAAMC,cAAcjD,kBAAkBK;AAEtC,QAAI,CAAC4C,YAAa;AAElB,UAAMd,iBAAenB,gBAAgBH,KAAMC,CAAMA,QAAAA,IAAEpF,UAAUc,WAAW;AAExE,QAAI2F,gBAAc;AACVC,YAAAA,gBAAcpB,gBAAgB5D,QAAQ+E,cAAY,GAClDe,oBAAoBD,YAAYpI,WAAWuH,aAAW;AAE5D,UAAIc,mBAAmB;AACrB,YAAI3J,UAAU2J,iBAAiB;AAE7B;AAGFvI,6BAAqBuI,iBAAiB;AAAA,MAAA;AAAA,IACxC;AAAA,EACF,GACC,CAAC1G,aAAawE,eAAe,CAAC;AAE3BmC,QAAAA,cAAcvC,QAAQ,MAAM;AAC5B,QAAA,CAAC7C,WAAW,CAAC1D,YAAYqB;AACpB,aAAA;AAAA,QACL,cAAc;AAAA,QACd,SAAWqH;AAAAA,MACb;AAAA,EAAA,GAID,CAAC1I,UAAU0I,wBAAwBhF,SAASrC,KAAK,CAAC,GAE/C0H,uBAAuBxC,QAAQ,MACpByC,OAAOC,YACpBD,OAAOE,QAAQ/E,OAAO,EAAEgF,IAAI,CAAC,CAACxH,KAAKN,OAAK,MAClCA,YAAU,IAAU,CAACM,KAAK,CAAC,IAC3BN,YAAU,IAAU,CAACM,KAAK,CAAC,IAC3BN,YAAU,IAAU,CAACM,KAAK,CAAC,IAExB,CAACA,KAAMN,UAAkB,CAAC,CAClC,CACH,GAGC,CAAC8C,OAAO,CAAC,GAENiF,oBAAoB7C,QACxB,MAAMyC,OAAOK,OAAOlF,OAAO,EAAEgF,IAAKxB,CAAM2B,QAAAA,KAAKC,IAAK5B,MAAc,GAAG,CAAC,CAAC,GACrE,CAACxD,OAAO,CACV,GAEMqF,kBAA+CjD,QACnD,MAAO,OAAOxC,cAAe,WAAWA,aAAaN,cACrD,CAACM,UAAU,CACb,GAEM0F,kBAAkBnE,YACrB5D,CAAyC,YAAA;AACxC2G,oBAEImB,gBAAgBE,WAASF,gBAAgBE,QAAQhI,OAAK,GAE1DhD,KAAK,MAAMgH,gBAAgBM,SAAS3F,MAAAA,CAAO;AAAA,EAE7C,GAAA,CAACmJ,iBAAiBnB,YAAY,CAChC,GAEMsB,iBAAiBpD,QACrB,MACE,CAACvG,YAAY,CAACwE,YAAYT,aACvB,oBAAA,KAAA,EAAI,eAAagD,UAAU,SAASgC,sBACnC,UAAC,oBAAA,QAAA,EACC,cAAW,QACX,UAAUhC,UACV,SAAQ,SACR,UACA,MAAM6C,iBACN,MAAK,SACL,SAASR,sBACLI,iBACJ,SAASC,gBAAgB,CAAA,EAE7B,CAAA,IACE/C,QACN,CACE1G,UACA+G,UACAzD,UACAmG,iBACA1F,YACAgF,sBACAK,mBACAI,iBACAhF,QAAQ,CAEZ,GAEMqF,aAAatD,QAAQ,MACrBlE,UAAU,OACRhB,UAAU,OACL0D,YAAY1D,OAAOiF,aAAa,IAGlC,KAGFjE,OACN,CAACiE,eAAejE,OAAO0C,aAAa1D,KAAK,CAAC,GAEvCyI,QACH,oBAAA,WAAA,EACC,GAAI5E,MACJ,yBAAuB4B,cACvB,qBAAkB,QAClB,iBAAeC,UACf,aAAWd,WACX,gBAAe,OACf,cAAa,OACb,aAAY,OACZ,IACA,QACA,aACA,gBACA,UACA,UACA,MACA,WAAWvC,WAAWqG,qBACtB,IACA,WAAU,UACV,UAAU5B,mBACV,SAASM,wBACT,SAASH,kBACT,SACA,QACA,QACA,UACA,KAAK5C,iBACL,MAAK,YACL,YAAY,IACZ,QAAQV,UAAU2E,gBAClB,OAAOE,WAAAA,CAEV,GAEKG,uBAAuB1E,YAC1B5D,CAAyC,YAAA;AAEpCA,YAAMC,QAAQ,SACZW,eAAaoD,gBAAgBM,SAAS3F,MAAM;AAAA,EAAA,GAGpD,CAACiC,WAAW,CACd,GAEM2H,WAAU1D,QAAQ,MAClBI,gBAAgBlG,WAAW,IAAU,2BAGtC,KACC,EAAA,WAAQ,yBACR,WAAWuJ,sBACX,SAAS,GACT,GAAIxG,SACJ,UAAU,IAEV,UAAC,oBAAA,OAAA,EACC,IAAG,MACH,wBAAsB,IACtB,WAAQ,6BACR,KAAK,GACL,IAAIyC,WACJ,KAAKN,mBACL,MAAK,WAEJgB,UAAAA,gBAAgBwC,IAAKvG,CAAW,aAAA;AAC/B,UAAMsH,SACJ/H,gBAAgB,OAAOS,SAAOvB,UAAUc,cAAcmE,kBAAkB1D;AAE1E,+BACG,oBACC,EAAA,IAAI,GAAG1B,EAAE,WAAW0B,SAAOvB,KAAK,IAEhC,UAAUqG,oBACV,UAAUwC,QACV,OAAOtH,SAAOvB,OAEb8I,UAAavF,aAAAA,aAAahC,QAAM,GAAG;AAAA,MAClC5C,UAAU0D;AAAAA,MACVtC,UAAU8I;AAAAA,MACVzK,UAAU6C,eAAe4H,SAAS,IAAI;AAAA,IAAA,CACvC,EATItH,GAAAA,SAAOvB,KAUd;AAAA,EAAA,CAEH,EACH,CAAA,EACF,CAAA,GAED,CACDc,aACAmE,eACAK,iBACAe,oBACAsC,sBACA9I,IACAsC,SACAyC,WACA3D,aACAoB,SACAkB,YAAY,CACb,GAEKwF,UAAU7D,QAAQ,MAClBzB,gBACKA,cACL;AAAA,IACEmF,SAAAA;AAAAA,IACAI,QAAQ,CAACtD;AAAAA,IACTuD,cAAc5E,gBAAgBM;AAAAA,IAC9BuE,cAAchC;AAAAA,IACdiC,cAAchC;AAAAA,EAAAA,GAEhB/C,wBACF,IAGEoB,uBAAuB,IAClB,OAIP,oBAAC,WACC,OAAO,IACP,eAAa,IACb,SAAAoD,UACA,oBAAoBxH,0CACpB,qBAAmB,IACnB,cAAc8F,yBACd,cAAcC,yBACd,MAAMzB,UACN,UAAS,QACT,WAAWvE,gCACX,QAAM,IACN,QAAQ,GACR,KAAKiD,0BACL,kBAAkBC,gBAAgBM,SAC9B3B,GAAAA,QACJ,CAAA,GAEH,CACD4F,UACAlD,UACAF,oBACA0B,yBACAC,yBACAnE,SACAS,aAAa,CACd;AAED;AAAA;AAAA,IAEE,qBAAC,OACC,EAAA,WAAQ,gBACR,QAAQkC,gBACR,SAASK,iBACT,WAAWO,mBACX,KAAKrC,gBAEJuE,UAAAA;AAAAA,MAAAA;AAAAA,MACAM;AAAAA,IAAAA,EACH,CAAA;AAAA;AAEJ;AC3pBO,MAAMK,8BAA8B;AAmBpC,SAASC,YACd5J,OACmB;AACb,QAAA;AAAA,IACJmC,KAAKwH;AAAAA,IACLxJ;AAAAA,IACA0J;AAAAA,IACAC,cAAcC;AAAAA,IACdC,MAAM;AAAA,IACNC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGhG;AAAAA,EACDpE,IAAAA,OAEE,CAACqK,MAAMC,OAAO,IAAIC,SAAS,EAAK,GAChCC,mBAAmB9F,OAAiC,IAAI,GACxD+F,oBAAoB/F,OAA8B,IAAI,GAEtDgG,WAAWlG,YAAY,MAAM8F,QAAQ,EAAK,GAAG,CAAE,CAAA,GAC/CK,SAASnG,YAAY,MAAM8F,QAAQ,EAAI,GAAG,CAAA,CAAE;AAElDM,uBAAqBF,UAAU,MAAM,CAACF,iBAAiBtF,SAASuF,kBAAkBvF,OAAO,CAAC;AAE1F,QAAM2F,WAAWpF,QAAQ,MAAMqF,SAASC,QAAQ5K,QAAQ,EAAE2F,OAAOkF,cAAc,GAAG,CAAC7K,QAAQ,CAAC,GAEtF8K,QAAQxF,QAAQ,MAAM;AAC1B,UAAMyF,MAAML,SAASlL;AAEjBwK,QAAAA,aAAae,MAAMf,WAAW;AAC1BgB,YAAAA,eAAe3C,KAAK4C,KAAKjB,YAAY,CAAC,GACtCkB,cAAc7C,KAAK8C,MAAMnB,YAAY,CAAC;AAE5C,aAAO,CACL,GAAGU,SAASU,MAAM,GAAGJ,eAAe,CAAC,GACpC,oBAAA,SAAA,EACC,eAAa,IACb,SACG,oBAAA,OAAA,EAAM,IAAG,MAAK,KAAKjB,MAAM,UAAS,QAChCW,UAASU,SAAAA,MAAMJ,eAAe,GAAGD,MAAMG,WAAW,EACrD,CAAA,GAGF,MACA,SAAS,GACT,WAAU,OACV,QAAM,IACN,KAAKZ,mBAEL,UAAC,oBAAA,QAAA,EACC,MAAK,SACL,SAAS,GACT,MAAK,aACDV,mBACJ,SAASM,OAAOK,WAAWC,QAC3B,KAAKH,kBACL,UAAUH,KAAK,CAAA,EAAA,GAdb,QAgBN,GACA,GAAGQ,SAASU,MAAML,MAAMG,WAAW,CAAC;AAAA,IAAA;AAIjCR,WAAAA;AAAAA,EAAAA,GACN,CAACH,UAAUC,QAAQZ,mBAAmBG,MAAMC,WAAWE,MAAMQ,QAAQ,CAAC;AAGvE,SAAA,oBAAC,QACC,IACA,WAAQ,kBACJzG,MACJ,WAAWoH,YAAY;AAAA,IAAC3B;AAAAA,EAAU,CAAA,GAClC,KACA,MACA,MAECoB,UAAM5C,MAAAA,IAAI,CAACoD,MAAMC,cAChB,qBAAC,UACEA,EAAAA,UAAAA;AAAAA,IAAAA,YAAY,KACX,oBAAC,KAAI,EAAA,eAAW,IAAC,IAAG,MACjBtB,UAAAA,aAAc,oBAAA,MAAA,EAAK,OAAK,IAAC,cAAC,CAAA,GAC7B;AAAA,IAED,oBAAA,KAAA,EAAI,IAAG,MAAMqB,UAAK,KAAA,CAAA;AAAA,EAAA,KANNC,SAOf,CACD,GACH;AAEJ;AC5HO,MAAMC,4BAA4B;AAmBlC,SAAAC,UAAA5L,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAQDM,KAAAR;AAAyD6J,MAAAA,WAAAzF,MAAAzD,IAAAM;AAAAhB,WAAAO,MAL7D;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAkJ;AAAAA,IAAAgC,OAAA5K;AAAAA,IAAA,GAAAmD;AAAAA,EAAAA,IAKI5D,IAAyDP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,OAAA4I,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA;AAJ3DkC,QAAAA,KAAAxB,OAA8BiF,SAAA+F,4BAA9BhL,IAEAkL,QAAA5K,OAAS2E,aAAT3E;AAAS6K,MAAAA;AAAA7L,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAA4L,SAIkDC,KAAAC,YAAA;AAAA,IAAAlC;AAAAA,IAAAgC;AAAAA,EAAAA,CAA4B,GAAC5L,OAAA4J,WAAA5J,OAAA4L,OAAA5L,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA;AAAA+L,MAAAA;AAAA,SAAA/L,EAAAkC,CAAAA,MAAAA,MAAAlC,SAAAmE,QAAAnE,EAAA,EAAA,MAAA6L,MAAnFE,KAAC,oBAAA,KAAA,EAAY,WAAA,gBAAgB5H,MAAUjC,IAAe,WAAA2J,IAAiC,GAAA7L,OAAAkC,IAAAlC,OAAAmE,MAAAnE,QAAA6L,IAAA7L,QAAA+L,MAAAA,KAAA/L,EAAA,EAAA,GAAvF+L;AAAuF;ACjChFC,SAAAA,oBACdC,iBACAC,eACAzF,QACS;AACL,SAAA,CAACwF,mBAAmB,CAACC,gBAAsB,KAG7CC,wBAAwBF,iBAAiBxF,MAAM,KAC/C0F,wBAAwBD,eAAezF,MAAM;AAEjD;ACsBO,MAAM2F,8BAA8B;AAiCpC,SAAAC,WAAAtM,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAiBDM,KAAAR;AAA4DuM,MAAAA,WAAApM,UAAAqM,QAAAC,qBAAA7I,cAAA8I,QAAAC,iBAAAvM,IAAAwM,gBAAAC,SAAAC,YAAA1I,MAAAzD;AAAAV,WAAAO,MAdhE;AAAA,IAAAuM,sBAAAR;AAAAA,IAAAS,4BAAAL;AAAAA,IAAAxK,IAAAxB;AAAAA,IAAAR;AAAAA,IAAA8M,YAAAR;AAAAA,IAAAD;AAAAA,IAAAE;AAAAA,IAAAtM;AAAAA,IAAAwM;AAAAA,IAAAC;AAAAA,IAAAK,QAAAJ;AAAAA,IAAAnJ,KAAAC;AAAAA,IAAA,GAAAQ;AAAAA,EAAA,IAcI5D,IAA4DP,OAAAO,IAAAP,OAAAsM,WAAAtM,OAAAE,UAAAF,OAAAuM,QAAAvM,OAAAwM,qBAAAxM,OAAA2D,cAAA3D,OAAAyM,QAAAzM,OAAA0M,iBAAA1M,OAAAG,IAAAH,OAAA2M,gBAAA3M,QAAA4M,SAAA5M,QAAA6M,YAAA7M,QAAAmE,MAAAnE,QAAAU,OAAA4L,YAAAtM,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAAuM,SAAAvM,EAAA,CAAA,GAAAwM,sBAAAxM,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAAyM,SAAAzM,EAAA,CAAA,GAAA0M,kBAAA1M,EAAA,CAAA,GAAAG,KAAAH,EAAA,CAAA,GAAA2M,iBAAA3M,EAAA,CAAA,GAAA4M,UAAA5M,EAAA,EAAA,GAAA6M,aAAA7M,EAAA,EAAA,GAAAmE,OAAAnE,EAAA,EAAA,GAAAU,KAAAV,EAAA,EAAA;AAX9D,QAAAkC,KAAAxB,OAAgCiF,SAAAyG,8BAAhC1L,IAaFuM,SAAeC,UAAU,GACzBhB,gBAAsBW,aAAaI,OAAM/G,WAAY2G,UAAU,KAAA,OAAYI,OAAM7O,SACjF6N,kBAAwBkB,mBAAoB/O,EAAAA,SAC5CsF,MAAYe,OAAA,IAAkC,GAC9CuI,aAAmBvI,OAAA,IAAkC,GACrD2I,QAAcC,YACd;AAAA,IAAAC;AAAAA,EAAqBF,IAAAA,OACrBG,UAAgB,GAAGpN,EAAE,UACrBqN,kBAAwBnP,CAAAA,CAAQuO,WAAYF,oBAAyB,IACrEe,aAAmBpP,EAAQoO,UAAWe,iBACtC,CAAAE,WAAAC,YAAA,IAAkCrD,UAAU,GAC5C,CAAAsD,cAAAC,eAAA,IAAwCvD,UAAU,GAClDwD,eAAqBF,eAAeF;AAAS1M,MAAAA;AAAAhB,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEmChN,KAAAA,MAAM0C,IAAGuB,SAAQjF,QAAAgB,MAAAA,KAAAhB,EAAA,EAAA,GAAjGiO,oBAAkEtK,cAAc3C,EAAiB;AAAC6K,MAAAA;AAAA7L,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAGhGnC,KAAAA,MAAMmB,WAAU/H,SAAQjF,QAAA6L,MAAAA,KAAA7L,EAAA,EAAA,GAF1BiO,oBACEzB,qBACAX,EACF;AAAC,MAAAE,IAAAmC;AAAAlO,YAAAsM,aAESP,KAAAA,MAAA;AACHO,iBAGD5I,IAAGuB,WACL1F,qBAAqBmE,IAAGuB,OAAQ;AAAA,EAEjCiJ,GAAAA,KAAA,CAAC5B,WAAW5I,GAAG,GAAC1D,QAAAsM,WAAAtM,QAAA+L,IAAA/L,QAAAkO,OAAAnC,KAAA/L,EAAA,EAAA,GAAAkO,KAAAlO,EAAA,EAAA,IAPnB4H,UAAUmE,IAOPmC,EAAgB;AAACC,MAAAA;AAAAnO,IAAA,EAAA,MAAAiM,mBAAAjM,EAAAsN,EAAAA,MAAAA,cAAAtN,EAAA4M,EAAAA,MAAAA,WAAA5M,UAAAkM,iBAIhBiC,KAAAxN,CAAA,UAAA;AACM,QAAA,CAAC2M,cAAU,CAAKV;AAAO;AAE3B,UAAAnG,SAAAnI,SAAAC;AAEIkI,eAAWuF,oBAAoBC,iBAAiBC,eAAezF,MAAM,KAKrE9F,MAAKC,QAAS,aAChBD,MAAKmG,eAAgB,GACrBnG,MAAKyN,gBAAAA,GACLxB;EAAS,GAEZ5M,QAAAiM,iBAAAjM,QAAAsN,YAAAtN,QAAA4M,SAAA5M,QAAAkM,eAAAlM,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA,GAjBLqO,iBACEF,EAmBF;AAACG,MAAAA;AAAAtO,IAAA,EAAA,MAAAiM,mBAAAjM,EAAAsN,EAAAA,MAAAA,cAAAtN,EAAA2M,EAAAA,MAAAA,kBAAA3M,UAAAkM,iBAGCoC,KAAAhB,cACEX,mBAAc4B,CAAA,YAAA;AAEZ,UAAAC,WAAe7N,QAAK8F;AAEhBA,iBAAWuF,oBAAoBC,iBAAiBC,eAAezF,QAAM,KAKzEkG,eAAe;AAAA,EAAA,IACf3M,QAAAiM,iBAAAjM,QAAAsN,YAAAtN,QAAA2M,gBAAA3M,QAAAkM,eAAAlM,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA;AAAAyO,MAAAA;AAAAzO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACJS,KAAAA,MAAO/K,CAAAA,IAAGuB,OAAA,GAASjF,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA,GAbrB2K,qBACE2D,IAYAG,EACF;AAAC,MAAAC,KAAAC;AAAA3O,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAESW,KAAAA,MAAA;AACR,UAAAC,KAAW5B,WAAU/H;AAAQ,QAAA,CAExB2J;AAAE;AAEP,UAAAC,eAAAA,MAAA;AACElB,mBAAaiB,GAAElB,SAAU,GACzBG,gBAAgBe,GAAEhB,eAAgBgB,GAAEE,YAAa;AAAA,IAAC;AAGlDC,WAAAA,GAAAA,iBAAkB,UAAUF,cAAY;AAAA,MAAAG,SAAA;AAAA,IAAiB,CAAA,GAAC,MAAA;AAGxDC,SAAAA,oBAAqB,UAAUJ,YAAY;AAAA,IAAC;AAAA,EAAA,GAE/CH,MAAA,CAAA,GAAE1O,QAAA0O,KAAA1O,QAAA2O,OAAAD,MAAA1O,EAAA,EAAA,GAAA2O,KAAA3O,EAAA,EAAA,IAfL4H,UAAU+G,IAePD,GAAE;AAACQ,MAAAA;AAAAlP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAMSkB,MAAAC,WAAW,GAACnP,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA;AAAAoP,MAAAA;AAAApP,IAAAyM,EAAAA,MAAAA,UAAAzM,EAAA,EAAA,MAAAuN,WAAAvN,EAAA4M,EAAAA,MAAAA,WAAA5M,EAAA,EAAA,MAAAwN,mBAAAxN,UAAAyN,cAKtB2B,MAAA3B,mCACE,MAAW,EAAA,OAAA,cAAwB,WAAA4B,aAAa,GAAY,YAAY,UAAA,YACvE,UAAA;AAAA,IAAA,oBAAC,KAAU,EAAA,MAAA,GAAY,SAAC,GACrB5C,UACC,UAAA,oBAAC,MAASc,EAAAA,IAAAA,SAAe,MAAC,GAAS,QAAA,6BAEnC,CAAA,GAEJ;AAAA,IAECC,uCACE,KAAS,EAAA,MAAA,QACR,UAAC,oBAAA,QAAA,EACY,cAAA,gBACD,UAAA,CAACZ,SACL0C,MAAQA,WACT,MAAA,SACI1C,kBACA,SAAC,GAAA,EAEd,CAAA;AAAA,EAEJ,EAAA,CAAA,GACD5M,QAAAyM,QAAAzM,QAAAuN,SAAAvN,QAAA4M,SAAA5M,QAAAwN,iBAAAxN,QAAAyN,YAAAzN,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AAAAuP,MAAAA;AAAAvP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEeuB,MAAAC,cAAc,GAACxP,QAAAuP,OAAAA,MAAAvP,EAAA,EAAA;AAAAyP,MAAAA;AAAAzP,IAAA0N,EAAAA,MAAAA,aAAA1N,UAAAyN,cAC5BgC,MAAAhC,cACC,oBAAA,OAAA,EACa,WAAAiC,2BACJ,OAAA;AAAA,IAAAC,SAAUpH,KAAAqH,IAASlC,aAAa,IAAC;AAAA,EAAA,EAE3C,CAAA,GAAA1N,QAAA0N,WAAA1N,QAAAyN,YAAAzN,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA;AAAA6P,MAAAA;AAAA7P,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEe6B,MAAAC,eAAe,GAAC9P,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA;AAAA+P,MAAAA;AAAA/P,YAAAE,YAAhC6P,0BAAC,KAAe,EAAA,WAAAF,KAA2B,UAAA,QAAY7C,KAAS,YACtD,UACV,GAAMhN,QAAAE,UAAAF,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA;AAAAgQ,MAAAA;AAAAhQ,IAAAuM,EAAAA,MAAAA,UAAAvM,UAAA8N,gBAELkC,MAAAzD,UACC,oBAAA,OAAA,EACa,WAAA0D,8BACJ,OAAA;AAAA,IAAAN,SAAUpH,KAAAqH,IAAS9B,gBAAgB,IAAC;AAAA,EAAA,EAE9C,CAAA,GAAA9N,QAAAuM,QAAAvM,QAAA8N,cAAA9N,QAAAgQ,OAAAA,MAAAhQ,EAAA,EAAA;AAAAkQ,MAAAA;AAAAlQ,IAAAyP,EAAAA,MAAAA,OAAAzP,UAAA+P,OAAA/P,EAAA,EAAA,MAAAgQ,OAjBHE,MAAC,qBAAA,OAAe,WAAAX,KAAuB,MAAC,GAAW,UAAA,YAAqB,UAAA,IACrEE,UAAAA;AAAAA,IAAAA;AAAAA,IAODM;AAAAA,IAICC;AAAAA,EAAAA,GAMH,GAAMhQ,QAAAyP,KAAAzP,QAAA+P,KAAA/P,QAAAgQ,KAAAhQ,QAAAkQ,OAAAA,MAAAlQ,EAAA,EAAA;AAAAmQ,MAAAA;AAAAnQ,YAAAuM,UAEL4D,MAAA5D,UACE,oBAAA,KAAA,EAAe,WAAA6D,aAAyB,GAAA,UAAA,YACjC,UACR,QAAA,GACDpQ,QAAAuM,QAAAvM,QAAAmQ,OAAAA,MAAAnQ,EAAA,EAAA;AAAAqQ,MAAAA;AAAA,SAAArQ,EAAAkC,EAAAA,MAAAA,MAAAlC,EAAA,EAAA,MAAAmE,QAAAnE,EAAAoP,EAAAA,MAAAA,OAAApP,EAAA,EAAA,MAAAkQ,OAAAlQ,UAAAmQ,OAzDHE,2BAAC,QAAI,GACClM,MACAjC,IACO,WAAAgN,KACH,SAAA,QACM,eAAA,UACTxL,KAEJ0L,UAAAA;AAAAA,IAAAA;AAAAA,IAyBDc;AAAAA,IAoBCC;AAAAA,EAAAA,EAAAA,CAKH,GAAOnQ,QAAAkC,IAAAlC,QAAAmE,MAAAnE,QAAAoP,KAAApP,QAAAkQ,KAAAlQ,QAAAmQ,KAAAnQ,QAAAqQ,OAAAA,MAAArQ,EAAA,EAAA,GA1DPqQ;AA0DO;ACnNEC,MAAAA,gBACXC,0BAA8C,wBAAwB;AAAA,EAACC,SAAS;AAAG,CAAC;ACZ/E,SAAAC,YAAA;AAAA,SACEC,WAAAJ,aAAwB;AAAC;ACiB3B,MAAMK,yBAAyB;AAgD/B,SAAAC,OAAA7Q,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAGL4Q,UAAgBJ,UAAAA,GAyBZlQ,KAAAR;AAAmD+Q,MAAAA,eAAAC,cAAA7Q,UAAA0J,WAAAoD,YAAAT,QAAAE,QAAAtM,IAAA6Q,YAAArE,gBAAAC,SAAA9J,SAAA+J,YAAA1I,MAAA8M,QAAAvQ,IAAAM,IAAA6K,IAAAE,IAAAmC,IAAAC,IAAAG,IAAA4C;AAAAlR,WAAAO,MAxBvD;AAAA,IAAAuM,sBAAApM;AAAAA,IAAAqM,4BAAA/L;AAAAA,IAAAmQ,SAAAtF;AAAAA,IAAAuF,YAAArF;AAAAA,IAAA7L;AAAAA,IAAA0J;AAAAA,IAAAoD;AAAAA,IAAAT;AAAAA,IAAAE;AAAAA,IAAAtM;AAAAA,IAAA6Q;AAAAA,IAAArE;AAAAA,IAAAC;AAAAA,IAAA9J;AAAAA,IAAAM,SAAA8K;AAAAA,IAAAjB,QAAAJ;AAAAA,IAAAwE,UAAAP;AAAAA,IAAAG;AAAAA,IAAAK,QAAAnD;AAAAA,IAAAvC,OAAA0C;AAAAA,IAAAiD,SAAAR;AAAAA,IAAAG;AAAAA,IAAA,GAAA/M;AAAAA,EAAAA,IAwBI5D,IAAmDP,OAAAO,IAAAP,OAAA8Q,eAAA9Q,OAAA+Q,cAAA/Q,OAAAE,UAAAF,OAAA4J,WAAA5J,OAAAgN,YAAAhN,OAAAuM,QAAAvM,OAAAyM,QAAAzM,OAAAG,IAAAH,OAAAgR,YAAAhR,QAAA2M,gBAAA3M,QAAA4M,SAAA5M,QAAA8C,SAAA9C,QAAA6M,YAAA7M,QAAAmE,MAAAnE,QAAAiR,QAAAjR,QAAAU,IAAAV,QAAAgB,IAAAhB,QAAA6L,IAAA7L,QAAA+L,IAAA/L,QAAAkO,IAAAlO,QAAAmO,IAAAnO,QAAAsO,IAAAtO,QAAAkR,SAAAJ,gBAAA9Q,EAAA,CAAA,GAAA+Q,eAAA/Q,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAgN,aAAAhN,EAAA,CAAA,GAAAuM,SAAAvM,EAAA,CAAA,GAAAyM,SAAAzM,EAAA,CAAA,GAAAG,KAAAH,EAAA,CAAA,GAAAgR,aAAAhR,EAAA,CAAA,GAAA2M,iBAAA3M,EAAA,EAAA,GAAA4M,UAAA5M,EAAA,EAAA,GAAA8C,UAAA9C,EAAA,EAAA,GAAA6M,aAAA7M,EAAA,EAAA,GAAAmE,OAAAnE,EAAA,EAAA,GAAAiR,SAAAjR,EAAA,EAAA,GAAAU,KAAAV,EAAA,EAAA,GAAAgB,KAAAhB,EAAA,EAAA,GAAA6L,KAAA7L,EAAA,EAAA,GAAA+L,KAAA/L,EAAA,EAAA,GAAAkO,KAAAlO,EAAA,EAAA,GAAAmO,KAAAnO,EAAA,EAAA,GAAAsO,KAAAtO,EAAA,EAAA,GAAAkR,OAAAlR,EAAA,EAAA;AAvB/BsM,QAAAA,YAAA5L,OAAgBiF,cAAhBjF,IACMgM,kBAAA1L,OAAuB2E,cAAvB3E,IACnBwQ,WAAA3F,OAAgBlG,cAAhBkG,IACG4F,iBAAA1F,OAAkBpG,aAAlBoG,IAWZ3I,UAAA8K,OAAWvI,aAAXuI,IAIQwD,aAAAvD,OAAcxI,aAAdwI,IACRvC,QAAA0C,OAAS3I,aAAT2I,IAMFqD,eAAqBb,iBAAiBD,QAAOQ,YAAa,SAC1DO,cAAoBb,gBAAgBF,QAAOU,WAAQM,UAAAC,QAEnDX,UAD6BY,wBAAwB,IACjB,KAAWP,UAC/CvE,SAAeC,aACfhB,gBAAsBW,aAAaI,OAAM/G,WAAY2G,UAAU,KAAA,OAAYI,OAAM7O,SACjF6N,kBAAwBkB,qBAAoB/O,SAC5CgT,aAAmB9L,kBAAkBmM,cAAc,GACnDJ,WAAiB/L,kBAAkBqM,YAAY,GAC/CJ,UAAgBjM,kBAAkBsM,WAAW,GAC7CI,YAAkBvN,OAAA,IAAkC,GACpDwN,aAAmBxN,OAAA,IAAkC,GACrDyN,UAAgBzN,OAAA,IAAkC,GAClD0N,oBAA0B1N,OAAA,IAA+B;AAACgK,MAAAA;AAAAzO,YAAA8C,WAGxD2L,KAAA9N,CAAA,UAAA;AACEmC,cAAUnC,KAAK;AAEf,UAAA8F,SAAe9F,MAAK8F,QACpB2L,cAAoBF,QAAOjN;AAEvBmN,QAAAA,eAAe3L,WAAWuL,UAAS/M,SAAQ;AAC7CpF,0BAAoBuS,WAAW;AAAC;AAAA,IAAA;AAK9BA,QAAAA,eAAe3L,WAAWwL,WAAUhN,SAAQ;AAC9C1F,2BAAqB6S,WAAW;AAAC;AAAA,IAAA;AAK/BxS,kBAAce,MAAK8F,MAAO,MAC5B0L,kBAAiBlN,UAAWtE,MAAK8F;AAAAA,EAAA,GAEpCzG,QAAA8C,SAAA9C,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AAtBHqS,QAAAA,cAAoB5D,IA0BpBlB,UAAgB,GAAGpN,EAAE,UAErBmS,sBAA4B7N,OAAAkB,MAAgC;AAACgJ,MAAAA;AAAA3O,IAAAiM,EAAAA,MAAAA,mBAAAjM,UAAAkM,iBAKzByC,KAAAA,MAAA;AAC9B2D,wBAAmBrN,WACrBsN,aAAaD,oBAAmBrN,OAAQ,GAG1CqN,oBAAmBrN,UAAWzE,WAAA,MAAA;AAC5B,YAAAjC,gBAAAD,SAAAC;AAA4C,UAExCA,kBAAkByN,oBAAoBC,iBAAiBC,eAAe3N,aAAa,GAAC;AACtF,cAAAiQ,WAAe2D,kBAAiBlN;AAAQ,YAEpC,CAACwB,YAAM,CAAKnI,SAAAkU,KAAAhU,SAAuBiI,QAAM,GAAC;AAE5C,gBAAAgM,gBAAoBP,QAAOjN;AACvBmN,2BAAa7S,qBAAqB6S,aAAW;AAAC;AAAA,QAAA;AAKpD3L,iBAAMnH,MAAO;AAAA,MAAA;AAAA,OAAC,CAEd;AAAA,EACLU,GAAAA,QAAAiM,iBAAAjM,QAAAkM,eAAAlM,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AAtBD,QAAA0S,kBAAwB/D;AAsBYD,MAAAA;AAAA1O,YAAA4J,aAQnB8E,MAAAoD,OAAA;AAAA,IAAAlI;AAAAA,EAAkB,CAAA,GAAC5J,QAAA4J,WAAA5J,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA;AAChBkP,QAAAA,MAAAiC,UAAU,KAAExL;AAAYyJ,MAAAA;AAAApP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAatCoB,MAAA,oBAAA,OAAA,EAAU4C,KAAAA,WAAqB,UAAA,EAAK,CAAA,GAAAhS,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AAAAuP,MAAAA;AAAAvP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAGvBuB,MAAAoD,gBAAgB,GAAC3S,QAAAuP,OAAAA,MAAAvP,EAAA,EAAA;AAAAyP,MAAAA;AAAAzP,IAAAsM,EAAAA,MAAAA,aAAAtM,EAAAoR,EAAAA,MAAAA,cAAApR,EAAA0R,EAAAA,MAAAA,cAAA1R,EAAAE,EAAAA,MAAAA,YAAAF,EAAAgN,EAAAA,MAAAA,cAAAhN,EAAAuM,EAAAA,MAAAA,UAAAvM,EAAAyM,EAAAA,MAAAA,UAAAzM,UAAA0M,mBAAA1M,EAAA,EAAA,MAAAG,MAAAH,EAAA,EAAA,MAAA2M,kBAAA3M,EAAA,EAAA,MAAA4M,WAAA5M,EAAA,EAAA,MAAA6M,cAAA7M,EAAA,EAAA,MAAAiR,UAAAjR,EAAA,EAAA,MAAAkR,QAAAlR,EAAA,EAAA,MAAA4L,SAO5B6D,MAAC,oBAAA,YAAA,EACuBnD,iCACMI,6CAChBM,YACJT,QACAE,QACJtM,IACYwM,gBACPC,SACDC,QAAAA,YACAuE,QAAAA,YACHc,KAAAA,SACGjB,QACAS,QAAS,YACXR,MACCtF,iBAGT,GAAa5L,QAAAsM,WAAAtM,QAAAoR,YAAApR,QAAA0R,YAAA1R,QAAAE,UAAAF,QAAAgN,YAAAhN,QAAAuM,QAAAvM,QAAAyM,QAAAzM,QAAA0M,iBAAA1M,QAAAG,IAAAH,QAAA2M,gBAAA3M,QAAA4M,SAAA5M,QAAA6M,YAAA7M,QAAAiR,QAAAjR,QAAAkR,MAAAlR,QAAA4L,OAAA5L,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA;AAAA6P,MAAAA;AAAA7P,IAAAyP,EAAAA,MAAAA,OAAAzP,UAAA4L,SA3BfiE,MAAC,oBAAA,WAAA,EACY,YAAA,UACA,WAAAN,KACH,WAAA,cACM,eAAA,UACN,SAAA,QACO,gBAAA,UACR3D,OAEP6D,UAAAA,IAAAA,CAmBF,GAAYzP,QAAAyP,KAAAzP,QAAA4L,OAAA5L,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA;AAAA+P,MAAAA;AAAA/P,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEZ+B,MAAA,oBAAA,OAAA,EAAUkC,KAAAA,YAAsB,UAAA,EAAK,CAAA,GAAAjS,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA;AAAAgQ,MAAAA;AAAAhQ,YAAAqS,eAAArS,EAAA0S,EAAAA,MAAAA,mBAAA1S,EAAA,EAAA,MAAAG,MAAAH,UAAAuN,WAAAvN,EAAAgR,EAAAA,MAAAA,cAAAhR,EAAAoD,EAAAA,MAAAA,WAAApD,EAAA,EAAA,MAAAqR,YAAArR,UAAAmE,QAAAnE,EAAA0O,EAAAA,MAAAA,OAAA1O,EAAA,EAAA,MAAAkP,OAAAlP,UAAA6P,OAAA7P,EAAA,EAAA,MAAAuR,WAjDvCvB,2BAAC,OAAK,EAAA,GACA7L,MACaoJ,mBAAM,SACvB,cAAS,IACE,WAAAmB,KACG,gBAAAQ,KACN,WAAA,UACA,SAAA,QACJ/O,IACQ6Q,YACH0B,0BACAL,SAAAA,aACAjP,SACCiO,UACL,MAAA,UACIE,SAGTnC,UAAAA;AAAAA,IAAAA;AAAAA,IACAS;AAAAA,IA8BAE;AAAAA,EACF,EAAA,CAAA,GAAQ/P,QAAAqS,aAAArS,QAAA0S,iBAAA1S,QAAAG,IAAAH,QAAAuN,SAAAvN,QAAAgR,YAAAhR,QAAAoD,SAAApD,QAAAqR,UAAArR,QAAAmE,MAAAnE,QAAA0O,KAAA1O,QAAAkP,KAAAlP,QAAA6P,KAAA7P,QAAAuR,SAAAvR,QAAAgQ,OAAAA,MAAAhQ,EAAA,EAAA;AAAAkQ,MAAAA;AAAA,SAAAlQ,EAAA6M,EAAAA,MAAAA,cAAA7M,UAAAgQ,OAnDVE,MAAC,oBAAA,QAAwBrD,EAAAA,iBAAAA,YACvBmD,UAmDF,IAAA,CAAA,GAAShQ,QAAA6M,YAAA7M,QAAAgQ,KAAAhQ,QAAAkQ,OAAAA,MAAAlQ,EAAA,EAAA,GApDTkQ;AAoDS;ACjNN,SAAA0C,eAAA7S,OAAA;AAAAC,QAAAA,IAAAC,EAAA,CAAA,GACL;AAAA,IAAAC;AAAAA,IAAAmR;AAAAA,IAAAE;AAAAA,EAAAA,IAAsCxR;AAAK,MAAAQ,IAAAG;AAAAV,IAAAqR,CAAAA,MAAAA,YAAArR,SAAAuR,WAGlC7Q,KAAA;AAAA,IAAA8P,SAAA;AAAA,IAAAa;AAAAA,IAAAE;AAAAA,EAAAA,GAINvR,OAAAqR,UAAArR,OAAAuR,SAAAvR,OAAAU,MAAAA,KAAAV,EAAA,CAAA,GAAAO,KAJMG;AADT,QAAAmS,eAAyCtS;AAOxCS,MAAAA;AAAA,SAAAhB,EAAAE,CAAAA,MAAAA,YAAAF,SAAA6S,gBAEM7R,KAAA,oBAAA,cAAA,UAAA,EAA+B6R,OAAAA,cAAe3S,SAAAA,CAAS,GAAyBF,OAAAE,UAAAF,OAAA6S,cAAA7S,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA,GAAhFgB;AAAgF;ACSlF,SAAA8R,WAAA/S,OAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA,GACL;AAAA,IAAA8S,uCAAAxS;AAAAA,IAAAyS,QAAAC;AAAAA,IAAA9S;AAAAA,IAAA+S,MAAAC;AAAAA,IAAAvG;AAAAA,IAAAwG;AAAAA,IAAA9P;AAAAA,IAAAI,KAAAC;AAAAA,EAAA,IASI5D,OARqCsT,6BAAA9S,OAAkCoF,cAAlCpF,IASzC,CAAA6J,MAAAC,OAAA,IAAwBC,WAAc,GACtC,CAAAgJ,aAAAC,cAAA,IAAsCjJ,aAAsC,GAC5E,CAAAkJ,eAAAC,gBAAA,IAA0CnJ,aAAuC;AAAC5J,MAAAA;AAAAV,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACbtN,KAAA,CAAA,GAAEV,OAAAU,MAAAA,KAAAV,EAAA,CAAA;AAAvE,QAAA,CAAA0T,cAAAC,oBAAA,IAA6CrJ,SAAwB5J,EAAE,GACvEkT,UAAgBnP,OAAgB2F,IAAI;AAAC,MAAApJ,IAAA6K;AAAA7L,IAAAoT,CAAAA,MAAAA,UAAApT,SAAAoK,QAG3BpJ,KAAAA,MAAA;AACJoS,cAAUhJ,QAASwJ,CAAAA,QAAO3O,WAC5BmO,OAAO;AAAA,EAERvH,GAAAA,KAAA,CAACuH,QAAQhJ,IAAI,GAACpK,OAAAoT,QAAApT,OAAAoK,MAAApK,OAAAgB,IAAAhB,OAAA6L,OAAA7K,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA,IAJjB4H,UAAU5G,IAIP6K,EAAc;AAAC,MAAAE,IAAAmC;AAAAlO,IAAA4M,CAAAA,MAAAA,WAAA5M,SAAAoK,QAGR2B,KAAAA,MAAA;AACJa,eAAYxC,CAAAA,QAAQwJ,QAAO3O,WAC7B2H,QAAQ;AAAA,EAETsB,GAAAA,KAAA,CAACtB,SAASxC,IAAI,GAACpK,OAAA4M,SAAA5M,OAAAoK,MAAApK,OAAA+L,IAAA/L,OAAAkO,OAAAnC,KAAA/L,EAAA,CAAA,GAAAkO,KAAAlO,EAAA,CAAA,IAJlB4H,UAAUmE,IAIPmC,EAAe;AAAC,MAAAC,IAAAG;AAAAtO,WAAAoK,QAET+D,KAAAA,MAAA;AACRyF,YAAO3O,UAAWmF;AAAAA,EAAI,GACrBkE,MAAClE,IAAI,GAACpK,OAAAoK,MAAApK,QAAAmO,IAAAnO,QAAAsO,OAAAH,KAAAnO,EAAA,EAAA,GAAAsO,KAAAtO,EAAA,EAAA,IAFT4H,UAAUuG,IAEPG,EAAM;AAACG,MAAAA;AAAAzO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAE4BS,KAAAA,MAAA;AAC7BoF,YAAAA,OAAU,GACjBN,mBAAmB;AAAA,EAAA,GACpBvT,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AAHD,QAAA8T,oBAA0BrF;AAGpBE,MAAAA;AAAA3O,YAAAoK,QAMJuE,KAAAhO,CAAA,UAAA;AACMyJ,YAAMzJ,MAAKmG,eAAgB;AAAA,EAAC,GACjC9G,QAAAoK,MAAApK,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AAHH,QAAA+T,kBAAwBpF;AAKvBD,MAAAA;AAAA1O,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEuCU,MAAAH,CAAA,YAAA;AAGlC5N,QAAAA,QAAKC,QAAS,eAAeD,QAAKC,QAAS,WAAWD,QAAKC,QAAS,KAAG;AACzED,cAAKmG,kBACLuD,UAAY,GACZkJ,eAAe,OAAO;AAAC;AAAA,IAAA;AAOrB5S,QAAAA,QAAKC,QAAS,WAAS;AACzBD,cAAKmG,kBACLuD,UAAY,GACZkJ,eAAe,MAAM;AAAC;AAAA,IAAA;AAAA,EAAA,GAIzBvT,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA;AApBD,QAAAgU,sBAA4BtF;AAoBtBQ,MAAAA;AAAAlP,IAAAwT,EAAAA,MAAAA,iBAAAxT,UAAA0T,gBAGJxE,MAAA+E,CAAA,YAAA;AACE,UAAAxN,SAAe9F,QAAK8F;AAEdA,QAAAA,kBAAMyN,QAIRV,EAAkB/M,kBAAAA,WAAW+M,iBAAiBA,cAAahV,SAAUiI,MAAM,KAAE;AAAA,iBAI5EmI,MAAY8E;AAAY,YACvBjN,WAAWmI,MAAMA,GAAEpQ,SAAUiI,MAAM;AAAC;AAK1C4D,gBAAa;AAAA,IAAA;AAAA,EACdrK,GAAAA,QAAAwT,eAAAxT,QAAA0T,cAAA1T,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA;AAnBH,QAAAmU,yBAA+BjF;AAqB9BE,MAAAA;AAAApP,IAAAwT,EAAAA,MAAAA,iBAAAxT,UAAAqT,8BAEoCjE,MAAAA,MAAA;AACnC/E,cAAa,GACTgJ,CACAG,8BAAAA,iBAAeA,cAAalU,MAAO;AAAA,EACxCU,GAAAA,QAAAwT,eAAAxT,QAAAqT,4BAAArT,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AAJD,QAAAoU,mBAAyBhF;AAIsBG,MAAAA;AAAAvP,YAAA0T,gBAG7CnE,MAAA8E,CAAA,YAAA;AACE,UAAA7F,WAAe7N,QAAK2T;AAAc,QAE5B7N,oBAAMyN,MAAgB;AAAA,iBAIvBK,QAAYb;AAAY,YACvB9E,SAAOnI,YAAUmI,KAAEpQ,SAAUiI,QAAM;AAAC;AAK1C4D,gBAAa;AAAA,IAAA;AAAA,EAAC,GACfrK,QAAA0T,cAAA1T,QAAAuP,OAAAA,MAAAvP,EAAA,EAAA;AAfH,QAAAwU,aAAmBjF;AAiBlBE,MAAAA;AAAAzP,IAAAwT,EAAAA,MAAAA,iBAAAxT,UAAAqT,8BAEmC5D,MAAAA,MAAA;AAClCpF,cAAa,GACTgJ,CACAG,8BAAAA,iBAAeA,cAAalU,MAAO;AAAA,EACxCU,GAAAA,QAAAwT,eAAAxT,QAAAqT,4BAAArT,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA;AAJD,QAAAyU,kBAAwBhF;AAIuBI,MAAAA;AAAA7P,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEX6B,MAAA6E,CAAAA,UAClCf,qBAAoBgB,CAAUA,QAAAA,IAAGxO,OAASyI,CAAAA,IAAE,CAAC,CAAC,GAAC,MAElC+E,qBAAoBiB,CAAAA,UAAUD,MAAG9O,OAAAgP,SAAiBA,QAAQjG,IAAE,CAAC,IAC3E5O,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA;AAJD,QAAA8U,kBAAwBjF;AAIlBE,MAAAA;AAAA/P,IAAA,EAAA,MAAAwT,iBAAAxT,EAAA,EAAA,MAAAwU,cAAAxU,EAAA,EAAA,MAAAyU,mBAAAzU,EAAAmU,EAAAA,MAAAA,0BAAAnU,EAAAoU,EAAAA,MAAAA,oBAAApU,EAAAG,EAAAA,MAAAA,MAAAH,EAAAmT,EAAAA,MAAAA,YAAAnT,UAAAsT,eAaOvD,MAAAoD,YAAY/J,aAAa+J,UAXtC;AAAA,IAAA,mBACqBhT;AAAAA,IAAE,eACJqU;AAAAA,IAAU,gBACTL;AAAAA,IAAsB,UAC5BC;AAAAA,IAAgB,aACbK;AAAAA,IAAe,eACbjB;AAAAA,IAAasB;AAAAA,IAAAxB;AAAAA,EAAAA,CAKyB,GAACtT,QAAAwT,eAAAxT,QAAAwU,YAAAxU,QAAAyU,iBAAAzU,QAAAmU,wBAAAnU,QAAAoU,kBAAApU,QAAAG,IAAAH,QAAAmT,UAAAnT,QAAAsT,aAAAtT,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA;AAA1D,QAAAkT,OAAanD;AAA6CC,MAAAA;AAAA,OAAA;AAAA,QAAA,CAGnDiD,YAAU;AAAE,YAAA;AAAW8B,YAAAA;AAAAA,IAAAA;AAWd7E,UAAAA,OAAA+C,WAAUlT,MAAAM,YAAmB+J;AAAI+F,QAAAA;AAAAnQ,MAAAiT,EAAAA,MAAAA,cAAAjT,EAAA,EAAA,MAAA+T,mBAAA/T,EAAAG,EAAAA,MAAAA,MAAAH,EAAA,EAAA,MAAAoK,QAAApK,UAAAkQ,QAGxCC,OAAA/G,aAAa6J,YAZpB;AAAA,MAAA,WACa;AAAA,MAAY9S;AAAAA,MAAA,SAEZ2T;AAAAA,MAAiB,WACfE;AAAAA,MAAmB,aACjBD;AAAAA,MAAe,iBAAA;AAAA,MAAA,iBAEb3J;AAAAA,MAAI,KACdqJ;AAAAA,MAAgB,UACXvD;AAAAA,IAG6B,CAAA,GAAClQ,QAAAiT,YAAAjT,QAAA+T,iBAAA/T,QAAAG,IAAAH,QAAAoK,MAAApK,QAAAkQ,MAAAlQ,QAAAmQ,QAAAA,OAAAnQ,EAAA,EAAA,GAA5CgQ,MAAOG;AAAAA,EAAAA;AAfT,QAAA6C,SAAehD;AAgBoE,MAAAE,KAAAC;AAAAnQ,YAAAwT,iBAKjFtD,MAAAA,MAAMsD,eACNrD,OAACqD,aAAa,GAACxT,QAAAwT,eAAAxT,QAAAkQ,KAAAlQ,QAAAmQ,QAAAD,MAAAlQ,EAAA,EAAA,GAAAmQ,MAAAnQ,EAAA,EAAA,IAHjBiO,oBACEtK,cACAuM,KACAC,GACF;AAAC,MAAAE,KAAA2E;AAAAhV,YAAAsD,WAKO0R,MAAA1R,WAAa,CAAAtD,GAAAA,QAAAsD,SAAAtD,QAAAgV,OAAAA,MAAAhV,EAAA,EAAA;AAAAiV,MAAAA;AAAAjV,YAAAgV,OAFZC,MAAA;AAAA,IAAAC,UACK;AAAA,IAAM,GACZF;AAAAA,EACLhV,GAAAA,QAAAgV,KAAAhV,QAAAiV,OAAAA,MAAAjV,EAAA,EAAA,GAAAqQ,MAHM4E;AADT,QAAAE,eAAiD9E;AAMhD+E,MAAAA;AAAApV,YAAAgT,UAIIoC,MAAApC,4CAAe,GAAAhT,QAAAgT,QAAAhT,QAAAoV,OAAAA,MAAApV,EAAA,EAAA;AAAAqV,MAAAA;AAAArV,SAAAA,EAAA,EAAA,MAAAkT,QAAAlT,EAAAoK,EAAAA,MAAAA,QAAApK,EAAAmV,EAAAA,MAAAA,gBAAAnV,UAAAoV,OADlBC,MAAA,oBAAC,WAAgB,WAAA,uBAA0BF,GAAAA,cAAuBjC,SAAAA,MAAY9I,MAC3EgL,UACH,IAAA,CAAA,GAAUpV,QAAAkT,MAAAlT,QAAAoK,MAAApK,QAAAmV,cAAAnV,QAAAoV,KAAApV,QAAAqV,OAAAA,MAAArV,EAAA,EAAA,GAFVqV;AAEU;AArLP,SAAAxB,QAAAjN,GAAA;AAAA,SAAA,CAoCaA;AAAC;ACzEd,MAAM0O,4BAA4B;AAqBlC,SAAAC,SAAAxV,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAQDM,KAAAR;AAAwDG,MAAAA,UAAAiE,MAAAzD,IAAAhC;AAAAsB,WAAAO,MAL5D;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR;AAAAA,IAAAxB;AAAAA,IAAA,GAAAyF;AAAAA,EAAAA,IAKI5D,IAAwDP,OAAAO,IAAAP,OAAAE,UAAAF,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAtB,aAAAwB,WAAAF,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAtB,WAAAsB,EAAA,CAAA;AAJ1DkC,QAAAA,KAAAxB,OAA8BiF,SAAA2P,4BAA9B5U,IAYYM,KAAAtC,aAAQiH,aAAqBjH;AAAQmN,MAAAA;AAAA7L,SAAAA,EAAA,CAAA,MAAAkC,MAAAlC,EAAAE,CAAAA,MAAAA,YAAAF,EAAAmE,CAAAA,MAAAA,QAAAnE,SAAAgB,MALjD6K,KAAC,oBAAA,KAAA,EACS,WAAA,YACJ1H,GAAAA,MACAjC,IACC,MAAA,YACK,UAAAlB,IAEF,SAAA,CACV,GAAMhB,OAAAkC,IAAAlC,OAAAE,UAAAF,OAAAmE,MAAAnE,OAAAgB,IAAAhB,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GARN6L;AAQM;AC7BH,MAAM2J,wBAAwB,MAoB/BC,+BAA+B,MAAO,KAAK,KAAK,KAAK,IAErDC,QAAQ;AAAA,EACZC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,MAAM;AACR,GAEMC,mBAAmB;AAAA,EACvBJ,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,MAAM;AACR,GAEME,cAAc;AAAA,EAClBL,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,MAAM;AACR;AASO,SAAAG,MAAAlW,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAaDM,KAAAR;AAAiD,MAAAmW,UAAAC,aAAAC,UAAAxJ,SAAAzI,MAAAkS,QAAA3V,IAAAM,IAAAsV;AAAAtW,WAAAO,MAVrD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAwV;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAxJ;AAAAA,IAAApJ,QAAAxC;AAAAA,IAAAsV;AAAAA,IAAAD;AAAAA,IAAA,GAAAlS;AAAAA,EAAAA,IAUI5D,IAAiDP,OAAAO,IAAAP,OAAAkW,UAAAlW,OAAAmW,aAAAnW,OAAAoW,UAAApW,OAAA4M,SAAA5M,OAAAmE,MAAAnE,OAAAqW,QAAArW,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAAsW,UAAAJ,WAAAlW,EAAA,CAAA,GAAAmW,cAAAnW,EAAA,CAAA,GAAAoW,WAAApW,EAAA,CAAA,GAAA4M,UAAA5M,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAqW,SAAArW,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAAsW,QAAAtW,EAAA,CAAA;AATnD,QAAAkC,KAAAxB,OAA0BiF,SAAA6P,wBAA1B9U,IAKA8C,SAAAxC,OAAU2E,aAAV3E,IAMFuV,WAAiBF,SAAMN,iBAAoBM,MAAM,IAAI,WACrDG,aAAmBH,SAAML,YAAeK,MAAM,IAAI,WAClDI,OAAaJ,SAAMX,MAASW,MAAM,IAAI,UAItCK,iBAF6B3E,wBAAAA,IAEiC,IAAA;AAAAlG,MAAAA;AAAA7L,YAAA0W,kBAC3C7K,KAAA6K,iBAAc;AAAA,IAAA1X,MAAU;AAAA,IAAQ0X;AAAAA,IAAAC,QAAA;AAAA,EAAA,IAAA;AAAA,IAAAP,UAAA;AAAA,EAAA,GAA+CpW,QAAA0W,gBAAA1W,QAAA6L,MAAAA,KAAA7L,EAAA,EAAA;AAAlG,QAAA4W,aAAmB/K,IAEnBgL,cAAoBT,YAAYU,SAASV,QAAQ,KAAKA,WAAQX;AAA+B1J,MAAAA;AAAA/L,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACxDjC,KAAA,CAAC,UAAU,SAAS,GAAC/L,QAAA+L,MAAAA,KAAA/L,EAAA,EAAA;AAA1D,QAAA+W,UAAqChL;AAAqBmC,MAAAA;AAAAlO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACrBE,KAAA,CAAC,WAAW,SAAS,GAAClO,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AAA3D,QAAAmR,UAAqCjD;AAAsBC,MAAAA;AAAAnO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACzBG,KAAA,CAAC,UAAU,UAAU,GAACnO,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AAAxD,QAAAgX,OAAkC7I;AAAsBG,MAAAA;AAAAtO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAKzCM,KAAA2I,MAAM,GAACjX,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA;AAKCyO,QAAAA,KAAAoI,cAAc,KAAElR;AAAYgJ,MAAAA;AAAA3O,YAAAsW,SAexC3H,KAAA2H,SACE,oBAAA,MAAA,EAAW,MAAA,GAAU,QAAA,2BAEtB,GACDtW,QAAAsW,OAAAtW,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AAAA0O,MAAAA;AAAA1O,IAAAmW,EAAAA,MAAAA,eAAAnW,UAAA4W,cACAlI,MAAAyH,eACE,oBAAA,YAAA,EAAW,OAAI,IAAQ,MAAA,GAAajN,UAAAA,SAAqB0N,YACvDT,uBACH,GACDnW,QAAAmW,aAAAnW,QAAA4W,YAAA5W,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA;AAAAkP,MAAAA;AAAAlP,IAAA0O,EAAAA,MAAAA,OAAA1O,UAAA2O,MAXLO,MAAC,oBAAA,QAAW,MAAC,GAAY,WAAA,QAAgB,YACvC,UAAC,qBAAA,OAAA,EAAW,KAAC,GACVP,UAAAA;AAAAA,IAAAA;AAAAA,IAKAD;AAAAA,EAAAA,EAKH,CAAA,EACF,CAAA,GAAO1O,QAAA0O,KAAA1O,QAAA2O,IAAA3O,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA;AAAAoP,MAAAA;AAAApP,IAAAwW,EAAAA,MAAAA,cAAAxW,UAAAkW,YAAAlW,EAAA,EAAA,MAAA4M,WAENwC,MAAA8G,YACE,oBAAA,KAAA,EAAa,SAAA,GACZ,UAAC,oBAAA,QAAA,EACI,IAAA,UACG5G,MAAAA,WACD,MAAA,SACI,YACHkH,MAAS,YACN5J,kBACF,OAAA;AAAA,IAAAsK,eAAgB;AAAA,EAAA,GAAM,GAEjC,GACDlX,QAAAwW,YAAAxW,QAAAkW,UAAAlW,QAAA4M,SAAA5M,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AAAAuP,MAAAA;AAAAvP,IAAAkP,EAAAA,MAAAA,OAAAlP,UAAAoP,OAAApP,EAAA,EAAA,MAAA4W,cA5BHrH,MAAC,qBAAA,YAAA,EAAiB,OAAA,cAAuBrG,UAAAA,SAAqB0N,YAC5D1H,UAAAA;AAAAA,IAAAA;AAAAA,IAeCE;AAAAA,EAAAA,GAaH,GAAapP,QAAAkP,KAAAlP,QAAAoP,KAAApP,QAAA4W,YAAA5W,QAAAuP,OAAAA,MAAAvP,EAAA,EAAA;AAAAyP,MAAAA;AAAAzP,SAAAA,EAAA,EAAA,MAAAkC,MAAAlC,EAAAuW,EAAAA,MAAAA,YAAAvW,UAAAwD,UAAAxD,EAAA,EAAA,MAAAmE,QAAAnE,EAAAyW,EAAAA,MAAAA,QAAAzW,EAAAuP,EAAAA,MAAAA,OAAAvP,EAAA,EAAA,MAAAyO,MAAAzO,EAAA4W,EAAAA,MAAAA,cAAA5W,UAAA0W,kBAhDfjH,0BAAC,YACKvN,EAAAA,IACO,WAAAoM,IACH,WAAA,SACFmI,MAAI,GACNtS,MACIuS,QAAa,gBACF,qBAAAjI,IACXjL,QACA,QAAA,GACF+S,MAAO,UACN,QAAA,YACGzK,UAAQA,WACTiL,SACA5F,SACH6F,MACMJ,YACH,UAAA,YAETrH,UAAAA,IA8BF,CAAA,GAAavP,QAAAkC,IAAAlC,QAAAuW,UAAAvW,QAAAwD,QAAAxD,QAAAmE,MAAAnE,QAAAyW,MAAAzW,QAAAuP,KAAAvP,QAAAyO,IAAAzO,QAAA4W,YAAA5W,QAAA0W,gBAAA1W,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA,GAjDbyP;AAiDa;AAIjB,MAAM3D,YAAY;AAAA,EAChBiL,SAAS;AAAA,IAACI,GAAG;AAAA,IAAIC,OAAO;AAAA,IAAKC,QAAQ;AAAA,EAAC;AAAA,EACtC/N,QAAQ;AAAA,IAACqG,SAAS;AAAA,EAAC;AAAA,EACnB2H,SAAUZ,oBACHA,iBAEE;AAAA,IACL/G,SAAS;AAAA,IACTiH,YAAY;AAAA,MACVW,MAAM;AAAA,MACNC,iBAAiBd,iBAAiB;AAAA,MAClCN,UAAUM,iBAAiB;AAAA,IAAA;AAAA,EAC7B,IAR0B;AAAA,IAAC/G,SAAS;AAAA,EAAC;AAAA,EAWzC8H,SAAS;AAAA,IACPN,GAAG;AAAA,IACHC,OAAO;AAAA,EACT;AAAA,EACAM,UAAU;AAAA,IACRL,QAAQ;AAAA,IACRD,OAAO;AAAA,EAAA;AAEX,GAGMlO,UAAU;AAAA,EACd6N,SAAS;AAAA,IACPY,YAAY;AAAA,EACd;AAAA,EACArO,QAAQ;AAAA,IACNqG,SAAS;AAAA,EACX;AAAA,EACA2H,SAAS;AAAA,IACP3H,SAAS;AAAA,EAAA;AAEb,GAEMiI,aAAaC,OAAOC,OAAOC,IAAI,GAC/BC,aAAaH,OAAOC,OAAOG,IAAI,GAC/BC,aAAaL,OAAOC,OAAOK,IAAI;ACtL9B,SAAAC,aAAA;AACEC,SAAAA,qBAAAC,WAAAzE,SAAA0E,MAIP;AAAC;AALI,SAAAA,SAAA;AAAA,SAAA;AAAA;AAAA,SAAA1E,UAAA;AAAA,SAAA;AAAA;AAQP,MAAMyE,YAAYA,MAAM,MAAM;AAAC,GCTlBE,eACXjI,0BAAoD,uBAAuB,IAAI,GCCpEkI,8BAA8B;AAiBpC,SAAAC,WAAA3Y,OAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA,GAGL;AAAA,IAAAiC,IAAA3B;AAAAA,IAAAL;AAAAA,IAAAkD,SAAA1C;AAAAA,IAAAiY;AAAAA,IAAAC;AAAAA,IAAA7O,KAAA/I;AAAAA,EAAAA,IAOIjB,OANFmC,KAAA3B,OAAgCoF,SAAA8S,8BAAhClY,IAEA6C,UAAA1C,OAAWiF,aAAXjF,IAGAqJ,MAAA/I,OAAO2E,aAAP3E,IAGF;AAAA,IAAAqW;AAAAA,MAAiBhK,SAAS;AAACxB,MAAAA;AAAA7L,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAKZnC,KAAAgN,WAAW,GAAC7Y,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA;AAAA+L,MAAAA;AAAA/L,WAAAqX,UAOhBtL,KAAA;AAAA,IAAAsL;AAAAA,EAAA,GAAQrX,OAAAqX,QAAArX,OAAA+L,MAAAA,KAAA/L,EAAA,CAAA;AAAAkO,MAAAA;AAAA,SAAAlO,EAAAkC,CAAAA,MAAAA,MAAAlC,EAAAE,CAAAA,MAAAA,YAAAF,EAAA+J,CAAAA,MAAAA,OAAA/J,SAAAoD,WAAApD,EAAA,CAAA,MAAA2Y,YAAA3Y,EAAA,CAAA,MAAA4Y,YAAA5Y,EAAA,CAAA,MAAA+L,MATjBmC,KAAC,oBAAA,MAAA,EACKhM,IACO,WAAA2J,IACH,WAAA,iBACCzI,SACCuV,UACAC,UACL7O,KACgB,wBACd,OAAAgC,IAEC,SACV,CAAA,GAAO/L,OAAAkC,IAAAlC,OAAAE,UAAAF,OAAA+J,KAAA/J,OAAAoD,SAAApD,OAAA2Y,UAAA3Y,OAAA4Y,UAAA5Y,OAAA+L,IAAA/L,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA,GAZPkO;AAYO;ACnDX,IAAI4K,UAAU;AAGP,SAASC,kBAA0B;AACxC,SAAOC,OAAOF,SAAS;AACzB;ACoBO,SAAAG,cAAAlZ,OAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA,GACL;AAAA,IAAAC;AAAAA,IAAAkD;AAAAA,IAAAuV;AAAAA,IAAAC;AAAAA,IAAA7O;AAAAA,IAAAwH,SAAAhR;AAAAA,EAAkER,IAAAA,OAAfwR,UAAAhR,OAAWoF,aAAXpF;AAAWG,MAAAA;AAAAV,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACftN,KAAA,CAAA,GAAEV,OAAAU,MAAAA,KAAAV,EAAA,CAAA;AAAjD,QAAA,CAAAkB,OAAAgY,QAAA,IAA0B5O,SAAqB5J,EAAE,GACjDyY,UAAgBf,WAAW;AAAC,MAAApX,IAAA6K;AAAA7L,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAwDnBnC,KAAA;AAAA,IAAA2E,SAAA;AAAA,IAAA4I,MArDPC,CAAA,WAAA;AACE,YAAAlZ,KAAWkZ,OAAMlZ,MAAO4Y,gBACxB3C,GAAAA,WAAiBiD,OAAMjD,YAAiB;AAExCkD,aAAAA,gBAAA,MAAA;AACEJ,iBAAQK,CAAA,cAAA;AAAA,cAOFnD,aAAiB;AAAA,mBACZmD,UAAS1T,OAAAoR,CAAmBA,WAAAA,OAAK9W,OAAQA,EAAE;AAQpD,gBAAAqZ,UAAAA,MAAA;AACEF,4BAAA,MAAA;AACMG,2BACFlH,aAAakH,SAAS,GAGxBP,SAAQQ,CAAAA,iBAAmBA,aAAY7T,OAAA8T,CAAmB1C,YAAAA,QAAK9W,OAAQA,EAAE,CAAC;AAAA,YAAA,CAC3E;AAAA,UAGHsZ,GAAAA,YAAkBjZ,WAAWgZ,SAASpD,QAAQ;AASzCmD,iBAAAA,CAAAA,GAAAA,UAAS1T,OAAA+T,aAAmB3C,QAAK9W,OAAQA,EAAE,GAAC;AAAA,YAAAqZ;AAAAA,YAAArZ;AAAAA,YAAAkZ,QAAA;AAAA,cAAA,GAIjCA;AAAAA,cAAMjD;AAAAA,YAAAA;AAAAA,UAAA,CAAA;AAAA,QAAA,CAGvB;AAAA,MACF,CAAA,GAEMjW;AAAAA,IAAAA;AAAAA,EAAE,GAGgBH,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GAA3BgB,KAAO6K;AAtDT,QAAAvL,QAAiCU;AAuD3B+K,MAAAA;AAAA/L,IAAA+J,CAAAA,MAAAA,OAAA/J,EAAAmZ,CAAAA,MAAAA,WAAAnZ,EAAAoD,CAAAA,MAAAA,WAAApD,SAAA2Y,YAAA3Y,EAAA,CAAA,MAAA4Y,YAAA5Y,EAAA,CAAA,MAAAkB,SAAAlB,EAAA,CAAA,MAAAuR,WAKDxF,KAAAoN,WACC,oBAAC,iBAAuB5H,SACtB,UAAA,oBAAC,cAAoBnO,SAAmBuV,UAAoBC,UAAe7O,KACzE,UAAA,oBAAC,mBAAyB,SAAA,IAAY,MAAA,aACnC7I,gBAAKkH,IAAAyL,OAUL,GACH,EACF,CAAA,EACF,CAAA,GACD7T,OAAA+J,KAAA/J,OAAAmZ,SAAAnZ,OAAAoD,SAAApD,OAAA2Y,UAAA3Y,OAAA4Y,UAAA5Y,OAAAkB,OAAAlB,OAAAuR,SAAAvR,OAAA+L,MAAAA,KAAA/L,EAAA,CAAA;AAAAkO,MAAAA;AAAA,SAAAlO,EAAAE,EAAAA,MAAAA,YAAAF,UAAA+L,MApBHmC,KAAA,qBAAA,aAAA,UAAA,EAA8B5N,OAC3BJ,UAAAA;AAAAA,IAAAA;AAAAA,IACA6L;AAAAA,EAAAA,EAmBH,CAAA,GAAwB/L,QAAAE,UAAAF,QAAA+L,IAAA/L,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA,GArBxBkO;AAqBwB;AApFrB,SAAA2F,QAAAtT,IAAA;AAqEmB,QAAA;AAAA,IAAAiZ,SAAAK;AAAAA,IAAA1Z,IAAA2Z;AAAAA,IAAAT,QAAAU;AAAAA,EAAAA,IAAAxZ;AAAqB,6BAC9B,OAEW,EAAA,UAAA8Y,SAAMnD,UACH,aAAAmD,SAAMlD,aACVqD,oBACD,QAAAH,SAAMhD,QACP,OAAAgD,SAAM/C,OACH,UAAA+C,SAAMjD,gBAChB;AAAA;AChGX,SAAA4D,WAAA;AACL1Z,QAAAA,QAAcoQ,WAAA8H,YAAuB;AAAC,MAAA,CAEjClY;AAAK2Z,UAAAA,IAAAA,MACQ,mCAAmC;AAAA,MAMjD,CAACC,SAAS5Z,KAAK,KAAKA,MAAKkQ,YAAgB;AAAAyJ,UAAAA,IAAAA,MAC3B,iDAAiD;AAG5D3Z,SAAAA;AAAK;ACnBE6Z,SAAAA,qBACdjZ,OACAkZ,cACA5T,gBACoB;AACpB,QAAM6T,MAAMD,aAAapY,QAAQwE,cAAc,GACzCmO,MAAMyF,aAAa9O,MAAM,GAAG+O,GAAG,GAC/BpP,MAAM0J,IAAIjV;AAEhB,WAASF,IAAIyL,MAAM,GAAGzL,KAAK,GAAGA,KAAK,GAAG;AACpC,UAAM8a,UAAU3F,IAAInV,CAAC,EAAEb,aAAa,eAAe;AAEnD,QAAI,CAAC2b;AACH;AAGIC,UAAAA,WAAWD,QAAQE,MAAM,GAAG;AAElCD,aAASE,IAAI;AAEb,UAAMC,IAAc,CAAE;AAEtB,QAAI1U,WAAW;AAEf,aAAS2U,IAAI,GAAGA,IAAIJ,SAAS7a,QAAQib,KAAK,GAAG;AACzCvB,QAAAA,KAAKmB,SAASI,CAAC,CAAC;AAEZC,YAAAA,IAAIF,EAAEG,KAAK,GAAG;AAEpB,UAAI,CAAC3Z,MAAM0Z,CAAC,GAAG5U,UAAU;AACZ,mBAAA;AACX;AAAA,MAAA;AAAA,IACF;AAGEA,QAAAA;AACF,aAAO2O,IAAInV,CAAC;AAAA,EAAA;AAIT,SAAA;AACT;AAEgBsb,SAAAA,qBACd5Z,OACAkZ,cACA5T,gBACoB;AACd6T,QAAAA,MAAMD,aAAapY,QAAQwE,cAAc,GACzCmO,MAAMyF,aAAa9O,MAAM+O,GAAG,GAC5BpP,MAAMmP,aAAa1a;AAEzB,WAASF,IAAI,GAAGA,IAAIyL,KAAKzL,KAAK,GAAG;AAC3B,QAAA,CAACmV,IAAInV,CAAC;AACR;AAGF,UAAM8a,UAAU3F,IAAInV,CAAC,EAAEb,aAAa,eAAe;AAEnD,QAAI,CAAC2b;AACH;AAGIC,UAAAA,WAAWD,QAAQE,MAAM,GAAG;AAElCD,aAASE,IAAI;AAEb,UAAMC,IAAc,CAAE;AAEtB,QAAI1U,WAAW;AAEf,aAAS2U,IAAI,GAAGA,IAAIJ,SAAS7a,QAAQib,KAAK,GAAG;AACzCvB,QAAAA,KAAKmB,SAASI,CAAC,CAAC;AAEZC,YAAAA,IAAIF,EAAEG,KAAK,GAAG;AAEpB,UAAI,CAAC3Z,MAAM0Z,CAAC,GAAG5U,UAAU;AACZ,mBAAA;AACX;AAAA,MAAA;AAAA,IACF;AAGEA,QAAAA;AACF,aAAO2O,IAAInV,CAAC;AAAA,EAAA;AAIT,SAAA;AACT;AAEO,SAASub,kBAAkBnM,IAAuB;AAKvD,MAJIA,GAAGjQ,aAAa,MAAM,MAAM,cAC9BiQ,GAAGtP,MAAM,GAGPsP,GAAGjQ,aAAa,MAAM,MAAM,QAAQ;AACtC,UAAMqc,aAAapM,GAAGoM;AAElBA,kBAAcA,sBAAsBtU,eACtCsU,WAAW1b,MAAM;AAAA,EAAA;AAGvB;AChGa2b,MAAAA,cACX1K,0BAAmD,sBAAsB,IAAI,GCWlE2K,uBAAuB;AAoB7B,SAAAC,KAAApb,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GASDM,KAAAR;AAA+CG,MAAAA,UAAAyD,cAAAb,SAAAqB,MAAAzD;AAAAV,WAAAO,MANnD;AAAA,IAAAL;AAAAA,IAAA6J,KAAArJ;AAAAA,IAAAoC;AAAAA,IAAAY,KAAAC;AAAAA,IAAA,GAAAQ;AAAAA,EAAAA,IAMI5D,IAA+CP,OAAAO,IAAAP,OAAAE,UAAAF,OAAA2D,cAAA3D,OAAA8C,SAAA9C,OAAAmE,MAAAnE,OAAAU,OAAAR,WAAAF,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAA8C,UAAA9C,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAJjD,QAAA+J,MAAArJ,OAAOiF,aAAPjF,IAMFgD,MAAYe,OAAA,IAAkC,GAC9C,CAAA+B,gBAAA4U,iBAAA,IAA4C9Q,aAAiC,GAC7E6H,oBAA0B1N,OAAO+B,cAAc;AAAC,MAAAxF,IAAA6K;AAAA7L,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACXnC,KAAA,CAAE7L,GAAAA,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GAAAgB,KAAF6K;AAArC,QAAAwP,OAAuBra;AAAqB+K,MAAAA;AAAA/L,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACoBjC,KAAA,CAAA,GAAE/L,OAAA+L,MAAAA,KAAA/L,EAAA,CAAA;AAAlE,QAAA,CAAAoa,cAAAkB,eAAA,IAAwChR,SAAwByB,EAAE;AAACmC,MAAAA;AAAAlO,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACrBE,KAAA,CAAA,GAAElO,OAAAkO,MAAAA,KAAAlO,EAAA,CAAA;AAAhD,QAAA,CAAAkB,OAAAgY,QAAA,IAA0B5O,SAAoB4D,EAAE,GAChDqN,WAAiB9W,OAAOvD,KAAK;AAACiN,MAAAA;AAAAnO,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEkDG,KAAAA,MAAMzK,IAAGuB,SAAQjF,OAAAmO,MAAAA,KAAAnO,EAAA,CAAA,GAAjGiO,oBAAkEtK,cAAcwK,EAAiB;AAAC,MAAAG,IAAAG;AAAAzO,YAAAwG,kBAExF8H,KAAAA,MAAA;AACR6D,sBAAiBlN,UAAWuB;AAAAA,EAAc,GACzCiI,MAACjI,cAAc,GAACxG,QAAAwG,gBAAAxG,QAAAsO,IAAAtO,QAAAyO,OAAAH,KAAAtO,EAAA,EAAA,GAAAyO,KAAAzO,EAAA,EAAA,IAFnB4H,UAAU0G,IAEPG,EAAgB;AAAC,MAAAC,KAAAC;AAAA3O,YAAAkB,SAEVyN,KAAAA,MAAA;AACR4M,aAAQtW,UAAW/D;AAAAA,EAAK,GACvBwN,OAACxN,KAAK,GAAClB,QAAAkB,OAAAlB,QAAA0O,KAAA1O,QAAA2O,OAAAD,MAAA1O,EAAA,EAAA,GAAA2O,KAAA3O,EAAA,EAAA,IAFV4H,UAAU+G,IAEPD,GAAO;AAACQ,MAAAA;AAAAlP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAGTkB,MAAAA,CAAA9Q,SAAAod,QAAAxV,UAAA3F,cACE6Y,SAAQuC,CAAA,OAAA;AAAA,IAAA,GAAaA;AAAAA,IAAC,CAAGJ,MAAI,GAAA;AAAA,MAAAjd;AAAAA,MAAA4H;AAAAA,IAAAA;AAAAA,IAAwB,GAEjD3F,YACF+a,kBAAkBhd,OAAO,GAAC,MAAA;AAI1B8a,aAAQwC,CAAA,QAAA;AACN,YAAAC,WAAA;AAAA,QAAA,GAAqBF;AAAAA,MAAC;AAEfE,aAAAA,OAAAA,SAASN,MAAI,GAEbM;AAAAA,IAAAA,CACR;AAAA,EAAA,IAEJ3b,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA;AAjBH,QAAA4b,eAAqB1M;AAmBpBE,MAAAA;AAAApP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAE+BoB,MAAAA,CAAAyM,QAAAC,eAAA;AAC9B5C,aAAQ6C,CAAA,QAAA;AACNC,YAAAA,YAAkBP,IAAEJ,MAAI;AAAC,aAEpBW,YAAmB;AAAA,QAAA,GAEbP;AAAAA,QAAC,CAAGJ,MAAI,GAAA;AAAA,UAAA,GAAOW;AAAAA,UAAShW,UAAEA;AAAAA,QAAAA;AAAAA,MAAQ,IAFtByV;AAAAA,IAAAA,CAGxB;AAAA,EAAA,GACFzb,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AARD,QAAAic,cAAoB7M;AAQdG,MAAAA;AAKc,QAAAE,MAAAjJ,kBAAkB4T,mBAAuB;AAAAvK,MAAAA;AAAA7P,IAAA+J,EAAAA,MAAAA,OAAA/J,UAAAkB,SAAAlB,EAAA,EAAA,MAAAyP,OAFpDI,MAAA;AAAA,IAAAW,SAAA;AAAA,IAAAhK,gBAEWiJ;AAAAA,IAAyC1F;AAAAA,IAAAmS,OAAA;AAAA,IAAAb;AAAAA,IAAAO;AAAAA,IAAAK;AAAAA,IAAAb;AAAAA,IAAAla;AAAAA,EAAAA,GAQ1DlB,QAAA+J,KAAA/J,QAAAkB,OAAAlB,QAAAyP,KAAAzP,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA,GAAAuP,MAVMM;AADT,QAAAgD,eAAuCtD;AAatCQ,MAAAA;AAAA/P,YAAAoa,gBAGCrK,MAAApP,CAAA,UAAA;AAAA,QACOwR,kBAAiBlN,SAAA;AAElBtE,UAAAA,MAAKC,QAAS,aAAW;AAC3BD,cAAKmG,eAAgB;AAErB,cAAAqV,SAAerB,qBACbS,SAAQtW,SACRmV,cACAjI,kBAAiBlN,OACnB;AAEIkX,mBACFpB,kBAAkBoB,MAAM,GACxBf,kBAAkBe,MAAM;AAAC;AAAA,MAAA;AAMzBxb,UAAAA,MAAKC,QAAS,WAAS;AACzBD,cAAKmG,eAAgB;AAErB,cAAAsV,SAAejC,qBACboB,SAAQtW,SACRmV,cACAjI,kBAAiBlN,OACnB;AAEImX,mBACFrB,kBAAkBqB,MAAM,GACxBhB,kBAAkBgB,MAAM;AAAC;AAAA,MAAA;AAMzBzb,UAAAA,MAAKC,QAAS,aAAW;AAC3BD,cAAKmG,eAAgB;AAErB,cAAAwT,UAAgBnI,kBAAiBlN,QAAAtG,aAAsB,eAAe;AAAC,YAAA,CAElE2b;AAAO;AAEZ+B,cAAAA,cAAkBd,SAAQtW,QAASqV,OAAO;AAAC,YAAA,CAEtC0B;AAAS;AAAA,YAEVA,YAAShW;AACXkT,mBAAQoD,CAAA,QAAA;AACNC,kBAAAA,cAAkBd,IAAEnB,OAAO;AAAC,mBAEvB0B,cAAmB;AAAA,cAAA,GAEbP;AAAAA,cAAC,CAAGnB,OAAO,GAAA;AAAA,gBAAA,GAAO0B;AAAAA,gBAAShW,UAAA;AAAA,cAAA;AAAA,YAAA,IAFfyV;AAAAA,UAAAA,CAGxB;AAAA,aAAC;AAEFe,gBAAAA,WAAiBlC,QAAOE,MAAO,GAAG;AAElCgC,mBAAQ/B,IAAK;AAEbgC,gBAAAA,YAAkBD,SAAQ3B,KAAM,GAAG,GACnC6B,cAAoBD,aAAalB,SAAQtW,QAASwX,SAAS;AAEvDC,0BACFA,YAAWte,QAAAkB,MACX8b,GAAAA,kBAAkBsB,YAAWte,OAAQ;AAAA,QAAA;AAAC;AAAA,MAAA;AAOxCuC,UAAAA,MAAKC,QAAS,cAAY;AAC5BD,cAAKmG,eAAgB;AAErB,cAAA6V,aAAmBxK,kBAAiBlN,QAAAtG,aAAsB,eAAe;AAAC,YAAA,CAErEge;AAAU;AAEVpB,iBAAQtW,QAAS0X,UAAU,GAAA3W,YAC9BkT,SAAQ0D,CAAA,QAAA;AACNC,gBAAAA,cAAkBpB,IAAEkB,UAAU;AAAC,iBAE1BX,cAAmB;AAAA,YAAA,GAEbP;AAAAA,YAAC,CAAGkB,UAAU,GAAA;AAAA,cAAA,GAAOX;AAAAA,cAAShW,UAAA;AAAA,YAAA;AAAA,UAAA,IAFlByV;AAAAA,QAAAA,CAGxB;AAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAKPzb,QAAAoa,cAAApa,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA;AA7FH,QAAAe,gBAAsBgP;AA+FrBC,MAAAA;AAAAhQ,YAAA8C,WAGCkN,MAAAzB,CAAA,YAAA;AACE6M,sBAAkBza,QAAK8F,MAAO,GAG9B3D,UAAUnC,OAAK;AAAA,EAAA,GAChBX,QAAA8C,SAAA9C,QAAAgQ,OAAAA,MAAAhQ,EAAA,EAAA;AANH,QAAAqS,cAAoBrC;AAQnBE,MAAAA;AAAAlQ,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAESkC,MAAAA,MAAA;AAAA,QACHxM,CAAAA,IAAGuB;AAAA;AACR,UAAA6X,gBAAsB3X,MAAA4X,KACpBrZ,IAAGuB,QAAA+X,iBAA0B,sBAAsB,CACrD;AAEA1B,oBAAgBwB,aAAa;AAAA,EAAA,GAC9B9c,QAAAkQ,OAAAA,MAAAlQ,EAAA,EAAA;AAAAmQ,MAAAA;AAAAnQ,YAAAE,YAAEiQ,OAACjQ,QAAQ,GAACF,QAAAE,UAAAF,QAAAmQ,OAAAA,MAAAnQ,EAAA,EAAA,GAPb4H,UAAUsI,KAOPC,GAAU;AAACE,MAAAA;AAAArQ,IAAAE,EAAAA,MAAAA,YAAAF,EAAA,EAAA,MAAA+J,OAAA/J,EAAAqS,EAAAA,MAAAA,eAAArS,EAAA,EAAA,MAAAe,iBAAAf,UAAAmE,QAIVkM,MAAC,oBAAA,OAAA,EACI,IAAA,MACK,WAAA,QAAM,GACVlM,MACC4F,KACIsI,SAAU,aACRtR,0BACN2C,KACA,MAAA,kBAGP,GAAQ1D,QAAAE,UAAAF,QAAA+J,KAAA/J,QAAAqS,aAAArS,QAAAe,eAAAf,QAAAmE,MAAAnE,QAAAqQ,OAAAA,MAAArQ,EAAA,EAAA;AAAAgV,MAAAA;AAAA,SAAAhV,EAAA6S,EAAAA,MAAAA,gBAAA7S,UAAAqQ,OAZV2E,MAAA,oBAAA,YAAA,UAAA,EAA6BnC,OAAAA,cAC3BxC,UAAAA,IAYF,CAAA,GAAuBrQ,QAAA6S,cAAA7S,QAAAqQ,KAAArQ,QAAAgV,OAAAA,MAAAhV,EAAA,EAAA,GAbvBgV;AAauB;AC7OpB,SAAAiI,UAAA;AACLC,QAAAA,OAAaxM,WAAAuK,WAAsB;AAAC,MAAA,CAE/BiC;AAAIjD,UAAAA,IAAAA,MACS,6BAA6B;AAGxCiD,SAAAA;AAAI;ACVN,MAgBMC,YAAY,SAAApd,OAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAOnBM,KAAAR;AAA0D,MAAAG,UAAAiE,MAAAzD;AAAAV,WAAAO,MAJ9D;AAAA,IAAAL;AAAAA,IAAA8F,UAAAtF;AAAAA,IAAA,GAAAyD;AAAAA,EAII5D,IAAAA,IAA0DP,OAAAO,IAAAP,OAAAE,UAAAF,OAAAmE,MAAAnE,OAAAU,OAAAR,WAAAF,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAF5DgG,QAAAA,WAAAtF,OAAgBiF,cAAhBjF,IAIFwc,OAAaD,QAAAA,GAODjc,MAACgF;AAAQ6F,MAAAA;AAAA,SAAA7L,EAAAE,CAAAA,MAAAA,YAAAF,SAAAmE,QAAAnE,EAAA,CAAA,MAAAgB,MAAAhB,EAAAkd,CAAAA,MAAAA,KAAAnT,OAJnB8B,KAAC,oBAAA,OAAA,EACI,IAAA,MACK,WAAA,aACJ1H,GAAAA,MACI,QAAAnD,IACG,WAAAkc,KAAInT,KACV,MAAA,SACA,KAAAmT,KAAInT,eAGX,GAAQ/J,OAAAE,UAAAF,OAAAmE,MAAAnE,OAAAgB,IAAAhB,EAAA,CAAA,IAAAkd,KAAAnT,KAAA/J,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GAVR6L;AAUQ,GCfCuR,4BAA4B;AAgClC,SAASC,SACdtd,OACmB;AACb,QAAA;AAAA,IACJG;AAAAA,IACA0J;AAAAA,IACA5D,UAAUsX,eAAe;AAAA,IACzB/a,WAAW;AAAA,IACX1D;AAAAA,IACA2D,MAAM+a;AAAAA,IACNpd,IAAIqd;AAAAA,IACJC,SAAS;AAAA,IACTC;AAAAA,IACA/U;AAAAA,IACAvF,UAAU;AAAA,IACVI,SAAS;AAAA,IACTnD,WAAW;AAAA,IACXsd,QAAQ;AAAA,IACRC;AAAAA,IACAC;AAAAA,IACA,GAAG1Z;AAAAA,EACDpE,IAAAA,OAEE+d,UAAUrZ,OAA2B,IAAI,GACzCsZ,cAActZ,OAA8B,IAAI,GAChDyY,OAAOD,QAAAA,GACP;AAAA,IAAC5B;AAAAA,IAAMO;AAAAA,IAAcK;AAAAA,IAAab;AAAAA,EAAiB,IAAI8B,MACvDc,MAAMC,MAAM,GACZ9d,KAAKqd,UAAUQ,KACfxB,WAAWhX,QAAQ,MAAM6V,KAAKlV,OAAO,CAAChG,MAAM,EAAE,CAAC,GAAG,CAACA,IAAIkb,IAAI,CAAC,GAC5Df,UAAUkC,SAAS3B,KAAK,GAAG,GAC3BmB,YAAYkB,KAAKhc,MAAMoZ,OAAO,GAC9BtU,WAAWgW,WAAWhW,aAAaL,SAAY2X,eAAetB,WAAWhW,YAAY,IACrF3E,UAAU6b,KAAK1W,kBAAkB0W,KAAK1W,mBAAmBsX,QAAQ7Y,SACjEvG,WAAW2C,UAAU,IAAI,IACzBwR,eAAerN,QACnB,OAAO;AAAA,IAAC,GAAG0X;AAAAA,IAAMhB,OAAOgB,KAAKhB,QAAQ;AAAA,IAAGb,MAAMmB;AAAAA,EAAAA,IAC9C,CAACA,UAAUU,IAAI,CACjB,GAEMzc,cAAc8D,YACjB5D,CAAqE,UAAA;AAChEgI,eAASA,QAAQhI,KAAK;AAE1B,UAAM8F,SAAS9F,MAAM8F;AAGnBA,sBAAkBC,gBACjBD,OAAO9H,aAAa,SAAS,MAAM,cAClC8H,OAAOyX,QAAQ,2BAA2B,OAE5Cvd,MAAMyN,gBAAAA,GACN6N,YAAY3B,SAAS,CAACtU,QAAQ,GAC9BoV,kBAAkB0C,QAAQ7Y,OAAO;AAAA,EAErC,GACA,CAACe,UAAUsU,SAAS3R,SAASsT,aAAab,iBAAiB,CAC7D,GAEMra,gBAAgBwD,YACnB5D,CAAsC,YAAA;AACjCU,eAAWV,QAAMC,QAAQ,YAChBmd,YAAY9Y,WAAW6Y,QAAQ7Y,UAEtCkZ,MAAM;AAAA,EAAA,GAGd,CAAC9c,OAAO,CACV;AAEAuG,YAAU,MAAM;AACd,QAAKkW,QAAQ7Y;AAEN2W,aAAAA,aAAakC,QAAQ7Y,SAASuX,SAAS3B,KAAK,GAAG,GAAG7U,UAAU3F,QAAQ;AAAA,KAC1E,CAAC2F,UAAUwW,UAAUZ,cAAcvb,QAAQ,CAAC;AAE/C,QAAM6I,WACJ,qBAAC,MAAK,EAAA,KAAKyU,OAAO,SAChB,UAAA;AAAA,IAAA,qBAAC,OACC,OAAO;AAAA,MACLS,YAAYb,iBAAiBrd,WAAW,YAAY;AAAA,MACpDme,eAAe;AAAA,IAGhBd,GAAAA,UAAAA;AAAAA,MACC,iBAAA,oBAAC,QAAK,OAAc,MAAMhb,UAAU,QAClC,UAAA,oBAAC,iBAAa,EAChB,CAAA;AAAA,MAED,CAACgb,iBACA,oBAAC,MAAK,EAAA,OAAc,MAAMhb,UAAU,QAClC,UAAC,oBAAA,sBAAA,EAAqB,OAAO;AAAA,QAAC+b,WAAWtY,WAAW,kBAAkBL;AAAAA,SAAW,EACnF,CAAA;AAAA,IAAA,GAEJ;AAAA,IACC,oBAAA,KAAA,EAAI,MAAM,GACT,UAAC,oBAAA,MAAA,EAAK,OAAc,MAAMpD,UAAU,cAAa,YAAW,QACzDqb,gBACH,EACF,CAAA;AAAA,EAAA,GACF;AAGF,SAAI/e,OAEC,qBAAA,KAAA,EACC,iBAAewB,WAAW,KAAKsF,QAC/B,gBAAcxF,IACd,iBAAema,SACf,WAAQ,YACHnW,GAAAA,MACL,IAAG,MACH,WAAWoa,SAAS;AAAA,IAAC3U;AAAAA,EAAAA,CAAU,GAC/B,SAASnJ,aACT,KAAKqd,SACL,MAAK,QAEL,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,iBAAe9X;AAAAA,QACf,IAAIyX;AAAAA,QAEJ,WAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA,KAAKM;AAAAA,QACL,MAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA,OAAO;AAAA,UACLS,aAAa,QAAQC,KAAKd,MAAM,CAAC,CAAC,MAAMT,KAAKhB,KAAK;AAAA,QACpD;AAAA,QAEChT,UAAAA;AAAAA,MAAAA;AAAAA,IACH;AAAA,IAEC,oBAAA,YAAY,UAAZ,EAAqB,OAAO2J,cAC1B3S,UAAY,YAAA,oBAAC,WAAU,EAAA,QAAQ,CAAC8F,UAAW9F,SAAS,CAAA,EACvD,CAAA;AAAA,EAAA,GACF,IAKD,qBAAA,KAAA,EACC,iBAAeG,WAAW,KAAKsF,QAC/B,WAAQ,YACR,gBAAcxF,IACd,iBAAema,SACf,GAAKnW,MACL,iBAAe6B,UACf,WAAWuY,SAAS;AAAA,IAAC3U;AAAAA,EAAU,CAAA,GAC/B,SAASnJ,aACT,WAAWM,eACX,KAAK+c,SACL,MAAK,YACL,UAEA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QAEH,gBAAczc,UAAU,KAAKsE;AAAAA,QAC7B,WAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA,OAAO;AAAA,UACL6Y,aAAa,QAAQC,KAAKd,MAAM,CAAC,CAAC,MAAMT,KAAKhB,KAAK;AAAA,QACpD;AAAA,QAEChT,UAAAA;AAAAA,MAAAA;AAAAA,IACH;AAAA,IAEA,oBAAC,YAAY,UAAZ,EAAqB,OAAO2J,cAC1B3S,UAAAA,YAAa,oBAAA,WAAA,EAAU,UAAqBA,SAAS,CAAA,EACxD,CAAA;AAAA,EAAA,GACF;AAEJ;ACzOO,SAASwe,cAAc9P,IAAmB;AAC3C,MAAA,EAAEA,cAAc+P,SAAiB,QAAA;AAE/BC,QAAAA,QAAQC,OAAOC,iBAAiBlQ,EAAE;AAExC,SACEgQ,MAAMG,UAAU5X,SAAS,MAAM,KAC/ByX,MAAMG,UAAU5X,SAAS,QAAQ,KACjCyX,MAAMI,UAAU7X,SAAS,MAAM,KAC/ByX,MAAMI,UAAU7X,SAAS,QAAQ;AAErC;ACTa8X,MAAAA,kBACX,OAAO3gB,WAAa,OAAe,OAAOugB,SAAW,OAAeA,OAAOK,iBACvEL,OAAOK,iBACPC,gBCUOC,+BAA+B;AA+BrC,SAAAC,YAAAtf,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAYDM,KAAAR;AAA8D,MAAA4D,cAAA2b,YAAAzc,UAAA0c,YAAApb,MAAAzD,IAAAM,IAAA6K;AAAA7L,WAAAO,MATlE;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAqJ,KAAA/I;AAAAA,IAAAse;AAAAA,IAAAtU,OAAAa;AAAAA,IAAAhJ;AAAAA,IAAA0c;AAAAA,IAAA7b,KAAAC;AAAAA,IAAA,GAAAQ;AAAAA,EASI5D,IAAAA,IAA8DP,OAAAO,IAAAP,OAAA2D,cAAA3D,OAAAsf,YAAAtf,OAAA6C,UAAA7C,OAAAuf,YAAAvf,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,OAAAlI,eAAA3D,EAAA,CAAA,GAAAsf,aAAAtf,EAAA,CAAA,GAAA6C,WAAA7C,EAAA,CAAA,GAAAuf,aAAAvf,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA;AARhEkC,QAAAA,KAAAxB,OAAiCiF,SAAAyZ,+BAAjC1e,IACAqJ,MAAA/I,OAAO2E,aAAP3E;AAAO+K,MAAAA;AAAA/L,WAAA6L,MAEPE,KAAAF,OAAUlG,UAAVkG,IAAAA,IAAU7L,OAAA6L,IAAA7L,QAAA+L,MAAAA,KAAA/L,EAAA,EAAA;AAAV,QAAAgL,QAAAe,IAOFrI,MAAYe,OAAA,IAAkC,GAC9C+a,aAAmB/a,OAAA,IAAkC,GACrD,CAAAiJ,WAAAC,YAAA,IAAkCrD,UAAU,GAC5C,CAAAsD,cAAAC,eAAA,IAAwCvD,UAAU,GAClD,CAAAmV,YAAAC,aAAA,IAAoCpV,WAAW,GAE/C,CAAAqV,UAAAC,WAAA,IAAgCtV,UAAU;AAAC4D,MAAAA;AAAAlO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAGqCE,KAAAA,MAAMxK,IAAGuB,SAAQjF,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA,GAAjGiO,oBAAkEtK,cAAcuK,EAAiB;AAAC,MAAAC,IAAAG;AAAAtO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAExFG,KAAAA,MAAA;AAAA,QACHzK,CAAAA,IAAGuB;AAAA;AAER,UAAA4a,WAAiBC,eAAepc,IAAGuB,QAAA8a,UAAmB;AAAC,QAEnDF,UAAQ;AAAA,UACJA,EAAAA,oBAAQnZ;AAAuB;AAErC,YAAAmI,eAAAA,MAAA;AACElB,qBAAakS,SAAQnS,SAAU;AAAA,MAAC;AAG1BqB,eAAAA,iBAAkB,UAAUF,cAAY;AAAA,QAAAG,SAAA;AAAA,MAAA,CAAiB;AAEjEgR,YAAAA,KAAA,IAAAf,gBAAA9W,CAAA,YAAA;AACE0F,wBAAgB1F,QAAO,CAAA,EAAA8X,YAAAC,MAAsB;AAAA,MAAA,CAAC;AAGhDF,aAAAA,GAAEG,QAASN,QAAQ,GAEnBhR,gBAAc,MAAA;AAGJI,iBAAAA,oBAAqB,UAAUJ,YAAY,GAEnDmR,GAAEI,UAAWP,QAAQ,GACrBG,GAAEK,WAAY;AAAA,MAAC;AAAA,IAAA;AAInB,UAAAC,iBAAAA,MAAA;AACE3S,mBAAYkR,OAAA0B,OAAe;AAAA,IAAC,GAG9BC,eAAAA,MAAA;AACE3S,sBAAegR,OAAA4B,WAAmB;AAAA,IAAC;AAGrC1R,WAAAA,OAAAA,iBAAwB,UAAUF,gBAAY;AAAA,MAAAG,SAAA;AAAA,IAAiB,CAAA,GAC/D6P,OAAA9P,iBAAwB,UAAUyR,YAAY,GAE9C3S,gBAAegR,OAAA4B,WAAmB,GAElC5R,kBAAc,MAAA;AAGZgQ,aAAA5P,oBAA2B,UAAUJ,cAAY,GACjDgQ,OAAA5P,oBAA2B,UAAUuR,YAAY;AAAA,IAAC;AAAA,EAAA,GAEnDlS,KAAA,CAAA,GAAEtO,QAAAmO,IAAAnO,QAAAsO,OAAAH,KAAAnO,EAAA,EAAA,GAAAsO,KAAAtO,EAAA,EAAA,IAjDL4H,UAAUuG,IAiDPG,EAAE;AAEL,QAAArD,MAAYD,MAAKtL,QACjBwgB,SAAeT,aAAaxU,OAAOwU,aAAaE,YAAYA,WAAY,GACxEe,YAAkBR,SAAS3X,KAAAC,IAASD,KAAA8C,MAAYqC,YAAYwS,SAAUjV,GAAG,IAAC,GAAO,CAAA,IAAK,GACtF0V,UAAgBT,SAAS3X,KAAA4C,MAAYuC,YAAYE,gBAAgBsS,SAAUjV,GAAG,QAAS;AAAA,MAAAwD,IAAAE;AAAA3O,IAAA0gB,EAAAA,MAAAA,aAAA1gB,EAAA2f,EAAAA,MAAAA,YAAA3f,EAAAyf,EAAAA,MAAAA,cAAAzf,UAAA6C,YAAA7C,EAAA,EAAA,MAAA4N,gBAAA5N,EAAA,EAAA,MAAA0N,aAAA1N,EAAA,EAAA,MAAA2gB,WAE7ElS,KAAAA,MAAA;AACA,eAAA;AAAA,MAAAiS;AAAAA,MAAA3W,KAED4V;AAAAA,MAAQF;AAAAA,MAAA7R;AAAAA,MAAAF;AAAAA,MAAAiT;AAAAA,IAAAA,CAAA;AAAA,EAAA,GAMdhS,KAAC+R,CAAAA,WAAWf,UAAUF,YAAY5c,UAAU+K,cAAcF,WAAWiT,OAAO,GAAC3gB,QAAA0gB,WAAA1gB,QAAA2f,UAAA3f,QAAAyf,YAAAzf,QAAA6C,UAAA7C,QAAA4N,cAAA5N,QAAA0N,WAAA1N,QAAA2gB,SAAA3gB,QAAAyO,IAAAzO,QAAA2O,OAAAF,KAAAzO,EAAA,EAAA,GAAA2O,KAAA3O,EAAA,EAAA,IAThF4H,UAAU6G,IASPE,EAA6E;AAACD,MAAAA;AAAA1O,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEvEU,MAAAA,MAAA;AAERgR,oBAAgB;AAAA,EAAA,GACjB1f,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA;AAAAkP,MAAAA;AAAAlP,YAAAuf,cAAErQ,OAACqQ,UAAU,GAACvf,QAAAuf,YAAAvf,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA,GAHf4H,UAAU8G,KAGPQ,GAAY;AAACE,MAAAA;AAAA,OAAA;AAAA,QAGV,CAACmQ,cAAcvU,MAAKtL,WAAa,GAAA;AAAE,YAAA;AAAWqV,YAAAA;AAAAA,IAAAA;AAAA,QAE9C0K,eAAiB,IAAA;AAAAlQ,UAAAA;AAAAvP,QAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAIRuB,OAAAX,CAASA,OAAAA,KAAK8Q,cAAc9Q,GAAEE,YAAa,IAACnJ,QAAa3F,QAAAuP,QAAAA,OAAAvP,EAAA,EAAA;AAAAyP,UAAAA;AAAAzP,QAAAgL,EAAAA,MAAAA,MAAAhL,CAAAA,KAAAA,UAAAuf,cAO7D9P,OAAA8P,WAAWvU,QAAQ,GAAChL,QAAAgL,MAAA,CAAA,GAAAhL,QAAAuf,YAAAvf,QAAAyP,QAAAA,OAAAzP,EAAA,EAAA;AAAA6P,UAAAA;AAAA7P,gBAAAyP,QARvBI,OAAC,oBAAA,KACM,EAAA,KAAAN,MACK,UAAA,GACC,WAAC,GACA,YAAC,GAEJ,UAAA,YAERE,UAAAA,KAAAA,IACH,GAAMzP,QAAAyP,MAAAzP,QAAA6P,QAAAA,OAAA7P,EAAA,EAAA;AAAA+P,UAAAA;AAAA/P,QAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAEC+B,OAAAwE,CAAS3F,SAAAA,OAAKgR,YAAYhR,KAAEE,YAAa,IAACnJ,QAAa3F,QAAA+P,QAAAA,OAAA/P,EAAA,EAAA;AAC5CgQ,YAAAA,MAAAyO,KAAAd,MAAW5T,GAAG;AAACmG,UAAAA;AAAAlQ,gBAAAgQ,OAFjCE,MAAA,oBAAA,OAAA,EACO,KAAAH,MACE,OAAA;AAAA,QAAAmQ,QAASlQ;AAAAA,MAChB,EAAA,CAAA,GAAAhQ,QAAAgQ,KAAAhQ,QAAAkQ,OAAAA,MAAAlQ,EAAA,EAAA;AAAAmQ,UAAAA;AAAAnQ,QAAA6P,EAAAA,MAAAA,QAAA7P,UAAAkQ,OAfCC,OAEHN,qBAAAA,YAAAA,EAAAA,UAAAA;AAAAA,QAAAA;AAAAA,QAUAK;AAAAA,MAAAA,EAGE,CAAA,CAAA,GAELlQ,QAAA6P,MAAA7P,QAAAkQ,KAAAlQ,QAAAmQ,OAAAA,MAAAnQ,EAAA,EAAA,GAjBDoP,MAAOe;AAiBN4E,YAAAA;AAAAA,IAAAA;AAAAxF,QAAAA;AAAAvP,QAAAA,EAAA0gB,EAAAA,MAAAA,aAAA1gB,EAAA2f,EAAAA,MAAAA,YAAA3f,EAAAsf,EAAAA,MAAAA,cAAAtf,UAAAyf,cAAAzf,EAAA,EAAA,MAAAgL,SAAAhL,EAAA,EAAA,MAAAuf,cAAAvf,EAAA,EAAA,MAAA2gB,SAAA;AAAAlR,UAAAA;AAAAzP,QAAA0gB,EAAAA,MAAAA,aAAA1gB,EAAA,EAAA,MAAA2f,YAAA3f,EAAAsf,EAAAA,MAAAA,cAAAtf,EAAA,EAAA,MAAAyf,cAAAzf,UAAAuf,cAGwC9P,OAAAA,CAAAjE,MAAAoV,eAAA;AACzC,cAAAnV,YAAkBiV,YAAYE,YAC9BC,OAAatB,WAAW/T,IAAI,GAC5B5K,MAAY0e,aAAaA,WAAW9T,MAAMC,SAAS,IAAIA;AAGrD,eAAA,oBAAC,OACY,WAAC,GACA,YAAA,GAEH,UAAA,YACF,OAAA;AAAA,UAAAqV,KAAMrV,aAAagU,aAAaE;AAAAA,QAAAA,GAEtCkB,qBACH;AAAA,MAEH7gB,GAAAA,QAAA0gB,WAAA1gB,QAAA2f,UAAA3f,QAAAsf,YAAAtf,QAAAyf,YAAAzf,QAAAuf,YAAAvf,QAAAyP,QAAAA,OAAAzP,EAAA,EAAA,GAhBMuP,OAAAvE,MAAKM,MAAOoV,WAAWC,OAAO,EAACvY,IAAKqH,IAgB1C,GAACzP,QAAA0gB,WAAA1gB,QAAA2f,UAAA3f,QAAAsf,YAAAtf,QAAAyf,YAAAzf,QAAAgL,OAAAhL,QAAAuf,YAAAvf,QAAA2gB,SAAA3gB,QAAAuP;AAAAA,IAAA;AAAAA,aAAAvP,EAAA,EAAA;AAhBKuP,UAAAA;AAAAA,EAAAA;AAxBT,QAAArP,WAAiBkP;AAyCiE,MAAAG,KAAAE;AAAAzP,YAAAkgB,UAE/BzQ,MAAA;AAAA,IAAAyQ;AAAAA,EAAQlgB,GAAAA,QAAAkgB,QAAAlgB,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA,GAAAuP,MAARE;AAAnD,QAAAsR,eAAoCxR;AAAmCM,MAAAA;AAAA7P,IAAAE,EAAAA,MAAAA,YAAAF,UAAA+gB,gBAInElR,MAEM,oBAAA,OAFI2P,EAAAA,iBAAmBuB,qBACnB,SACV,CAAA,GAAM/gB,QAAAE,UAAAF,QAAA+gB,cAAA/gB,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA;AAAA+P,MAAAA;AAAA/P,SAAAA,EAAAkC,EAAAA,MAAAA,MAAAlC,UAAAmE,QAAAnE,EAAA,EAAA,MAAA6P,OAHRE,0BAAC,KAAY,EAAA,WAAA,eAAkB5L,GAAAA,MAAUjC,IAAa,UAAA,YAAgBwB,KACpEmM,UAGF,KAAA,GAAM7P,QAAAkC,IAAAlC,QAAAmE,MAAAnE,QAAA6P,KAAA7P,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA,GAJN+P;AAIM;AAIV,SAAS+P,eAAeC,YAA+B;AACrD,MAAIiB,YAAYjB;AAETiB,SAAAA,aAAa,CAACtC,cAAcsC,SAAS;AAC1CA,gBAAYA,UAAUjB;AAGjBiB,SAAAA;AACT;ACnKO,MAAMC,uBAA6CC,2BAA2B;AAErF,SAASC,kCAAwD;AACxD,SAAA;AAAA,IACL7I,UAAUla,SAASgjB,YAAY;AAC7B,YAAMC,iBAAiB,IAAIpC,gBAAgB,CAAC,CAACqC,KAAK,MAAM;AAC3C,mBAAA;AAAA,UACTC,cAAcD,MAAMrB;AAAAA,UACpB9d,QAAQ;AAAA,YACNyJ,OAAO0V,MAAME,cAAc,CAAC,EAAEC;AAAAA,YAC9BvB,QAAQoB,MAAME,cAAc,CAAC,EAAEE;AAAAA,UACjC;AAAA,UACAxY,SAAS;AAAA,YACP0C,OAAO0V,MAAMrB,YAAYrU;AAAAA,YACzBsU,QAAQoB,MAAMrB,YAAYC;AAAAA,UAAAA;AAAAA,QAC5B,CACD;AAAA,MAAA,CACF;AAEcC,aAAAA,eAAAA,QAAQ/hB,OAAO,GAEvB,MAAM;AACXijB,uBAAejB,UAAUhiB,OAAO,GAChCijB,eAAehB,WAAW;AAAA,MAC5B;AAAA,IAAA;AAAA,EAEJ;AACF;AAEA,SAASa,6BAAmD;AAC1D,QAAMS,eAAmBC,oBAAAA,QACnBC,GAAAA,uCAAuBD,QAA+C;AAErE,SAAA;AAAA,IACLtJ,UAAUla,SAASgjB,YAAY;AAC7B,YAAMU,cAAcD,iBAAiBE,IAAI3jB,OAAO,KAAK,CAAE;AAEnD4jB,UAAAA,UAAUL,aAAaI,IAAI3jB,OAAO;AAEtC,aAAKyjB,iBAAiBI,IAAI7jB,OAAO,MAC/ByjB,iBAAiBK,IAAI9jB,SAAS0jB,WAAW,GAKzCE,UAHiBb,gCAGE7I,EAAAA,UAAUla,SAAU+jB,CAAgB,gBAAA;AACrD,mBAAWC,OAAON;AAChBM,cAAID,WAAW;AAAA,MAElB,CAAA,IAGHL,YAAY1I,KAAKgI,UAAU,GAEpB,MAAM;AAGL/G,cAAAA,MAAMyH,YAAY9f,QAAQof,UAAU;AAEtC/G,cAAM,MACRyH,YAAYO,OAAOhI,KAAK,CAAC,GAGvByH,YAAYpiB,WAAW,KAErBsiB,WAASA,QAAQ;AAAA,MAEzB;AAAA,IAAA;AAAA,EAEJ;AACF;AC3GO,SAAAM,eAAAlkB,SAAA;AAAA4B,QAAAA,IAAAC,EAAA,CAAA,GACL,CAAAsiB,MAAAC,OAAA,IAAwBlY,aAAiC;AAAC,MAAA/J,IAAAG;AAAA,SAAAV,SAAA5B,WAEhDmC,KAAAA,MAAA;AACHnC,QAAAA;AAEE6iB,aAAAA,qBAAA3I,UAA+Bla,SAASokB,OAAO;AAAA,EACrD9hB,GAAAA,MAACtC,OAAO,GAAC4B,OAAA5B,SAAA4B,OAAAO,IAAAP,OAAAU,OAAAH,KAAAP,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,IAJZ4H,UAAUrH,IAIPG,EAAS,GAEL6hB;AAAI;ACPN,MAAME,wBAAwB;AA4B9B,SAAAC,MAAA3iB,OAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA;AAAA,MAAA0iB,OAAAziB,UAAA0J,WAAAzF,MAAA5D,IAAAG,IAAAM,IAAA6K,IAAA+W;AAAA5iB,WAAAD,SAGL;AAAA,IAAA4iB;AAAAA,IAAAzgB,IAAA3B;AAAAA,IAAAL;AAAAA,IAAA0J;AAAAA,IAAA8T,OAAAhd;AAAAA,IAAA6hB,MAAAvhB;AAAAA,IAAA6hB,cAAAD;AAAAA,IAAA/E,QAAAhS;AAAAA,IAAA,GAAA1H;AAAAA,EAAAA,IAUIpE,OAAKC,OAAAD,OAAAC,OAAA2iB,OAAA3iB,OAAAE,UAAAF,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAO,IAAAP,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,IAAA7L,OAAA4iB,qBAAAD,QAAA3iB,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAO,KAAAP,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA,GAAA4iB,mBAAA5iB,EAAA,CAAA;AARH,QAAA2e,WAAApe,OAA+BoF,SAAA8c,wBAA/BliB,IAGJmd,QAAAhd,OAAaiF,cAAbjF,IACA6hB,OAAAvhB,OAAQ2E,aAAR3E,IAEA6c,SAAAhS,OAAkBlG,SAAT,YAATkG;AAAkBE,MAAAA;AAAA/L,IAAA2iB,EAAAA,MAAAA,SAAA3iB,EAAA,EAAA,MAAA4J,aAAA5J,EAAA0d,EAAAA,MAAAA,SAAA1d,EAAA,EAAA,MAAAuiB,QAAAviB,UAAA6d,UAQL9R,KAAA+W,MAAA;AAAA,IAAAlZ;AAAAA,IAAA+Y;AAAAA,IAAAjF;AAAAA,IAAA6E;AAAAA,IAAA1E;AAAAA,EAMV,CAAA,GAAC7d,QAAA2iB,OAAA3iB,QAAA4J,WAAA5J,QAAA0d,OAAA1d,QAAAuiB,MAAAviB,QAAA6d,QAAA7d,QAAA+L,MAAAA,KAAA/L,EAAA,EAAA;AAAAkO,MAAAA;AAAAlO,YAAA4iB,oBAGW1U,KAAA2U,aAAA;AAAA,IAAAA,cACKD;AAAAA,EACf,CAAA,GAAC5iB,QAAA4iB,kBAAA5iB,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AAAAmO,MAAAA;AAAAnO,IAAAE,EAAAA,MAAAA,YAAAF,UAAAkO,MAHJC,KAAA,oBAAA,QACa,EAAA,WAAAD,IAIVhO,SAAAA,CACH,GAAOF,QAAAE,UAAAF,QAAAkO,IAAAlO,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AAAAsO,MAAAA;AAAAtO,SAAAA,EAAA,EAAA,MAAA2e,YAAA3e,EAAAmE,EAAAA,MAAAA,QAAAnE,EAAA+L,EAAAA,MAAAA,MAAA/L,UAAAmO,MAjBTG,KAAA,oBAACqQ,YACS,WAAA,SAAO,GACXxa,MACO,WAAA4H,IAQXoC,cAOF,GAAUnO,QAAA2e,UAAA3e,QAAAmE,MAAAnE,QAAA+L,IAAA/L,QAAAmO,IAAAnO,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA,GAlBVsO;AAkBU;ACtDP,MAAMyU,yBAAyB;AA2B/B,SAAAC,OAAAjjB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAgBDM,KAAAR;AAAmDkjB,MAAAA,4BAAAC,kBAAAC,mBAAAvZ,WAAAwZ,UAAAC,kBAAAlf,MAAAmf,KAAA5iB,IAAAM,IAAA6K,IAAAyK;AAAAtW,WAAAO,MAbvD;AAAA,IAAA0iB;AAAAA,IAAA/gB,IAAAxB;AAAAA,IAAAkJ;AAAAA,IAAA2Z,OAAAviB;AAAAA,IAAAsiB;AAAAA,IAAAhN;AAAAA,IAAA8M;AAAAA,IAAAC;AAAAA,IAAAG,eAAAL;AAAAA,IAAAD;AAAAA,IAAAX,MAAA1W;AAAAA,IAAA,GAAA1H;AAAAA,EAAAA,IAaI5D,IAAmDP,OAAAO,IAAAP,OAAAijB,4BAAAjjB,OAAAkjB,kBAAAljB,OAAAmjB,mBAAAnjB,OAAA4J,WAAA5J,OAAAojB,UAAApjB,OAAAqjB,kBAAArjB,OAAAmE,MAAAnE,OAAAsjB,KAAAtjB,OAAAU,IAAAV,QAAAgB,IAAAhB,QAAA6L,IAAA7L,QAAAsW,UAAA2M,6BAAAjjB,EAAA,CAAA,GAAAkjB,mBAAAljB,EAAA,CAAA,GAAAmjB,oBAAAnjB,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAojB,WAAApjB,EAAA,CAAA,GAAAqjB,mBAAArjB,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAsjB,MAAAtjB,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,EAAA,GAAA6L,KAAA7L,EAAA,EAAA,GAAAsW,QAAAtW,EAAA,EAAA;AAXjD,QAAA2e,WAAAje,OAAgCiF,SAAAod,yBAAhCriB,IAEJ6iB,QAAAviB,OAAiB2E,SAAT,YAAR3E,IAOMyiB,WAAA5X,OAAYlG,aAAZkG,IAIR0W,OAAajd,kBAAkBme,QAAQ,GAEvCD,CAAAA,eAAAE,gBAAA,IAA0CpZ,SACxC4Y,oBAAoBC,qBAAqB,QAC3C,GAEA,CAAAQ,YAAAC,aAAA,IAAoCtZ,WAAuB;AAAC,MAAAyB,IAAAmC;AAAAlO,IAAAwjB,EAAAA,MAAAA,iBAAAxjB,UAAAmjB,qBAElDpX,KAAAA,MAAA;AAAA,QACJyX,kBAAkBL;AAAiB;AAGvC,UAAAU,MAAY/lB,sBAAA,MAA4B4lB,iBAAiBP,iBAAiB,CAAC;AAE9DplB,WAAAA,MAAAA,qBAAqB8lB,GAAG;AAAA,EACpC3V,GAAAA,KAAA,CAACsV,eAAeL,iBAAiB,GAACnjB,QAAAwjB,eAAAxjB,QAAAmjB,mBAAAnjB,QAAA+L,IAAA/L,QAAAkO,OAAAnC,KAAA/L,EAAA,EAAA,GAAAkO,KAAAlO,EAAA,EAAA,IAPrC4H,UAAUmE,IAOPmC,EAAkC;AAAC,MAAAC,IAAAG;AAAAtO,YAAAsjB,OAE5BnV,KAAAA,MAAA;AACJmV,WAAKM,gBAAmB;AAAA,EAAC,GAC5BtV,MAACgV,GAAG,GAACtjB,QAAAsjB,KAAAtjB,QAAAmO,IAAAnO,QAAAsO,OAAAH,KAAAnO,EAAA,EAAA,GAAAsO,KAAAtO,EAAA,EAAA,IAFR4H,UAAUuG,IAEPG,EAAK;AAACG,MAAAA;AAAAzO,YAAAqjB,oBAE4B5U,KAAAA,MAAA;AACnCmV,oBAAkB,GAEdP,oBACFA,iBAAgBpJ,IAAAA,MAAW,kCAAkC,CAAC;AAAA,EAAC,GAElEja,QAAAqjB,kBAAArjB,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AAND,QAAA8jB,mBAAyBrV;AAMH,MAAAE,IAAAD;AAAA1O,YAAAuiB,QAIlB7T,MAAAzG,OAAAK,OAAcia,IAAI,EAACna,IAAAyL,OAMlB,GAAC7T,QAAAuiB,MAAAviB,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA,GAAA2O,KANFD;AAFJ,QAAAqV,eAAqBpV,IAcOO,MAAA+T,6BAA6B,KAAEtd;AAAYyJ,MAAAA;AAAApP,IAAA4J,EAAAA,MAAAA,aAAA5J,UAAAujB,SAAAvjB,EAAA,EAAA,MAAAyjB,YAIxDrU,MAAA4U,OAAA;AAAA,IAAApa;AAAAA,IAAA2Z;AAAAA,IAAAhB,MAAgCkB;AAAAA,EAAAA,CAAS,GAACzjB,QAAA4J,WAAA5J,QAAAujB,OAAAvjB,QAAAyjB,UAAAzjB,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AAEnCuP,QAAAA,MAAAoU,aAAa,KAAEhe;AAAY8J,MAAAA;AAAAzP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAG5ByB,MAAAwU,YAAY,GAACjkB,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA;AAAA6P,MAAAA;AAAA7P,YAAAujB,SAA9B1T,kCAAiB,EAAA,WAAAJ,KACf,UAAA,oBAAA,SAAW,OAAA,MAAY,QAAA,KAAY,SAAA,YAAgB,MAAA,QACjD,UAGE,oBAAA,QAAA,EAFE,GAAA,gGACI8T,aAAK,EAAA,CAEf,EACF,CAAA,GAAOvjB,QAAAujB,OAAAvjB,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA;AAAA+P,MAAAA;AAAA/P,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAKM+B,MAAAmU,eAAe,GAAClkB,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA;AAAAgQ,MAAAA;AAAAhQ,IAAAojB,EAAAA,MAAAA,YAAApjB,UAAA+jB,gBAH7B/T,MAAC,oBAAA,KACY,EAAA,YAAA,UACR,IAAA,QACQ,WAAAD,KACH,SAAA,QACO,gBAAA,UACN,UAAA,YACF,OAAA,GAEP,UAAA,oBAAC,SAAY,OAAA,UAAY,IAAA,QAAagU,MAAW,cAAU,QAAA,UACxDX,UAAAA,SAAAA,CACH,EACF,CAAA,GAAMpjB,QAAAojB,UAAApjB,QAAA+jB,cAAA/jB,QAAAgQ,OAAAA,MAAAhQ,EAAA,EAAA;AAAAkQ,MAAAA;AAAAlQ,IAAA8jB,EAAAA,MAAAA,oBAAA9jB,UAAAojB,YAAApjB,EAAA,EAAA,MAAAsjB,OAELpT,MAAAoT,4BACE,KAAe,EAAA,WAAAa,eAAsB,OAAC,GAAW,UAAA,YAChD,UAAA;AAAA,IAAA,oBAAA,OAAUf,EAAAA,KAAO,UAAYU,2BAAuBR;IACX,oBAAA,QAAA,EAAxB,WAAAc,mBAAAA,EAAoB,CAAA;AAAA,EAAA,GACvC,GACDpkB,QAAA8jB,kBAAA9jB,QAAAojB,UAAApjB,QAAAsjB,KAAAtjB,QAAAkQ,OAAAA,MAAAlQ,EAAA,EAAA;AAAAmQ,MAAAA;AAAAnQ,SAAAA,EAAA2e,EAAAA,MAAAA,YAAA3e,UAAAwjB,iBAAAxjB,EAAA,EAAA,MAAAmE,QAAAnE,UAAAkP,OAAAlP,EAAAoP,EAAAA,MAAAA,OAAApP,UAAAuP,OAAAvP,EAAA,EAAA,MAAA6P,OAAA7P,EAAAgQ,EAAAA,MAAAA,OAAAhQ,EAAA,EAAA,MAAAkQ,OAAAlQ,UAAAsW,SAtCHnG,MAAC,qBAAAwO,UAAA,EACyB,0BAAAzP,KAChB,WAAA,aACJ/K,MACQmS,cAAI,OACL,WAAAlH,KACUoU,uBAAAA,eACH,oBAAAjU,KACX+G,OAEPzG,UAAAA;AAAAA,IAAAA;AAAAA,IASAG;AAAAA,IAcCE;AAAAA,EAAAA,GAMH,GAAUlQ,QAAA2e,UAAA3e,QAAAwjB,eAAAxjB,QAAAmE,MAAAnE,QAAAkP,KAAAlP,QAAAoP,KAAApP,QAAAuP,KAAAvP,QAAA6P,KAAA7P,QAAAgQ,KAAAhQ,QAAAkQ,KAAAlQ,QAAAsW,OAAAtW,QAAAmQ,OAAAA,MAAAnQ,EAAA,EAAA,GAvCVmQ;AAuCU;AAnGP,SAAA0D,QAAA4H,GAAA;AAkDKA,SAAAA,MAAO,IAAA,IACPA,MAAO,IAAA,IACPA,MAAO,IAAA,IAAA;AAAA;ACvFZ,MAAM4I,iCAAiC;AAgBvC,SAAAC,cAAAvkB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GASDM,KAAAR;AAAkE6J,MAAAA,WAAA2a,OAAApgB,MAAAzD,IAAAM;AAAAhB,WAAAO,MANtE;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAkJ;AAAAA,IAAA2a;AAAAA,IAAAhC,MAAAvhB;AAAAA,IAAA,GAAAmD;AAAAA,EAAAA,IAMI5D,IAAkEP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAukB,OAAAvkB,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,OAAA4I,YAAA5J,EAAA,CAAA,GAAAukB,QAAAvkB,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA;AALpEkC,QAAAA,KAAAxB,OAAmCiF,SAAA0e,iCAAnC3jB,IAMF6hB,OAAajd,kBAHLtE,OAAY2E,aAAZ3E,EAG+B;AAAC,MAAA6K,IAAAE;AAAA/L,WAAAuiB,QAIpCxW,KAAA9D,OAAAK,OAAcia,IAAI,EAACna,IAAAyL,KAMlB,GAAC7T,OAAAuiB,MAAAviB,OAAA+L,MAAAA,KAAA/L,EAAA,CAAA,GAAA6L,KANFE;AAFJ,QAAAyY,YAAkB3Y;AAUjBqC,MAAAA;AAAAlO,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAAuiB,QAQcrU,KAAAuW,cAAA;AAAA,IAAA7a;AAAAA,IAAA2Y;AAAAA,EAAAA,CAA+B,GAACviB,OAAA4J,WAAA5J,OAAAuiB,MAAAviB,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AAAAmO,MAAAA;AAAAnO,IAAAukB,EAAAA,MAAAA,SAAAvkB,UAAAwkB,aAO3CrW,yBAAC,OAAY,EAAA,OAAA,UAAY,IAAA,QAAaqW,MAAQ,WAAU,QAAA,UACjD,iBACP,GAAQxkB,QAAAukB,OAAAvkB,QAAAwkB,WAAAxkB,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AAAAsO,MAAAA;AAAA,SAAAtO,EAAA,EAAA,MAAAkC,MAAAlC,EAAAmE,EAAAA,MAAAA,QAAAnE,EAAAkO,EAAAA,MAAAA,MAAAlO,UAAAmO,MAdVG,KAAA,oBAAC,KACS,EAAA,WAAA,iBAAe,GACnBnK,MACO,YAAA,UACPjC,IACO,WAAAgM,IACH,SAAA,QACH,MAAA,QACU,gBAAA,UACL,UAAC,GACJ,QAAA,UAEPC,UAAAA,GAAAA,CAGF,GAAMnO,QAAAkC,IAAAlC,QAAAmE,MAAAnE,QAAAkO,IAAAlO,QAAAmO,IAAAnO,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA,GAfNsO;AAeM;AAxCH,SAAAuF,MAAA4H,GAAA;AAeKA,SAAAA,MAAO,IAAA,IACPA,MAAO,IAAA,IACPA,MAAO,IAAA,IAAA;AAAA;AChCZ,MAAMiJ,+BAA+B;AAyBrC,SAAAC,YAAA5kB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAUDM,KAAAR;AAA8D,MAAA6kB,cAAAhb,WAAAzF,MAAAzD,IAAAM,IAAA6K;AAAA7L,WAAAO,MAPlE;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR,UAAA0kB;AAAAA,IAAAhb;AAAAA,IAAAM,WAAAlJ;AAAAA,IAAAuhB,MAAA1W;AAAAA,IAAA,GAAA1H;AAAAA,EAAA,IAOI5D,IAA8DP,OAAAO,IAAAP,OAAA4kB,cAAA5kB,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,OAAA+Y,eAAA5kB,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA;AANhEkC,QAAAA,KAAAxB,OAAiCiF,SAAA+e,+BAAjChkB,IAGWmkB,gBAAA7jB,OAAiB2E,aAAjB3E,IACLyiB,WAAA5X,OAAYlG,aAAZkG,IAIR3L,WAAiB2K,SAAAC,QAAiB8Z,YAAY,EAAC/e,OAAAkF,cAAsB,GAGrEb,YAAkB3B,KAAAC,IAASqc,gBAAgB,GAC3CtC,OAAajd,kBAAkBme,QAAQ,GAEvCxY,MAAY/K,SAAQR,QACpBolB,eAAqB5a,YAAa,GAClC6a,aAAmB9Z,MAAM6Z,cACzBE,kBAAwBD,aAAU,IAAO7kB,SAAQoL,MAAOyZ,YAAY9Z,GAAG,IAAI/K,UAGxE+kB,KAAAC,KACSnZ,KAAa,eAEVmC,KAAQ;AAAAC,MAAAA;AAAAnO,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAAuiB,QAERpU,KAAAgX,YAAA;AAAA,IAAAvb;AAAAA,IAAA2Y;AAAAA,EAAAA,CAA6B,GAACviB,OAAA4J,WAAA5J,OAAAuiB,MAAAviB,OAAAmO,MAAAA,KAAAnO,EAAA,CAAA;AACjCsO,QAAAA,KAAM,QACCG,KAAY,cAE1BE,KAAA1D,QAAS,KAAK,oBAAA,eAAA,EAAqBA,YAAWsX,KAAQ,CAAA,GAEtD7T,MAAAzD,QAAG,KAAU8Z,aAAU,KAAS,oBAAA,eAAA,EAAqBA,mBAAkBxC,KAAQ,CAAA;AAAArT,MAAAA;AAAAlP,YAAAuiB,QAE3DrT,MAAAA,CAAAvP,OAAAylB,eACnB,oBAAC,UAAmChc,EAAAA,UAAAA,aAAazJ,OAAK;AAAA,IAAA4iB;AAAAA,EAAAA,CAAQ,EAA/CvJ,GAAAA,OAAOoM,UAAU,CAAgC,GACjEplB,QAAAuiB,MAAAviB,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA;AAFAoP,QAAAA,MAAA4V,gBAAe5c,IAAK8G,GAEpB;AAACK,MAAAA;AAAA,SAAAvP,EAAAilB,EAAAA,MAAAA,MAAAjlB,EAAAkC,EAAAA,MAAAA,MAAAlC,EAAAmE,EAAAA,MAAAA,QAAAnE,UAAA0O,OAAA1O,EAAA,EAAA,MAAAoP,OAAApP,EAAA,EAAA,MAAAmO,MAAAnO,EAAA,EAAA,MAAA2O,MAfJY,MAAA,qBAAC,MACS,WAAAxD,IAAa,GACjB5H,MACO,YAAA+J,IACPhM,IACO,WAAAiM,IACH,SAAAG,IACO,gBAAAG,IAEdE,UAAAA;AAAAA,IAAAA;AAAAA,IAEAD;AAAAA,IAEAU;AAAAA,EAAAA,EAGH,CAAA,GAAMpP,QAAAilB,IAAAjlB,QAAAkC,IAAAlC,QAAAmE,MAAAnE,QAAA0O,KAAA1O,QAAAoP,KAAApP,QAAAmO,IAAAnO,QAAA2O,IAAA3O,QAAAuP,OAAAA,MAAAvP,EAAA,EAAA,GAhBNuP;AAgBM;AC/DH,MAAM8V,wBAAwB;AAgB9B,SAAAC,MAAAvlB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAaDM,KAAAR;AAAiD,MAAAG,UAAA0J,WAAAzF,MAAAzD,IAAAM,IAAA6K,IAAAE,IAAAmC,IAAAC;AAAAnO,WAAAO,MAVrD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR;AAAAA,IAAA0J;AAAAA,IAAA2b,MAAAvkB;AAAAA,IAAAuB,UAAAsJ;AAAAA,IAAAzI,SAAA2I;AAAAA,IAAAvI,QAAA0K;AAAAA,IAAAgD,MAAA/C;AAAAA,IAAA,GAAAhK;AAAAA,EAAAA,IAUI5D,IAAiDP,OAAAO,IAAAP,OAAAE,UAAAF,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,IAAA7L,OAAA+L,IAAA/L,OAAAkO,IAAAlO,OAAAmO,OAAAjO,WAAAF,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA,GAAA+L,KAAA/L,EAAA,CAAA,GAAAkO,KAAAlO,EAAA,CAAA,GAAAmO,KAAAnO,EAAA,CAAA;AATnD,QAAAkC,KAAAxB,OAA0BiF,SAAA0f,wBAA1B3kB,IAGA6kB,OAAAvkB,OAAa2E,SAAN,SAAP3E,IACAuB,WAAAsJ,OAAYlG,aAAZkG,IACAzI,UAAA2I,OAAWpG,aAAXoG,IACAvI,SAAA0K,OAAUvI,aAAVuI,IACAgD,OAAA/C,OAAgBxI,SAAT,YAAPwI;AAAgBG,MAAAA;AAAAtO,IAAA4J,EAAAA,MAAAA,aAAA5J,UAAAkR,QASH5C,KAAAkX,MAAA;AAAA,IAAA5b;AAAAA,IAAAsH;AAAAA,EAAAA,CAAuB,GAAClR,QAAA4J,WAAA5J,QAAAkR,MAAAlR,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA;AAAAyO,MAAAA;AAAAzO,IAAAE,EAAAA,MAAAA,YAAAF,UAAAuC,YAQnCkM,KAAC,oBAAA,MAAWlM,EAAAA,MAAAA,UAAkB,SAAA,CAAE,GAAOvC,QAAAE,UAAAF,QAAAuC,UAAAvC,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AAAA2O,MAAAA;AAAA,SAAA3O,EAAAkC,EAAAA,MAAAA,MAAAlC,EAAAulB,EAAAA,MAAAA,QAAAvlB,EAAAoD,EAAAA,MAAAA,WAAApD,UAAAwD,UAAAxD,EAAA,EAAA,MAAAmE,QAAAnE,EAAA,EAAA,MAAAsO,MAAAtO,EAAA,EAAA,MAAAyO,MAZzCE,KAAC,oBAAA,KAAA,EACS,WAAA,SACJxK,GAAAA,MACAjC,IACO,WAAAoM,IACLiX,MACE,SAAA,QACC,UAAA,QACAniB,SACDI,QACF,OAAA,OAENiL,aACF,CAAA,GAAMzO,QAAAkC,IAAAlC,QAAAulB,MAAAvlB,QAAAoD,SAAApD,QAAAwD,QAAAxD,QAAAmE,MAAAnE,QAAAsO,IAAAtO,QAAAyO,IAAAzO,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA,GAbN2O;AAaM;AClDH,MAAM8W,2BAA2B;AAsBjC,SAAAC,SAAA3lB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAaDM,KAAAR;AAAuD,MAAA6J,WAAAxH,gBAAAnD,UAAA0E,cAAAgiB,eAAAliB,UAAAU,MAAAya,OAAAle;AAAAV,WAAAO,MAV3D;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAkJ;AAAAA,IAAA3K;AAAAA,IAAA0mB;AAAAA,IAAAvjB;AAAAA,IAAAqB;AAAAA,IAAAC,KAAAC;AAAAA,IAAAib;AAAAA,IAAA,GAAAza;AAAAA,EAAAA,IAUI5D,IAAuDP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAoC,gBAAApC,OAAAf,UAAAe,OAAA2D,cAAA3D,OAAA2lB,eAAA3lB,OAAAyD,UAAAzD,OAAAmE,MAAAnE,OAAA4e,OAAA5e,OAAAU,OAAAkJ,YAAA5J,EAAA,CAAA,GAAAoC,iBAAApC,EAAA,CAAA,GAAAf,WAAAe,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAA2lB,gBAAA3lB,EAAA,CAAA,GAAAyD,WAAAzD,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAA4e,QAAA5e,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AATrD,QAAA2e,WAAAje,OAAkCiF,SAAA8f,2BAAlC/kB,IAWNgD,MAAYe,OAAA,IAAoC;AAACzD,MAAAA;AAAAhB,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAI/ChN,KAAAA,MAAM0C,IAAGuB,SAAQjF,QAAAgB,MAAAA,KAAAhB,EAAA,EAAA,GAFnBiO,oBACEtK,cACA3C,EACF;AAAC,MAAA6K,IAAAE;AAAA/L,YAAA2lB,iBAES9Z,KAAAA,MAAA;AACJnI,QAAGuB,YAELvB,IAAGuB,QAAA0gB,gBAAyBA,iBAAsB;AAAA,EAEnD5Z,GAAAA,MAAC4Z,aAAa,GAAC3lB,QAAA2lB,eAAA3lB,QAAA6L,IAAA7L,QAAA+L,OAAAF,KAAA7L,EAAA,EAAA,GAAA+L,KAAA/L,EAAA,EAAA,IALlB4H,UAAUiE,IAKPE,EAAe,GAElB6Z,kBAAkBliB,KAAKtB,cAAc;AAAC8L,MAAAA;AAAAlO,YAAA4J,aAGnBsE,KAAA2X,SAAA;AAAA,IAAAjc;AAAAA,EAAoB,CAAA,GAAC5J,QAAA4J,WAAA5J,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AAAAmO,MAAAA;AAAAnO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAGvBG,KAAA2X,cAAc,GAAC9lB,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AACZsO,QAAAA,KAAAlM,iBAAiB,KAAEuD,QACjB8I,MAACxP,YAAYwE,WAAW,KAAEkC,QAChCgJ,KAAA1P,YAAYwE;AAAQiL,MAAAA;AAAA1O,YAAA2e,YAAA3e,EAAAyD,EAAAA,MAAAA,YAAAzD,EAAAmE,EAAAA,MAAAA,QAAAnE,EAAA,EAAA,MAAAsO,MAAAtO,UAAAyO,MAAAzO,EAAA,EAAA,MAAA2O,MALhCD,0BAACiQ,UAAO,EAAA,GACFxa,MACO,WAAAgK,IACG,gBAAAG,IACE,kBAAAG,IACN,UAAAE,IACL,MAAA,YACKlL,UACLC,IACL,CAAA,GAAA1D,QAAA2e,UAAA3e,QAAAyD,UAAAzD,QAAAmE,MAAAnE,QAAAsO,IAAAtO,QAAAyO,IAAAzO,QAAA2O,IAAA3O,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA;AAAAkP,MAAAA;AAAAlP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACFkB,qCAAiB,WAAA6W,qBAAAA,GACf,UAAA;AAAA,IAAA,oBAAC,eACD,EAAA;AAAA,wBAAC,YAAU,CAAA,CAAA;AAAA,EAAA,EACb,CAAA,GAAO/lB,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA;AAAAoP,MAAAA;AAAA,SAAApP,EAAA4e,EAAAA,MAAAA,SAAA5e,UAAA0O,OAAA1O,EAAA,EAAA,MAAAkO,MAdTkB,MAAA,qBAAA,QAAA,EAAiB,WAAAlB,IAA+B,WAAA,YAAkB0Q,OAChElQ,UAAAA;AAAAA,IAAAA;AAAAA,IAUAQ;AAAAA,EAAAA,GAIF,GAAOlP,QAAA4e,OAAA5e,QAAA0O,KAAA1O,QAAAkO,IAAAlO,QAAAoP,OAAAA,MAAApP,EAAA,EAAA,GAfPoP;AAeO;ACvEX,MAAM4W,gBAAgBC,KAAK,MAAM,OAAO,2BAAa,CAAC,GAGzCC,uBAAuB;AAgB7B,SAAAC,KAAApmB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAWDM,KAAAR;AAA+C,MAAAG,UAAA0J,WAAAwc,cAAAjiB,MAAAzD,IAAAM,IAAA6K;AAAA7L,WAAAO,MARnD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR;AAAAA,IAAA0J;AAAAA,IAAAyc,UAAAD;AAAAA,IAAA7D,MAAAvhB;AAAAA,IAAA6c,QAAAhS;AAAAA,IAAA,GAAA1H;AAAAA,EAQI5D,IAAAA,IAA+CP,OAAAO,IAAAP,OAAAE,UAAAF,OAAA4J,WAAA5J,OAAAomB,cAAApmB,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,OAAA3L,WAAAF,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAomB,eAAApmB,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA;AAP7C,QAAA2e,WAAAje,OAA8BiF,SAAAugB,uBAA9BxlB,IAIJ6hB,OAAAvhB,OAAQ2E,aAAR3E,IACA6c,SAAAhS,OAAkBlG,SAAT,YAATkG,IAIFwa,WAAiB,OAAOD,gBAAiB,WAAWA,eAAYzgB;AAAYoG,MAAAA;AAAA/L,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAAuiB,QAAAviB,EAAA,EAAA,MAAA6d,UAG7B9R,KAAAua,KAAA;AAAA,IAAA1c;AAAAA,IAAA2Y;AAAAA,IAAA1E;AAAAA,EAAAA,CAA8B,GAAC7d,OAAA4J,WAAA5J,OAAAuiB,MAAAviB,QAAA6d,QAAA7d,QAAA+L,MAAAA,KAAA/L,EAAA,EAAA;AAAAkO,MAAAA;AAAAlO,YAAAE,YACtDgO,KAAuB,oBAAA,UAAT,UAAE,GAAOlO,QAAAE,UAAAF,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AAAAmO,MAAAA;AAAAnO,IAAAE,EAAAA,MAAAA,YAAAF,UAAAqmB,YACzClY,KAAC,oBAAA,eAAwBkY,EAAAA,UAAiBnmB,OAAO,SAAA,CAAK,GAAAF,QAAAE,UAAAF,QAAAqmB,UAAArmB,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AAAAsO,MAAAA;AAAAtO,IAAAkO,EAAAA,MAAAA,MAAAlO,UAAAmO,MADxDG,KAAC,oBAAA,UAAmB,EAAA,UAAAJ,IAClBC,UAAAA,IACF,GAAWnO,QAAAkO,IAAAlO,QAAAmO,IAAAnO,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA;AAAAyO,MAAAA;AAAAzO,SAAAA,EAAA,EAAA,MAAA2e,YAAA3e,EAAAmE,EAAAA,MAAAA,QAAAnE,EAAA+L,EAAAA,MAAAA,MAAA/L,UAAAsO,MAHbG,KAAA,oBAACkQ,YAAgB,WAAA,QAAM,GAAKxa,MAAiB,WAAA4H,IAC3CuC,cAGF,GAAUtO,QAAA2e,UAAA3e,QAAAmE,MAAAnE,QAAA+L,IAAA/L,QAAAsO,IAAAtO,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA,GAJVyO;AAIU;ACnCP,MAAM8X,0BAA0B;AA6BhC,SAAAC,QAAAzmB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAcDM,KAAAR;AAAqD4iB,MAAAA,OAAAziB,UAAA0J,WAAA2b,MAAAphB,MAAAzD,IAAAM,IAAA6K,IAAAE,IAAA6W;AAAA5iB,WAAAO,MAXzD;AAAA,IAAAoiB;AAAAA,IAAAzgB,IAAAxB;AAAAA,IAAAR;AAAAA,IAAA0J;AAAAA,IAAA2b;AAAAA,IAAA7H,OAAA1c;AAAAA,IAAAuhB,MAAA1W;AAAAA,IAAAgX,cAAAD;AAAAA,IAAA/E,QAAA9R;AAAAA,IAAA,GAAA5H;AAAAA,EAAAA,IAWI5D,IAAqDP,OAAAO,IAAAP,OAAA2iB,OAAA3iB,OAAAE,UAAAF,OAAA4J,WAAA5J,OAAAulB,MAAAvlB,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,IAAA7L,OAAA+L,IAAA/L,QAAA4iB,qBAAAD,QAAA3iB,EAAA,CAAA,GAAAE,WAAAF,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAulB,OAAAvlB,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA,GAAA+L,KAAA/L,EAAA,CAAA,GAAA4iB,mBAAA5iB,EAAA,EAAA;AATnD,QAAA2e,WAAAje,OAAiCiF,SAAA4gB,0BAAjC7lB,IAIJgd,QAAA1c,OAAa2E,cAAb3E,IACAuhB,OAAA1W,OAAQlG,aAARkG,IAEAgS,SAAA9R,OAAkBpG,SAAT,YAAToG;AAAkBmC,MAAAA;AAAAlO,YAAA2iB,SAAA3iB,EAAA4J,EAAAA,MAAAA,aAAA5J,EAAAulB,EAAAA,MAAAA,QAAAvlB,EAAA,EAAA,MAAA0d,SAAA1d,UAAAuiB,QAAAviB,EAAA,EAAA,MAAA6d,UAQL3P,KAAAuY,QAAA;AAAA,IAAA7c;AAAAA,IAAA+Y;AAAAA,IAAA4C;AAAAA,IAAA7H;AAAAA,IAAA6E;AAAAA,IAAA1E;AAAAA,EAOV,CAAA,GAAC7d,QAAA2iB,OAAA3iB,QAAA4J,WAAA5J,QAAAulB,MAAAvlB,QAAA0d,OAAA1d,QAAAuiB,MAAAviB,QAAA6d,QAAA7d,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AAAAmO,MAAAA;AAAAnO,YAAA4iB,oBAGWzU,KAAA0U,aAAA;AAAA,IAAAA,cACKD;AAAAA,EACf,CAAA,GAAC5iB,QAAA4iB,kBAAA5iB,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AAAAsO,MAAAA;AAAAtO,IAAAE,EAAAA,MAAAA,YAAAF,UAAAmO,MAHJG,KAAA,oBAAA,QACa,EAAA,WAAAH,IAIVjO,SAAAA,CACH,GAAOF,QAAAE,UAAAF,QAAAmO,IAAAnO,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA;AAAAyO,MAAAA;AAAAzO,SAAAA,EAAA,EAAA,MAAA2e,YAAA3e,EAAAmE,EAAAA,MAAAA,QAAAnE,EAAAkO,EAAAA,MAAAA,MAAAlO,UAAAsO,MAlBTG,KAAA,oBAACkQ,YACS,WAAA,WAAS,GACbxa,MACO,WAAA+J,IASXI,cAOF,GAAUtO,QAAA2e,UAAA3e,QAAAmE,MAAAnE,QAAAkO,IAAAlO,QAAAsO,IAAAtO,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA,GAnBVyO;AAmBU;ACvEP,MAAMiY,yBAAyB;AAkC/B,SAAAC,OAAA5mB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAQDM,KAAAR;AAAmDG,MAAAA,UAAA6J,KAAA5F,MAAAzD;AAAAV,WAAAO,MALvD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR;AAAAA,IAAA6J;AAAAA,IAAA,GAAA5F;AAAAA,EAAAA,IAKI5D,IAAmDP,OAAAO,IAAAP,OAAAE,UAAAF,OAAA+J,KAAA/J,OAAAmE,MAAAnE,OAAAU,OAAAR,WAAAF,EAAA,CAAA,GAAA+J,MAAA/J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAJrDkC,QAAAA,KAAAxB,OAA2BiF,SAAA+gB,yBAA3BhmB;AAA2BM,MAAAA;AAAAhB,SAAAA,EAAA,CAAA,MAAAkC,MAAAlC,EAAAE,CAAAA,MAAAA,YAAAF,EAAA+J,CAAAA,MAAAA,OAAA/J,SAAAmE,QAO3BnD,KAAC,oBAAA,KACS,EAAA,WAAA,UAAQ,GACZmD,MACO,YAAA,UACPjC,IACI,SAAA,QACH6H,KACI,UAAA,QAER7J,SACH,CAAA,GAAMF,OAAAkC,IAAAlC,OAAAE,UAAAF,OAAA+J,KAAA/J,OAAAmE,MAAAnE,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA,GAVNgB;AAUM;ACpDH,MAAM4lB,wBAAwB;AAkB9B,SAAAC,MAAA9mB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAYDM,KAAAR;AAAiD,MAAA6J,WAAAxH,gBAAAnD,UAAA0E,cAAAF,UAAAU,MAAAya,OAAAle;AAAAV,WAAAO,MATrD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAkJ;AAAAA,IAAA3K;AAAAA,IAAA2f;AAAAA,IAAAxc;AAAAA,IAAAqB;AAAAA,IAAAC,KAAAC;AAAAA,IAAA,GAAAQ;AAAAA,EASI5D,IAAAA,IAAiDP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAoC,gBAAApC,OAAAf,UAAAe,OAAA2D,cAAA3D,OAAAyD,UAAAzD,OAAAmE,MAAAnE,OAAA4e,OAAA5e,OAAAU,OAAAkJ,YAAA5J,EAAA,CAAA,GAAAoC,iBAAApC,EAAA,CAAA,GAAAf,WAAAe,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAAyD,WAAAzD,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAA4e,QAAA5e,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAR/C,QAAA2e,WAAAje,OAA+BiF,SAAAihB,wBAA/BlmB,IAUNgD,MAAYe,OAAA,IAAoC;AAACzD,MAAAA;AAAAhB,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAI/ChN,KAAAA,MAAM0C,IAAGuB,SAAQjF,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA,GAFnBiO,oBACEtK,cACA3C,EACF,GAEA4kB,kBAAkBliB,KAAKtB,cAAc;AAACyJ,MAAAA;AAAA7L,YAAA4J,aAGpBiC,KAAAib,MAAA;AAAA,IAAAld;AAAAA,EAAiB,CAAA,GAAC5J,QAAA4J,WAAA5J,QAAA6L,MAAAA,KAAA7L,EAAA,EAAA;AAAA+L,MAAAA;AAAA/L,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAGnBjC,KAAAgb,WAAW,GAAC/mB,QAAA+L,MAAAA,KAAA/L,EAAA,EAAA;AACTkO,QAAAA,KAAA9L,iBAAiB,KAAEuD,QACjBwI,MAAClP,YAAYwE,WAAW,KAAEkC,QAChC2I,KAAArP,YAAYwE;AAAQgL,MAAAA;AAAAzO,YAAA2e,YAAA3e,EAAAyD,EAAAA,MAAAA,YAAAzD,EAAAmE,EAAAA,MAAAA,QAAAnE,EAAA,EAAA,MAAAkO,MAAAlO,UAAAmO,MAAAnO,EAAA,EAAA,MAAAsO,MALhCG,yBAACkQ,UAAO,EAAA,GACFxa,MACO,WAAA4H,IACG,gBAAAmC,IACE,kBAAAC,IACN,UAAAG,IACA7K,UACLC,KACA,MAAA,QACL,CAAA,GAAA1D,QAAA2e,UAAA3e,QAAAyD,UAAAzD,QAAAmE,MAAAnE,QAAAkO,IAAAlO,QAAAmO,IAAAnO,QAAAsO,IAAAtO,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AAAA2O,MAAAA;AAAA3O,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACFW,KAAA,oBAAA,QAAA,EAAiB,WAAAqY,kBAAkB,EAAA,CAAK,GAAAhnB,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AAAA0O,MAAAA;AAAA,SAAA1O,EAAA4e,EAAAA,MAAAA,SAAA5e,UAAA6L,MAAA7L,EAAA,EAAA,MAAAyO,MAX1CC,MAAA,qBAAA,OAAA,EAAgB,WAAA7C,IAA4B,WAAA,SAAe+S,OACzDnQ,UAAAA;AAAAA,IAAAA;AAAAA,IAUAE;AAAAA,EAAAA,GACF,GAAM3O,QAAA4e,OAAA5e,QAAA6L,IAAA7L,QAAAyO,IAAAzO,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA,GAZN0O;AAYM;ACnDH,MAAMuY,yBAAyB;AAmB/B,SAAAC,OAAAnnB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAgBDM,KAAAR;AAAmDG,MAAAA,UAAAkC,gBAAAnD,UAAA0E,cAAAF,UAAAU,MAAAzD,IAAAM,IAAA6K,IAAAE,IAAAmC,IAAAC;AAAAnO,WAAAO,MAbvD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAyB,QAAAnB;AAAAA,IAAAd;AAAAA,IAAAkC;AAAAA,IAAAnD;AAAAA,IAAAsD,UAAAsJ;AAAAA,IAAA9B,KAAAgC;AAAAA,IAAA3I,SAAA8K;AAAAA,IAAA1K,QAAA2K;AAAAA,IAAA1K;AAAAA,IAAAC,KAAAC;AAAAA,IAAA,GAAAQ;AAAAA,EAAAA,IAaI5D,IAAmDP,OAAAO,IAAAP,OAAAE,UAAAF,OAAAoC,gBAAApC,OAAAf,UAAAe,OAAA2D,cAAA3D,OAAAyD,UAAAzD,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,IAAA7L,QAAA+L,IAAA/L,QAAAkO,IAAAlO,QAAAmO,OAAAjO,WAAAF,EAAA,CAAA,GAAAoC,iBAAApC,EAAA,CAAA,GAAAf,WAAAe,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAAyD,WAAAzD,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA,GAAA+L,KAAA/L,EAAA,EAAA,GAAAkO,KAAAlO,EAAA,EAAA,GAAAmO,KAAAnO,EAAA,EAAA;AAZjD,QAAA2e,WAAAje,OAAgCiF,SAAAshB,yBAAhCvmB,IACJyB,SAAAnB,OAAa2E,cAAb3E,IAIAuB,WAAAsJ,OAAYlG,aAAZkG,IACA9B,MAAAgC,OAAOpG,aAAPoG,IACA3I,UAAA8K,OAAWvI,aAAXuI,IACA1K,SAAA2K,OAAUxI,aAAVwI,IAMFzK,MAAYe,OAAA,IAAqC;AAAC6J,MAAAA;AAAAtO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAIhDM,KAAAA,MAAM5K,IAAGuB,SAAQjF,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA,GAFnBiO,oBACEtK,cACA2K,EACF,GAEAsX,kBAAkBliB,KAAKtB,cAAc;AAACqM,MAAAA;AAAAzO,IAAAmC,EAAAA,MAAAA,UAAAnC,EAAA,EAAA,MAAAuC,YAAAvC,EAAA+J,EAAAA,MAAAA,OAAA/J,EAAA,EAAA,MAAAoD,WAAApD,UAAAwD,UAKvBiL,KAAA0Y,OAAA;AAAA,IAAAhlB;AAAAA,IAAAI;AAAAA,IAAAwH;AAAAA,IAAA3G;AAAAA,IAAAI;AAAAA,EAA+C,CAAA,GAACxD,QAAAmC,QAAAnC,QAAAuC,UAAAvC,QAAA+J,KAAA/J,QAAAoD,SAAApD,QAAAwD,QAAAxD,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AAAA2O,MAAAA;AAAA3O,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAG7BW,KAAAyY,cAAc,GAACpnB,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AAAY,QAAA0O,MAAAzP,YAAYwE;AAAQyL,MAAAA;AAAAlP,IAAA,EAAA,MAAA2e,YAAA3e,EAAAE,EAAAA,MAAAA,YAAAF,EAAAmE,EAAAA,MAAAA,QAAAnE,UAAA0O,OAA7EQ,MAAA,oBAACyP,YAAO,GAAKxa,MAAiB,WAAAwK,IAA2B,UAAAD,KAA2BhL,KAC1E,UACV,GAAU1D,QAAA2e,UAAA3e,QAAAE,UAAAF,QAAAmE,MAAAnE,QAAA0O,KAAA1O,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA;AAAAoP,MAAAA;AAAApP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACOoB,MAAAiY,mBAAmB,GAACrnB,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AAAAuP,MAAAA;AAAAvP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAG/BuB,MAAC,oBAAA,iBAAA,CAAkB,CAAA,GAAAvP,QAAAuP,OAAAA,MAAAvP,EAAA,EAAA;AAAAyP,MAAAA;AAAAzP,YAAAuC,YADrBkN,MAAC,oBAAA,MAAA,EAAWlN,MAAAA,UACVgN,UAAAA,KACF,GAAOvP,QAAAuC,UAAAvC,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA;AAAA6P,MAAAA;AAAA7P,IAAAoD,EAAAA,MAAAA,WAAApD,UAAAyP,OAJXI,MAMO,oBAAA,UANU,WAAAT,KACf,UAAC,oBAAA,KAAA,EAAO,IAAA,QAAe,SAAA,gBAAwBhM,SAC7CqM,eAGF,EACF,CAAA,GAAOzP,QAAAoD,SAAApD,QAAAyP,KAAAzP,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA;AAAA+P,MAAAA;AAAA/P,SAAAA,EAAAkP,EAAAA,MAAAA,OAAAlP,UAAA6P,OAAA7P,EAAA,EAAA,MAAAyO,MAdTsB,2BAAA,OACU,EAAA,WAAA,UACG,WAAAtB,IACK,mBAAA,IAEhBS,UAAAA;AAAAA,IAAAA;AAAAA,IAGAW;AAAAA,EAAAA,GAOF,GAAM7P,QAAAkP,KAAAlP,QAAA6P,KAAA7P,QAAAyO,IAAAzO,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA,GAfN+P;AAeM;AClEH,MAAMuX,2BAA2B;AAwBjC,SAAAC,SAAAxnB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAUDM,KAAAR;AAAuD,MAAA6J,WAAA4d,OAAAhkB,QAAAW,MAAAzD,IAAAM;AAAAhB,WAAAO,MAP3D;AAAA,IAAA2B,IAAAxB;AAAAA,IAAA+mB,UAAAzmB;AAAAA,IAAA4I;AAAAA,IAAA4d;AAAAA,IAAAhkB;AAAAA,IAAA,GAAAW;AAAAA,EAAA,IAOI5D,IAAuDP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAwnB,OAAAxnB,OAAAwD,QAAAxD,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,OAAA4I,YAAA5J,EAAA,CAAA,GAAAwnB,QAAAxnB,EAAA,CAAA,GAAAwD,SAAAxD,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA;AANrD,QAAA0nB,KAAAhnB,OAA6BiF,SAAA2hB,2BAA7B5mB,IACJ+mB,WAAAzmB,OAAgB2E,cAAhB3E,IAOFsW,CAAAA,SAAAqQ,UAAA,IAA8Brd,SAAkBkd,CAAoB,KAAA;AAAC,MAAA3b,IAAAE;AAAA/L,WAAAwnB,SAE3D3b,KAAAA,MAAA;AAAA,QAAA,CACH2b;AAAK,aACDG,aAAe;AAGxBC,UAAAA,UAAgBpnB,WAAA,MAAA;AACdmnB,mBAAe;AAAA,OACdH,KAAK;AAAC,WAAA,MAAA;AAGPjV,mBAAaqV,OAAO;AAAA,IAAC;AAAA,EAAA,GAEtB7b,MAACyb,KAAK,GAACxnB,OAAAwnB,OAAAxnB,OAAA6L,IAAA7L,OAAA+L,OAAAF,KAAA7L,EAAA,CAAA,GAAA+L,KAAA/L,EAAA,CAAA,IAZV4H,UAAUiE,IAYPE,EAAO;AAACmC,MAAAA;AAAAlO,IAAA4J,EAAAA,MAAAA,aAAA5J,UAAAwD,UAMI0K,KAAA2Z,SAAA;AAAA,IAAAje;AAAAA,IAAApG;AAAAA,EAAAA,CAGV,GAACxD,QAAA4J,WAAA5J,QAAAwD,QAAAxD,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AACa,QAAAmO,KAAAsZ,WAAW,KAAE9hB,QACd2I,KAAAgJ,UAAU,KAAE3R;AAAY8I,MAAAA;AAAA,SAAAzO,EAAA0nB,EAAAA,MAAAA,MAAA1nB,EAAA,EAAA,MAAAmE,QAAAnE,EAAAkO,EAAAA,MAAAA,MAAAlO,EAAA,EAAA,MAAAmO,MAAAnO,UAAAsO,MARxCG,KAAA,oBAAC,IACS,EAAA,WAAA,YAAU,GACdtK,MACO,WAAA+J,IAII,iBAAAC,IACD,gBAAAG,GACd,CAAA,GAAAtO,QAAA0nB,IAAA1nB,QAAAmE,MAAAnE,QAAAkO,IAAAlO,QAAAmO,IAAAnO,QAAAsO,IAAAtO,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA,GATFyO;AASE;AC7DC,MAAMqZ,gCAAgC;AAuBtC,SAAAC,aAAAhoB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAODM,KAAAR;AAAgE,MAAA6J,WAAAzF,MAAAzD;AAAAV,WAAAO,MAJpE;AAAA,IAAAqJ;AAAAA,IAAA2Y,MAAA7hB;AAAAA,IAAA,GAAAyD;AAAAA,EAII5D,IAAAA,IAAgEP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,OAAAkJ,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAFlEuiB,QAAAA,OAAA7hB,OAAQiF,aAARjF;AAAQM,MAAAA;AAAAhB,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAAuiB,QAOKvhB,KAAAgnB,aAAA;AAAA,IAAApe;AAAAA,IAAA2Y;AAAAA,EAAAA,CAGV,GAACviB,OAAA4J,WAAA5J,OAAAuiB,MAAAviB,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA;AAAA6L,MAAAA;AAAA,SAAA7L,EAAAmE,CAAAA,MAAAA,QAAAnE,SAAAgB,MALJ6K,KAAA,oBAAC,UAAQ,EAAA,GACH1H,MACO,WAAAnD,GAAAA,CAIX,GAAAhB,OAAAmE,MAAAnE,OAAAgB,IAAAhB,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GANF6L;AAME;ACvCC,MAAMoc,mCAAmC;AAsBzC,SAAAC,gBAAAnoB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAODM,KAAAR;AAAsE,MAAA6J,WAAAzF,MAAAzD;AAAAV,WAAAO,MAJ1E;AAAA,IAAAqJ;AAAAA,IAAA2Y,MAAA7hB;AAAAA,IAAA,GAAAyD;AAAAA,EAII5D,IAAAA,IAAsEP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,OAAAkJ,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAFxEuiB,QAAAA,OAAA7hB,OAAQiF,aAARjF;AAAQM,MAAAA;AAAAhB,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAAuiB,QAOKvhB,KAAAmnB,gBAAA;AAAA,IAAAve;AAAAA,IAAA2Y;AAAAA,EAAAA,CAGV,GAACviB,OAAA4J,WAAA5J,OAAAuiB,MAAAviB,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA;AAAA6L,MAAAA;AAAA,SAAA7L,EAAAmE,CAAAA,MAAAA,QAAAnE,SAAAgB,MALJ6K,KAAA,oBAAC,UAAQ,EAAA,GACH1H,MACO,WAAAnD,GAAAA,CAIX,GAAAhB,OAAAmE,MAAAnE,OAAAgB,IAAAhB,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GANF6L;AAME;ACtCC,MAAMuc,iCAAiC;AAqBvC,SAAAC,cAAAtoB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAODM,KAAAR;AAAkE,MAAA6J,WAAAzF,MAAAzD;AAAAV,WAAAO,MAJtE;AAAA,IAAAqJ;AAAAA,IAAA2Y,MAAA7hB;AAAAA,IAAA,GAAAyD;AAAAA,EAII5D,IAAAA,IAAkEP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,OAAAkJ,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAFpEuiB,QAAAA,OAAA7hB,OAAQiF,aAARjF;AAAQM,MAAAA;AAAAhB,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAAuiB,QAOKvhB,KAAAsnB,cAAA;AAAA,IAAA1e;AAAAA,IAAA2Y;AAAAA,EAAAA,CAGV,GAACviB,OAAA4J,WAAA5J,OAAAuiB,MAAAviB,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA;AAAA6L,MAAAA;AAAA,SAAA7L,EAAAmE,CAAAA,MAAAA,QAAAnE,SAAAgB,MALJ6K,KAAA,oBAAC,UAAQ,EAAA,GACH1H,MACO,WAAAnD,GAAAA,CAIX,GAAAhB,OAAAmE,MAAAnE,OAAAgB,IAAAhB,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GANF6L;AAME;ACrCC,MAAM0c,gCAAgC;AAuBtC,SAAAC,aAAAzoB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAODM,KAAAR;AAAgE,MAAA6J,WAAAzF,MAAAzD;AAAAV,WAAAO,MAJpE;AAAA,IAAAqJ;AAAAA,IAAA2Y,MAAA7hB;AAAAA,IAAA,GAAAyD;AAAAA,EAII5D,IAAAA,IAAgEP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,OAAAkJ,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAFlEuiB,QAAAA,OAAA7hB,OAAQiF,aAARjF;AAAQM,MAAAA;AAAAhB,IAAA4J,CAAAA,MAAAA,aAAA5J,SAAAuiB,QAOKvhB,KAAAynB,aAAA;AAAA,IAAA7e;AAAAA,IAAA2Y;AAAAA,EAAAA,CAGV,GAACviB,OAAA4J,WAAA5J,OAAAuiB,MAAAviB,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA;AAAA6L,MAAAA;AAAA,SAAA7L,EAAAmE,CAAAA,MAAAA,QAAAnE,SAAAgB,MALJ6K,KAAA,oBAAC,UAAQ,EAAA,GACH1H,MACO,WAAAnD,GAAAA,CAIX,GAAAhB,OAAAmE,MAAAnE,OAAAgB,IAAAhB,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GANF6L;AAME;ACzCC,MAAM6c,0BAA0B;AAYhC,SAAAC,OAAA5oB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAQDM,KAAAR;AAAoDG,MAAAA,UAAA0J,WAAAzF,MAAAzD;AAAAV,WAAAO,MALxD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR;AAAAA,IAAA0J;AAAAA,IAAA,GAAAzF;AAAAA,EAAAA,IAKI5D,IAAoDP,OAAAO,IAAAP,OAAAE,UAAAF,OAAA4J,WAAA5J,OAAAmE,MAAAnE,OAAAU,OAAAR,WAAAF,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAJlD2e,QAAAA,WAAAje,OAAiCiF,SAAA+iB,0BAAjChoB;AAAiCM,MAAAA;AAAAhB,WAAA4J,aAOsB5I,KAAA4nB,OAAA;AAAA,IAAAhf;AAAAA,EAAkB,CAAA,GAAC5J,OAAA4J,WAAA5J,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA;AAAA6L,MAAAA;AAAA7L,SAAAA,EAAA,CAAA,MAAA2e,YAAA3e,EAAAE,CAAAA,MAAAA,YAAAF,EAAAmE,CAAAA,MAAAA,QAAAnE,UAAAgB,MAA9E6K,KAAC,oBAAA8S,UAAA,EAAgB,WAAA,UAAaxa,GAAAA,MAAM,eAAA,IAAuB,WAAAnD,IACjD,SACV,CAAA,GAAUhB,OAAA2e,UAAA3e,OAAAE,UAAAF,OAAAmE,MAAAnE,QAAAgB,IAAAhB,QAAA6L,MAAAA,KAAA7L,EAAA,EAAA,GAFV6L;AAEU;ACjBP,MAAMgd,yBAAyB;AAoB/B,SAAAC,OAAA/oB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAYDM,KAAAR;AAAmD,MAAA6J,WAAA3K,UAAA0E,cAAAgiB,eAAAliB,UAAAU,MAAAya,OAAAle;AAAAV,WAAAO,MATvD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAkJ;AAAAA,IAAA3K;AAAAA,IAAA0mB;AAAAA,IAAAliB;AAAAA,IAAAC,KAAAC;AAAAA,IAAAib;AAAAA,IAAA,GAAAza;AAAAA,EASI5D,IAAAA,IAAmDP,OAAAO,IAAAP,OAAA4J,WAAA5J,OAAAf,UAAAe,OAAA2D,cAAA3D,OAAA2lB,eAAA3lB,OAAAyD,UAAAzD,OAAAmE,MAAAnE,OAAA4e,OAAA5e,OAAAU,OAAAkJ,YAAA5J,EAAA,CAAA,GAAAf,WAAAe,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAA2lB,gBAAA3lB,EAAA,CAAA,GAAAyD,WAAAzD,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAA4e,QAAA5e,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AARjD,QAAA2e,WAAAje,OAAgCiF,SAAAkjB,yBAAhCnoB,IAUNgD,MAAYe,OAAA,IAAoC;AAACzD,MAAAA;AAAAhB,IAAA,CAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAI/ChN,KAAAA,MAAM0C,IAAGuB,SAAQjF,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA,GAFnBiO,oBACEtK,cACA3C,EACF;AAAC,MAAA6K,IAAAE;AAAA/L,YAAA2lB,iBAES9Z,KAAAA,MAAA;AACJnI,QAAGuB,YAELvB,IAAGuB,QAAA0gB,gBAAyBA,iBAAsB;AAAA,EAAA,GAEnD5Z,MAAC4Z,aAAa,GAAC3lB,QAAA2lB,eAAA3lB,QAAA6L,IAAA7L,QAAA+L,OAAAF,KAAA7L,EAAA,EAAA,GAAA+L,KAAA/L,EAAA,EAAA,IALlB4H,UAAUiE,IAKPE,EAAe;AAACmC,MAAAA;AAAAlO,YAAA4J,aAIJsE,KAAA6a,QAAA;AAAA,IAAAnf;AAAAA,EAAmB,CAAA,GAAC5J,QAAA4J,WAAA5J,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA;AAAAmO,MAAAA;AAAAnO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAQlBG,KAAA6a,eAAe,GAAChpB,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AACX,QAAAsO,MAACrP,YAAYwE,WAAW,KAAEkC,QAChC8I,KAAAxP,YAAYwE;AAAQkL,MAAAA;AAAA3O,IAAA,EAAA,MAAA2e,YAAA3e,EAAAmE,EAAAA,MAAAA,QAAAnE,EAAAsO,EAAAA,MAAAA,MAAAtO,UAAAyO,MAJhCE,KAAC,oBAAAgQ,UAAA,EACKxa,GAAAA,MACO,WAAAgK,IACK,kBAAAG,IACN,UAAAG,IACL,MAAA,YACA/K,KACL,GAAA1D,QAAA2e,UAAA3e,QAAAmE,MAAAnE,QAAAsO,IAAAtO,QAAAyO,IAAAzO,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AAAA0O,MAAAA;AAAA1O,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACFU,MAGO,qBAAA,QAHD,EAAA,mBAAuB,WAAAua,oBAC3B,GAAA,UAAA;AAAA,IAAmC,oBAAA,QAAA,EAAlB,WAAAC;IACkB,oBAAA,QAAA,EAAlB,WAAAC,aAAAA,EAAc,CAAA;AAAA,EAAA,EACjC,CAAA,GAAOnpB,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA;AAAAkP,MAAAA;AAAAlP,SAAAA,EAAA4e,EAAAA,MAAAA,SAAA5e,UAAAkO,MAAAlO,EAAA,EAAA,MAAA2O,MAlBTO,MAAC,qBAAA,KACY,EAAA,WAAAhB,IACH,WAAA,UACA,SAAA,SACC,UAAA,YACF0Q,OAEPjQ,UAAAA;AAAAA,IAAAA;AAAAA,IAQAD;AAAAA,EAAAA,GAIF,GAAM1O,QAAA4e,OAAA5e,QAAAkO,IAAAlO,QAAA2O,IAAA3O,QAAAkP,OAAAA,MAAAlP,EAAA,EAAA,GAnBNkP;AAmBM;AC1EH,MAAMka,4BAA4B;AAyBlC,SAAAC,SAAAtpB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAgBDM,KAAAR;AAAwDupB,MAAAA,6BAAAlnB,gBAAAuB,cAAAF,UAAAU,MAAAzD,IAAAM,IAAA6K,IAAAE,IAAAmC,IAAAC,IAAAG;AAAAtO,WAAAO,MAb5D;AAAA,IAAA+oB;AAAAA,IAAApnB,IAAAxB;AAAAA,IAAAyB,QAAAnB;AAAAA,IAAAoB;AAAAA,IAAAnD,UAAA4M;AAAAA,IAAAtJ,UAAAwJ;AAAAA,IAAAhC,KAAAmE;AAAAA,IAAA9K,SAAA+K;AAAAA,IAAA3K,QAAA8K;AAAAA,IAAA7K;AAAAA,IAAAC,KAAAC;AAAAA,IAAA,GAAAQ;AAAAA,EAAAA,IAaI5D,IAAwDP,OAAAO,IAAAP,OAAAspB,6BAAAtpB,OAAAoC,gBAAApC,OAAA2D,cAAA3D,OAAAyD,UAAAzD,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,IAAA7L,OAAA+L,IAAA/L,QAAAkO,IAAAlO,QAAAmO,IAAAnO,QAAAsO,OAAAgb,8BAAAtpB,EAAA,CAAA,GAAAoC,iBAAApC,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAAyD,WAAAzD,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA,GAAA+L,KAAA/L,EAAA,CAAA,GAAAkO,KAAAlO,EAAA,EAAA,GAAAmO,KAAAnO,EAAA,EAAA,GAAAsO,KAAAtO,EAAA,EAAA;AAXtD,QAAA2e,WAAAje,OAAmCiF,SAAAyjB,4BAAnC1oB,IACJyB,SAAAnB,OAAa2E,cAAb3E,IAEA/B,WAAA4M,OAAgBlG,cAAhBkG,IACAtJ,WAAAwJ,OAAYpG,aAAZoG,IACAhC,MAAAmE,OAAOvI,aAAPuI,IACA9K,UAAA+K,OAAWxI,aAAXwI,IACA3K,SAAA8K,OAAU3I,aAAV2I,IAMF5K,MAAYe,OAAA,IAAuC;AAACgK,MAAAA;AAAAzO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAIlDS,KAAAA,MAAM/K,IAAGuB,SAAQjF,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA,GAFnBiO,oBACEtK,cACA8K,EACF,GAEAmX,kBAAkBliB,KAAKtB,cAAc;AAACuM,MAAAA;AAAA3O,IAAAmC,EAAAA,MAAAA,UAAAnC,EAAA,EAAA,MAAAuC,YAAAvC,EAAA+J,EAAAA,MAAAA,OAAA/J,EAAA,EAAA,MAAAoD,WAAApD,UAAAwD,UAIvBmL,KAAA4a,SAAA;AAAA,IAAApnB;AAAAA,IAAAI;AAAAA,IAAAa;AAAAA,IAAAI;AAAAA,IAAAuG;AAAAA,EAMV,CAAA,GAAC/J,QAAAmC,QAAAnC,QAAAuC,UAAAvC,QAAA+J,KAAA/J,QAAAoD,SAAApD,QAAAwD,QAAAxD,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AACY0O,QAAAA,MAAAtM,iBAAiB,KAAEuD,QACjBuJ,OAACjQ,YAAYwE,WAAW,KAAEkC;AAAYyJ,MAAAA;AAAApP,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAKzCoB,MAAAgY,cAAc,GAACpnB,QAAAoP,OAAAA,MAAApP,EAAA,EAAA;AACNuP,QAAAA,MAAA+Z,8BAA8B,KAAE3jB;AAAY8J,MAAAA;AAAAzP,IAAA2e,EAAAA,MAAAA,YAAA3e,EAAA,EAAA,MAAAf,YAAAe,EAAAyD,EAAAA,MAAAA,YAAAzD,EAAA,EAAA,MAAAmE,QAAAnE,UAAAuP,OAHlEE,MAAC,oBAAAkP,UAAA,EACKxa,GAAAA,MACO,WAAAiL,KACS,sBAAAG,KACVtQ,UACAwE,UACLC,IACL,CAAA,GAAA1D,QAAA2e,UAAA3e,QAAAf,UAAAe,QAAAyD,UAAAzD,QAAAmE,MAAAnE,QAAAuP,KAAAvP,QAAAyP,OAAAA,MAAAzP,EAAA,EAAA;AAAA6P,MAAAA;AAAA7P,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KACF6B,MAAA,oBAAA,QAAA,EAAiB,WAAA2Z,mBAAmB,EAAA,CAAK,GAAAxpB,QAAA6P,OAAAA,MAAA7P,EAAA,EAAA;AAAA+P,MAAAA;AAAA/P,SAAAA,EAAA,EAAA,MAAA0O,OAAA1O,EAAAkP,EAAAA,MAAAA,OAAAlP,EAAAyP,EAAAA,MAAAA,OAAAzP,UAAA2O,MApB3CoB,MAqBO,qBAAA,QApBM,EAAA,WAAApB,IAOG,gBAAAD,KACE,kBAAAQ,KACR,WAAA,YAERO,UAAAA;AAAAA,IAAAA;AAAAA,IAQAI;AAAAA,EACF,EAAA,CAAA,GAAO7P,QAAA0O,KAAA1O,QAAAkP,KAAAlP,QAAAyP,KAAAzP,QAAA2O,IAAA3O,QAAA+P,OAAAA,MAAA/P,EAAA,EAAA,GArBP+P;AAqBO;ACpDJ,SAAA0Z,0BAAA1pB,OAAA;AAAAC,QAAAA,IAAAC,EAAA,CAAA,GAGL;AAAA,IAAAC;AAAAA,IAAAsnB;AAAAA,EAA0BznB,IAAAA,OAC1B,CAAA2pB,eAAAC,gBAAA,IAA0CC,kBAAqB,GAC/D,CAAAC,eAAAC,gBAAA,IAA0CF,oBAAmC,GAE7EG,YAAkB,OAAOvC,SAAU,WAAWA,QAAQA,OAAKpd,QAAW,GACtE4f,aAAmB,OAAOxC,SAAU,WAAWA,QAAQA,OAAKyC,SAAY;AAAA1pB,MAAAA;AAQzDG,QAAAA,KAAAgpB,gBAAa,IAAOK;AAAS/oB,MAAAA;AAAAhB,IAAAgqB,CAAAA,MAAAA,cAAAhqB,EAAA,CAAA,MAAA6pB,iBAAA7pB,EAAA2pB,CAAAA,MAAAA,oBAAA3pB,EAAA,CAAA,MAAA8pB,oBAAA9pB,SAAAU,MALnCM,KAAA;AAAA,IAAA2oB;AAAAA,IAAAE;AAAAA,IAAAC;AAAAA,IAAAC,WAKMrpB;AAAAA,IAA6BspB;AAAAA,EAEzChqB,GAAAA,OAAAgqB,YAAAhqB,OAAA6pB,eAAA7pB,OAAA2pB,kBAAA3pB,OAAA8pB,kBAAA9pB,OAAAU,IAAAV,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA,GAAAO,KAPMS;AADT,QAAAV,QAA6CC;AAU5CsL,MAAAA;AAAA,SAAA7L,EAAAE,CAAAA,MAAAA,YAAAF,SAAAM,SAGCuL,KAAA,oBAAA,yBAAA,UAAA,EAA0CvL,OAAQJ,SAAS,CAAA,GAAoCF,OAAAE,UAAAF,OAAAM,OAAAN,OAAA6L,MAAAA,KAAA7L,EAAA,CAAA,GAA/F6L;AAA+F;ACxC5F,SAAAqe,wBAAAnqB,OAAA;AAAAC,QAAAA,IAAAC,EAAA,CAAA,GACL;AAAA,IAAAC;AAAAA,IAAA9B;AAAAA,EAAAA,IAA4B2B;AAAK,MAAAQ,IAAAG;AAAAV,WAAA5B,WACyBsC,KAAA;AAAA,IAAA8P,SAAA;AAAA,IAAApS;AAAAA,EAAuB4B,GAAAA,OAAA5B,SAAA4B,OAAAU,MAAAA,KAAAV,EAAA,CAAA,GAAAO,KAAvBG;AAA1D,QAAAJ,QAA2CC;AAAmDS,MAAAA;AAAA,SAAAhB,EAAAE,CAAAA,MAAAA,YAAAF,SAAAM,SAEvFU,KAAA,oBAAA,uBAAA,UAAA,EAAwCV,OAAQJ,SAAS,CAAA,GAAkCF,OAAAE,UAAAF,OAAAM,OAAAN,OAAAgB,MAAAA,KAAAhB,EAAA,CAAA,GAA3FgB;AAA2F;AChBpFmpB,SAAAA,mBAAmBC,OAAiBxe,OAAyB;AAC3E,QAAMye,MAAgB,CAAE;AAExB,WAAS7qB,IAAI,GAAGA,IAAI4qB,MAAM1qB,QAAQF,KAAK;AAC1B4qB,UAAM5qB,CAAC,IAEToM,SACPye,IAAIjR,KAAK5Z,CAAC;AAIP6qB,SAAAA;AACT;AAEgBC,SAAAA,mBAAmBF,OAAiBxe,OAAyB;AAC3E,QAAMye,MAAgB,CAAE;AAExB,WAAS7qB,IAAI,GAAGA,IAAI4qB,MAAM1qB,QAAQF,KAAK;AAC1B4qB,UAAM5qB,CAAC,KAERoM,SACRye,IAAIjR,KAAK5Z,CAAC;AAIP6qB,SAAAA;AACT;AClBO,MAAME,gCAAgC,OAsBvCC,sBAAsBviB,OAAOK,OAAOmiB,WAAW;AAM9C,SAAAC,aAAA3qB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GASDM,KAAAR;AAAgEG,MAAAA,UAAAyD,cAAAgnB,WAAAxmB,MAAAzD;AAAAV,WAAAO,MANpE;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR;AAAAA,IAAAkqB,OAAAO;AAAAA,IAAAjnB,KAAAC;AAAAA,IAAA,GAAAQ;AAAAA,EAAAA,IAMI5D,IAAgEP,OAAAO,IAAAP,OAAAE,UAAAF,OAAA2D,cAAA3D,OAAA2qB,WAAA3qB,OAAAmE,MAAAnE,OAAAU,OAAAR,WAAAF,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAA2qB,YAAA3qB,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA;AAL9D,QAAA2e,WAAAje,OAAuCiF,SAAA4kB,gCAAvC7pB,IAONkqB,cAAoBD,aAASH,qBAE7B,CAAApsB,SAAAysB,UAAA,IAA8BvgB,aAAoC,GAClEwgB,cAAoBxI,eAAelkB,OAAO;AAAC4C,MAAAA;AACf8pB,OAAAA,aAAW3oB,OAAAyJ,SAAAiT,OAAAkM;AAAvC,QAAAnf,QAAc5K;AAA4E,MAAA6K,IAAAE;AAAA,MAAA/L,EAAA4qB,CAAAA,MAAAA,eAAA5qB,SAAA4L,OAAA;AAGxFof,UAAAA,KAAWb,mBAAmBS,aAAahf,KAAK;AAEzCG,SAAAif,GAAEtrB,SAAUsrB,GAAEnQ,KAAM,GAAG,IAAClV,QAAY3F,OAAA4qB,aAAA5qB,OAAA4L,OAAA5L,OAAA+L;AAAAA,EAAA;AAAAA,SAAA/L,EAAA,CAAA;AAApC+L,OAAAA;AAHT,QAAAvD,MAAYqD;AAIY,MAAAqC,IAAAC;AAAA,MAAAnO,EAAA4qB,CAAAA,MAAAA,eAAA5qB,UAAA4L,OAAA;AAGtBqf,UAAAA,OAAWX,mBAAmBM,aAAahf,KAAK;AAEzCuC,SAAA6c,KAAEtrB,SAAUsrB,KAAEnQ,KAAM,GAAG,IAAClV,QAAY3F,OAAA4qB,aAAA5qB,QAAA4L,OAAA5L,QAAAmO;AAAAA,EAAA;AAAAA,SAAAnO,EAAA,EAAA;AAApCmO,OAAAA;AAHT,QAAAyB,MAAY1B;AAIY,MAAAI,IAAAG;AAAAzO,YAAA5B,WAEwDkQ,KAAAA,MAAMlQ,SAASqQ,MAC7FrQ,OAAO,GACR4B,QAAA5B,SAAA4B,QAAAsO,IAAAtO,QAAAyO,OAAAH,KAAAtO,EAAA,EAAA,GAAAyO,KAAAzO,EAAA,EAAA,IAFDiO,oBAAkEtK,cAAc2K,IAAeG,EAE9F;AAACE,MAAAA;AAAA,SAAA3O,EAAA2e,EAAAA,MAAAA,YAAA3e,EAAA,EAAA,MAAAE,YAAAF,EAAAwI,EAAAA,MAAAA,OAAAxI,EAAA,EAAA,MAAA4P,OAAA5P,UAAAmE,QAGAwK,KAAC,oBAAAgQ,UAAgB,EAAA,WAAA,gBAAmBxa,GAAAA,MAAmBqE,eAAAA,KAAkBoH,eAAE,KAAQib,KAAAA,YACzE,SACV,CAAA,GAAU7qB,QAAA2e,UAAA3e,QAAAE,UAAAF,QAAAwI,KAAAxI,QAAA4P,KAAA5P,QAAAmE,MAAAnE,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA,GAFV2O;AAEU;AChDP,MAAMuc,sBAAsBC,UAAkD;AAAA,EAC1EjqB,QAA4B;AAAA,IAACyU,OAAO;AAAA,EAAI;AAAA,EAEjD,OAAOyV,cAAc;AAAA,EAErB,OAAOC,yBAAyB1V,OAAkC;AAEzD,WAAA;AAAA,MAACA;AAAAA,IAAK;AAAA,EAAA;AAAA,EAGN2V,kBAAkB3V,OAAcG,MAAuB;AAC9D,SAAK/V,MAAMwrB,QAAQ;AAAA,MAAC5V;AAAAA,MAAOG;AAAAA,IAAAA,CAAK;AAAA,EAAA;AAAA,EAGzB0V,SAAoB;AACrB,UAAA;AAAA,MAAC7V;AAAAA,QAAS,KAAKzU;AAErB,QAAIyU,OAAO;AACT,YAAM8V,UAAU,OAAO9V,OAAO8V,WAAY,WAAW9V,MAAM8V,UAAU;AAE9D,aAAA,oBAAC,QAAMA,UAAQ,QAAA,CAAA;AAAA,IAAA;AAGxB,WAAO,KAAK1rB,MAAMG;AAAAA,EAAAA;AAEtB;AC9BO,SAAAwrB,aAAA3rB,OAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA,GACL;AAAA,IAAAgM,iBAAA1L;AAAAA,IAAAL;AAAAA,IAAAgM,eAAAxL;AAAAA,IAAAuQ,QAAAjQ;AAAAA,IAAAkQ,MAAArF;AAAAA,EAAAA,IAMI9L,OALFkM,kBAAA1L,OAAsBoF,gBAAtBpF,IAEA2L,gBAAAxL,OAAoBiF,gBAApBjF,IACAuQ,SAAAjQ,OAAgB2E,SAAP,UAAT3E,IACAkQ,OAAArF,OAAoBlG,SAAb,gBAAPkG;AAAoBE,MAAAA;AAAA/L,IAAAE,CAAAA,MAAAA,YAAAF,SAAAkM,iBAQZH,KAAC,oBAAA,gBAAwBG,EAAAA,SAAAA,eAAuB,SAAA,CAAE,GAAiBlM,OAAAE,UAAAF,OAAAkM,eAAAlM,OAAA+L,MAAAA,KAAA/L,EAAA,CAAA;AAAAkO,MAAAA;AAAAlO,IAAAiM,CAAAA,MAAAA,mBAAAjM,SAAA+L,MAFvEmC,KAAC,oBAAA,eAAA,EACC,UAAC,oBAAA,yBAAA,EAAiCjC,SAAAA,iBAChCF,UAAAA,GACF,CAAA,EACF,CAAA,GAAgB/L,OAAAiM,iBAAAjM,OAAA+L,IAAA/L,OAAAkO,MAAAA,KAAAlO,EAAA,CAAA;AAAAmO,MAAAA;AAAA,SAAAnO,EAAAiR,CAAAA,MAAAA,UAAAjR,SAAAkO,MAAAlO,EAAA,CAAA,MAAAkR,QANpB/C,KAAA,oBAAC,iBACC,UAAC,oBAAA,cAAA,EAAqB8C,QAAcC,MAClChD,UAAAA,IAKF,EACF,CAAA,GAAgBlO,OAAAiR,QAAAjR,OAAAkO,IAAAlO,OAAAkR,MAAAlR,OAAAmO,MAAAA,KAAAnO,EAAA,CAAA,GARhBmO;AAQgB;AC7Bb,MAAMwd,uBAAuB;AAgB7B,SAAAC,KAAA7rB,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAaDM,KAAAR;AAA+C,MAAAG,UAAA0J,WAAAjG,cAAAuc,QAAA/b,MAAAzD,IAAAM,IAAA6K,IAAAE;AAAA/L,WAAAO,MAVnD;AAAA,IAAA2B,IAAAxB;AAAAA,IAAAR;AAAAA,IAAA0J;AAAAA,IAAAsW;AAAAA,IAAAhL,UAAAlU;AAAAA,IAAA0C,KAAAC;AAAAA,IAAAsN,QAAApF;AAAAA,IAAAqF,MAAAnF;AAAAA,IAAA,GAAA5H;AAAAA,EAAAA,IAUI5D,IAA+CP,OAAAO,IAAAP,OAAAE,UAAAF,OAAA4J,WAAA5J,OAAA2D,cAAA3D,OAAAkgB,QAAAlgB,OAAAmE,MAAAnE,OAAAU,IAAAV,OAAAgB,IAAAhB,OAAA6L,IAAA7L,OAAA+L,OAAA7L,WAAAF,EAAA,CAAA,GAAA4J,YAAA5J,EAAA,CAAA,GAAA2D,eAAA3D,EAAA,CAAA,GAAAkgB,SAAAlgB,EAAA,CAAA,GAAAmE,OAAAnE,EAAA,CAAA,GAAAU,KAAAV,EAAA,CAAA,GAAAgB,KAAAhB,EAAA,CAAA,GAAA6L,KAAA7L,EAAA,CAAA,GAAA+L,KAAA/L,EAAA,CAAA;AAT7CkC,QAAAA,KAAAxB,OAAyBiF,SAAAgmB,uBAAzBjrB,IAIJwU,WAAAlU,OAAmB2E,SAAR,WAAX3E,IAEAiQ,SAAApF,OAAgBlG,SAAP,UAATkG,IACAqF,OAAAnF,OAAgBpG,SAAT,YAAPoG,IAIFrI,MAAYe,OAAA,IAAmC;AAACyJ,MAAAA;AAAAlO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAI9CE,KAAAA,MAAMxK,IAAGuB,SAAQjF,QAAAkO,MAAAA,KAAAlO,EAAA,EAAA,GAFnBiO,oBACEtK,cACAuK,EACF;AAEA,QAAA,CAAAhC,eAAA2f,gBAAA,IAA0CvhB,aAAiC,GAC3E,CAAA2B,iBAAA6f,kBAAA,IAA8CxhB,aAAiC;AAAC6D,MAAAA;AAAAnO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAElDG,KAAAS,CAAA,OAAA;AACTA,uBAAAA,EAAE,GACrBlL,IAAGuB,UAAW2J;AAAAA,EAAAA,GACf5O,QAAAmO,MAAAA,KAAAnO,EAAA,EAAA;AAHD,QAAA+rB,YAAkB5d;AAGZG,MAAAA;AAAAtO,IAAA,EAAA,MAAA+N,OAAAC,IAAA,2BAAA,KAUFM,KAAA,oBAAA,OAAA,EAAiB,eAAA,IAAQud,KAAe,iBAAK,CAAA,GAAA7rB,QAAAsO,MAAAA,KAAAtO,EAAA,EAAA;AAAAyO,MAAAA;AAAAzO,IAAAiM,EAAAA,MAAAA,mBAAAjM,EAAA,EAAA,MAAAE,YAAAF,EAAAkM,EAAAA,MAAAA,iBAAAlM,EAAA,EAAA,MAAAiR,UAAAjR,UAAAkR,QAP/CzC,KAAC,qBAAA,cACkBxC,EAAAA,iBACFC,eACP+E,QACFC,MAEE,UAAA;AAAA,IAAA;AAAA,IACR5C;AAAAA,EACF,EAAA,CAAA,GAAetO,QAAAiM,iBAAAjM,QAAAE,UAAAF,QAAAkM,eAAAlM,QAAAiR,QAAAjR,QAAAkR,MAAAlR,QAAAyO,MAAAA,KAAAzO,EAAA,EAAA;AATjB,MAAA6gB,OACEpS;AASD,MAEGvM,OAAO,QAAM;AAAAyM,QAAAA;AAAA3O,cAAAkgB,UACSvR,MAAAqd,IAAA;AAAA,MAAA9L;AAAAA,MAAA+L,QAAA;AAAA,IAAuB,CAAA,GAACjsB,QAAAkgB,QAAAlgB,QAAA2O,OAAAA,MAAA3O,EAAA,EAAA;AAAA0O,QAAAA;AAAA1O,MAAA6gB,EAAAA,MAAAA,QAAA7gB,UAAA2O,OAAzCD,OAAA,oBAAA,QAAiB,EAAA,WAAAC,KAA2BkS,UAAK,KAAA,CAAA,GAAO7gB,QAAA6gB,MAAA7gB,QAAA2O,KAAA3O,QAAA0O,QAAAA,OAAA1O,EAAA,EAAA,GAA/D6gB,OAAOA;AAAAA,EAAAA;AAAHlS,MAAAA;AAAA3O,IAAA,EAAA,MAAA4J,aAAA5J,EAAAkgB,EAAAA,MAAAA,UAAAlgB,EAAAiR,EAAAA,MAAAA,UAAAjR,UAAAkR,QAQSvC,KAAAud,KAAA;AAAA,IAAAtiB;AAAAA,IAAAsW;AAAAA,IAAAjP;AAAAA,IAAAC;AAAAA,EAAAA,CAKV,GAAClR,QAAA4J,WAAA5J,QAAAkgB,QAAAlgB,QAAAiR,QAAAjR,QAAAkR,MAAAlR,QAAA2O,MAAAA,KAAA3O,EAAA,EAAA;AAAA0O,MAAAA;AAAA,SAAA1O,EAAAkC,EAAAA,MAAAA,MAAAlC,EAAA,EAAA,MAAA6gB,QAAA7gB,EAAAkV,EAAAA,MAAAA,YAAAlV,EAAA,EAAA,MAAAmE,QAAAnE,UAAA2O,MATJD,MAAC,oBAAA,KACKxM,EAAAA,IACI,WAAA,QAAM,GACViC,MACO,WAAAwK,IAMDuG,UACL6W,KAAAA,WAEJlL,UACH,KAAA,CAAA,GAAM7gB,QAAAkC,IAAAlC,QAAA6gB,MAAA7gB,QAAAkV,UAAAlV,QAAAmE,MAAAnE,QAAA2O,IAAA3O,QAAA0O,OAAAA,MAAA1O,EAAA,EAAA,GAdN0O;AAcM;"}