@tenphi/tasty 0.0.0-snapshot.2705ab9 → 0.0.0-snapshot.27699f6

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 (336) hide show
  1. package/README.md +35 -27
  2. package/dist/{ssr/async-storage.js → async-storage-B7_o6FKt.js} +17 -8
  3. package/dist/async-storage-B7_o6FKt.js.map +1 -0
  4. package/dist/{ssr/collector.d.ts → collector-LuU1vZ68.d.ts} +11 -15
  5. package/dist/{ssr/collector.js → collector-QwpPODsy.js} +37 -34
  6. package/dist/collector-QwpPODsy.js.map +1 -0
  7. package/dist/config-rrijM-U2.js +10137 -0
  8. package/dist/config-rrijM-U2.js.map +1 -0
  9. package/dist/config-vuCRkBWX.d.ts +884 -0
  10. package/dist/context-CkSg-kDT.js +24 -0
  11. package/dist/context-CkSg-kDT.js.map +1 -0
  12. package/dist/core/index.d.ts +5 -34
  13. package/dist/core/index.js +6 -27
  14. package/dist/core-BvTG0J_M.js +1592 -0
  15. package/dist/core-BvTG0J_M.js.map +1 -0
  16. package/dist/{zero/extractor.js → css-writer-C7HJGEmN.js} +75 -13
  17. package/dist/css-writer-C7HJGEmN.js.map +1 -0
  18. package/dist/{ssr/format-global-rules.js → format-global-rules-Dbc_1tc3.js} +3 -3
  19. package/dist/format-global-rules-Dbc_1tc3.js.map +1 -0
  20. package/dist/format-rules-BvokPr1L.js +143 -0
  21. package/dist/format-rules-BvokPr1L.js.map +1 -0
  22. package/dist/hydrate-Dsv7Pwon.js +45 -0
  23. package/dist/hydrate-Dsv7Pwon.js.map +1 -0
  24. package/dist/index-ZRxZWzlj.d.ts +1602 -0
  25. package/dist/index-dUtwpOux.d.ts +1266 -0
  26. package/dist/index.d.ts +5 -51
  27. package/dist/index.js +731 -35
  28. package/dist/index.js.map +1 -0
  29. package/dist/keyframes-DDqRjwa9.js +587 -0
  30. package/dist/keyframes-DDqRjwa9.js.map +1 -0
  31. package/dist/{utils/merge-styles.js → merge-styles-B8jV6zu3.js} +4 -6
  32. package/dist/merge-styles-B8jV6zu3.js.map +1 -0
  33. package/dist/{utils/merge-styles.d.ts → merge-styles-CtDJMhpJ.d.ts} +3 -3
  34. package/dist/{utils/resolve-recipes.js → resolve-recipes-BnTZz2I_.js} +5 -8
  35. package/dist/resolve-recipes-BnTZz2I_.js.map +1 -0
  36. package/dist/ssr/astro-client.d.ts +1 -0
  37. package/dist/ssr/astro-client.js +19 -0
  38. package/dist/ssr/astro-client.js.map +1 -0
  39. package/dist/ssr/astro-middleware.d.ts +15 -0
  40. package/dist/ssr/astro-middleware.js +19 -0
  41. package/dist/ssr/astro-middleware.js.map +1 -0
  42. package/dist/ssr/astro.d.ts +89 -10
  43. package/dist/ssr/astro.js +116 -32
  44. package/dist/ssr/astro.js.map +1 -1
  45. package/dist/ssr/index.d.ts +44 -5
  46. package/dist/ssr/index.js +7 -9
  47. package/dist/ssr/index.js.map +1 -1
  48. package/dist/ssr/next.d.ts +7 -6
  49. package/dist/ssr/next.js +18 -14
  50. package/dist/ssr/next.js.map +1 -1
  51. package/dist/static/index.d.ts +91 -5
  52. package/dist/static/index.js +49 -4
  53. package/dist/static/index.js.map +1 -0
  54. package/dist/static/inject.d.ts +5 -0
  55. package/dist/static/inject.js +17 -0
  56. package/dist/static/inject.js.map +1 -0
  57. package/dist/zero/babel.d.ts +24 -110
  58. package/dist/zero/babel.js +139 -47
  59. package/dist/zero/babel.js.map +1 -1
  60. package/dist/zero/index.d.ts +67 -3
  61. package/dist/zero/index.js +2 -4
  62. package/dist/zero/next.d.ts +12 -0
  63. package/dist/zero/next.js +5 -4
  64. package/dist/zero/next.js.map +1 -1
  65. package/docs/README.md +4 -4
  66. package/docs/adoption.md +5 -3
  67. package/docs/comparison.md +24 -25
  68. package/docs/configuration.md +69 -1
  69. package/docs/debug.md +11 -9
  70. package/docs/design-system.md +22 -10
  71. package/docs/dsl.md +24 -8
  72. package/docs/getting-started.md +10 -10
  73. package/docs/injector.md +43 -27
  74. package/docs/methodology.md +52 -3
  75. package/docs/{PIPELINE.md → pipeline.md} +204 -50
  76. package/docs/{runtime.md → react-api.md} +104 -32
  77. package/docs/ssr.md +139 -81
  78. package/docs/styles.md +17 -0
  79. package/docs/tasty-static.md +101 -2
  80. package/package.json +23 -11
  81. package/dist/_virtual/_rolldown/runtime.js +0 -8
  82. package/dist/chunks/cacheKey.js +0 -78
  83. package/dist/chunks/cacheKey.js.map +0 -1
  84. package/dist/chunks/definitions.d.ts +0 -37
  85. package/dist/chunks/definitions.js +0 -259
  86. package/dist/chunks/definitions.js.map +0 -1
  87. package/dist/chunks/renderChunk.js +0 -60
  88. package/dist/chunks/renderChunk.js.map +0 -1
  89. package/dist/config.d.ts +0 -366
  90. package/dist/config.js +0 -504
  91. package/dist/config.js.map +0 -1
  92. package/dist/counter-style/index.js +0 -51
  93. package/dist/counter-style/index.js.map +0 -1
  94. package/dist/debug.d.ts +0 -89
  95. package/dist/debug.js +0 -454
  96. package/dist/debug.js.map +0 -1
  97. package/dist/font-face/index.js +0 -63
  98. package/dist/font-face/index.js.map +0 -1
  99. package/dist/hooks/resolve-ssr-collector.js +0 -15
  100. package/dist/hooks/resolve-ssr-collector.js.map +0 -1
  101. package/dist/hooks/useCounterStyle.d.ts +0 -50
  102. package/dist/hooks/useCounterStyle.js +0 -47
  103. package/dist/hooks/useCounterStyle.js.map +0 -1
  104. package/dist/hooks/useFontFace.d.ts +0 -43
  105. package/dist/hooks/useFontFace.js +0 -71
  106. package/dist/hooks/useFontFace.js.map +0 -1
  107. package/dist/hooks/useGlobalStyles.d.ts +0 -30
  108. package/dist/hooks/useGlobalStyles.js +0 -79
  109. package/dist/hooks/useGlobalStyles.js.map +0 -1
  110. package/dist/hooks/useKeyframes.d.ts +0 -56
  111. package/dist/hooks/useKeyframes.js +0 -65
  112. package/dist/hooks/useKeyframes.js.map +0 -1
  113. package/dist/hooks/useProperty.d.ts +0 -79
  114. package/dist/hooks/useProperty.js +0 -110
  115. package/dist/hooks/useProperty.js.map +0 -1
  116. package/dist/hooks/useRawCSS.d.ts +0 -53
  117. package/dist/hooks/useRawCSS.js +0 -36
  118. package/dist/hooks/useRawCSS.js.map +0 -1
  119. package/dist/hooks/useStyles.d.ts +0 -45
  120. package/dist/hooks/useStyles.js +0 -238
  121. package/dist/hooks/useStyles.js.map +0 -1
  122. package/dist/injector/index.d.ts +0 -183
  123. package/dist/injector/index.js +0 -180
  124. package/dist/injector/index.js.map +0 -1
  125. package/dist/injector/injector.d.ts +0 -166
  126. package/dist/injector/injector.js +0 -465
  127. package/dist/injector/injector.js.map +0 -1
  128. package/dist/injector/sheet-manager.d.ts +0 -136
  129. package/dist/injector/sheet-manager.js +0 -734
  130. package/dist/injector/sheet-manager.js.map +0 -1
  131. package/dist/injector/types.d.ts +0 -204
  132. package/dist/keyframes/index.js +0 -206
  133. package/dist/keyframes/index.js.map +0 -1
  134. package/dist/parser/classify.js +0 -320
  135. package/dist/parser/classify.js.map +0 -1
  136. package/dist/parser/const.js +0 -49
  137. package/dist/parser/const.js.map +0 -1
  138. package/dist/parser/lru.js +0 -109
  139. package/dist/parser/lru.js.map +0 -1
  140. package/dist/parser/parser.d.ts +0 -25
  141. package/dist/parser/parser.js +0 -116
  142. package/dist/parser/parser.js.map +0 -1
  143. package/dist/parser/tokenizer.js +0 -69
  144. package/dist/parser/tokenizer.js.map +0 -1
  145. package/dist/parser/types.d.ts +0 -51
  146. package/dist/parser/types.js +0 -46
  147. package/dist/parser/types.js.map +0 -1
  148. package/dist/pipeline/conditions.d.ts +0 -134
  149. package/dist/pipeline/conditions.js +0 -406
  150. package/dist/pipeline/conditions.js.map +0 -1
  151. package/dist/pipeline/exclusive.js +0 -231
  152. package/dist/pipeline/exclusive.js.map +0 -1
  153. package/dist/pipeline/index.d.ts +0 -55
  154. package/dist/pipeline/index.js +0 -709
  155. package/dist/pipeline/index.js.map +0 -1
  156. package/dist/pipeline/materialize.js +0 -1104
  157. package/dist/pipeline/materialize.js.map +0 -1
  158. package/dist/pipeline/parseStateKey.d.ts +0 -15
  159. package/dist/pipeline/parseStateKey.js +0 -447
  160. package/dist/pipeline/parseStateKey.js.map +0 -1
  161. package/dist/pipeline/simplify.js +0 -516
  162. package/dist/pipeline/simplify.js.map +0 -1
  163. package/dist/pipeline/warnings.js +0 -18
  164. package/dist/pipeline/warnings.js.map +0 -1
  165. package/dist/plugins/okhsl-plugin.d.ts +0 -35
  166. package/dist/plugins/okhsl-plugin.js +0 -98
  167. package/dist/plugins/okhsl-plugin.js.map +0 -1
  168. package/dist/plugins/types.d.ts +0 -76
  169. package/dist/properties/index.js +0 -223
  170. package/dist/properties/index.js.map +0 -1
  171. package/dist/properties/property-type-resolver.d.ts +0 -24
  172. package/dist/properties/property-type-resolver.js +0 -91
  173. package/dist/properties/property-type-resolver.js.map +0 -1
  174. package/dist/ssr/async-storage.d.ts +0 -17
  175. package/dist/ssr/async-storage.js.map +0 -1
  176. package/dist/ssr/collect-auto-properties.js +0 -40
  177. package/dist/ssr/collect-auto-properties.js.map +0 -1
  178. package/dist/ssr/collector.js.map +0 -1
  179. package/dist/ssr/context.d.ts +0 -8
  180. package/dist/ssr/context.js +0 -14
  181. package/dist/ssr/context.js.map +0 -1
  182. package/dist/ssr/format-global-rules.js.map +0 -1
  183. package/dist/ssr/format-keyframes.js +0 -70
  184. package/dist/ssr/format-keyframes.js.map +0 -1
  185. package/dist/ssr/format-property.js +0 -50
  186. package/dist/ssr/format-property.js.map +0 -1
  187. package/dist/ssr/format-rules.js +0 -73
  188. package/dist/ssr/format-rules.js.map +0 -1
  189. package/dist/ssr/hydrate.d.ts +0 -22
  190. package/dist/ssr/hydrate.js +0 -50
  191. package/dist/ssr/hydrate.js.map +0 -1
  192. package/dist/ssr/ssr-collector-ref.js +0 -12
  193. package/dist/ssr/ssr-collector-ref.js.map +0 -1
  194. package/dist/states/index.d.ts +0 -49
  195. package/dist/states/index.js +0 -171
  196. package/dist/states/index.js.map +0 -1
  197. package/dist/static/tastyStatic.d.ts +0 -46
  198. package/dist/static/tastyStatic.js +0 -31
  199. package/dist/static/tastyStatic.js.map +0 -1
  200. package/dist/static/types.d.ts +0 -49
  201. package/dist/static/types.js +0 -24
  202. package/dist/static/types.js.map +0 -1
  203. package/dist/styles/align.d.ts +0 -15
  204. package/dist/styles/align.js +0 -14
  205. package/dist/styles/align.js.map +0 -1
  206. package/dist/styles/border.d.ts +0 -25
  207. package/dist/styles/border.js +0 -114
  208. package/dist/styles/border.js.map +0 -1
  209. package/dist/styles/color.d.ts +0 -14
  210. package/dist/styles/color.js +0 -27
  211. package/dist/styles/color.js.map +0 -1
  212. package/dist/styles/createStyle.js +0 -80
  213. package/dist/styles/createStyle.js.map +0 -1
  214. package/dist/styles/dimension.js +0 -97
  215. package/dist/styles/dimension.js.map +0 -1
  216. package/dist/styles/display.d.ts +0 -37
  217. package/dist/styles/display.js +0 -67
  218. package/dist/styles/display.js.map +0 -1
  219. package/dist/styles/fade.d.ts +0 -15
  220. package/dist/styles/fade.js +0 -58
  221. package/dist/styles/fade.js.map +0 -1
  222. package/dist/styles/fill.d.ts +0 -42
  223. package/dist/styles/fill.js +0 -52
  224. package/dist/styles/fill.js.map +0 -1
  225. package/dist/styles/flow.d.ts +0 -16
  226. package/dist/styles/flow.js +0 -12
  227. package/dist/styles/flow.js.map +0 -1
  228. package/dist/styles/gap.d.ts +0 -31
  229. package/dist/styles/gap.js +0 -37
  230. package/dist/styles/gap.js.map +0 -1
  231. package/dist/styles/height.d.ts +0 -17
  232. package/dist/styles/height.js +0 -20
  233. package/dist/styles/height.js.map +0 -1
  234. package/dist/styles/index.d.ts +0 -2
  235. package/dist/styles/index.js +0 -9
  236. package/dist/styles/index.js.map +0 -1
  237. package/dist/styles/inset.d.ts +0 -52
  238. package/dist/styles/inset.js +0 -150
  239. package/dist/styles/inset.js.map +0 -1
  240. package/dist/styles/justify.d.ts +0 -15
  241. package/dist/styles/justify.js +0 -14
  242. package/dist/styles/justify.js.map +0 -1
  243. package/dist/styles/list.d.ts +0 -16
  244. package/dist/styles/list.js +0 -98
  245. package/dist/styles/list.js.map +0 -1
  246. package/dist/styles/margin.d.ts +0 -24
  247. package/dist/styles/margin.js +0 -104
  248. package/dist/styles/margin.js.map +0 -1
  249. package/dist/styles/outline.d.ts +0 -29
  250. package/dist/styles/outline.js +0 -65
  251. package/dist/styles/outline.js.map +0 -1
  252. package/dist/styles/padding.d.ts +0 -24
  253. package/dist/styles/padding.js +0 -104
  254. package/dist/styles/padding.js.map +0 -1
  255. package/dist/styles/predefined.d.ts +0 -71
  256. package/dist/styles/predefined.js +0 -238
  257. package/dist/styles/predefined.js.map +0 -1
  258. package/dist/styles/preset.d.ts +0 -52
  259. package/dist/styles/preset.js +0 -127
  260. package/dist/styles/preset.js.map +0 -1
  261. package/dist/styles/radius.d.ts +0 -14
  262. package/dist/styles/radius.js +0 -51
  263. package/dist/styles/radius.js.map +0 -1
  264. package/dist/styles/scrollbar.d.ts +0 -25
  265. package/dist/styles/scrollbar.js +0 -48
  266. package/dist/styles/scrollbar.js.map +0 -1
  267. package/dist/styles/shadow.d.ts +0 -14
  268. package/dist/styles/shadow.js +0 -24
  269. package/dist/styles/shadow.js.map +0 -1
  270. package/dist/styles/transition.d.ts +0 -14
  271. package/dist/styles/transition.js +0 -158
  272. package/dist/styles/transition.js.map +0 -1
  273. package/dist/styles/types.d.ts +0 -547
  274. package/dist/styles/width.d.ts +0 -17
  275. package/dist/styles/width.js +0 -20
  276. package/dist/styles/width.js.map +0 -1
  277. package/dist/tasty.d.ts +0 -119
  278. package/dist/tasty.js +0 -232
  279. package/dist/tasty.js.map +0 -1
  280. package/dist/types.d.ts +0 -184
  281. package/dist/utils/cache-wrapper.js +0 -22
  282. package/dist/utils/cache-wrapper.js.map +0 -1
  283. package/dist/utils/case-converter.js +0 -8
  284. package/dist/utils/case-converter.js.map +0 -1
  285. package/dist/utils/color-math.d.ts +0 -46
  286. package/dist/utils/color-math.js +0 -749
  287. package/dist/utils/color-math.js.map +0 -1
  288. package/dist/utils/color-space.d.ts +0 -5
  289. package/dist/utils/color-space.js +0 -229
  290. package/dist/utils/color-space.js.map +0 -1
  291. package/dist/utils/colors.d.ts +0 -5
  292. package/dist/utils/colors.js +0 -11
  293. package/dist/utils/colors.js.map +0 -1
  294. package/dist/utils/css-types.d.ts +0 -7
  295. package/dist/utils/dotize.d.ts +0 -26
  296. package/dist/utils/dotize.js +0 -122
  297. package/dist/utils/dotize.js.map +0 -1
  298. package/dist/utils/filter-base-props.d.ts +0 -15
  299. package/dist/utils/filter-base-props.js +0 -45
  300. package/dist/utils/filter-base-props.js.map +0 -1
  301. package/dist/utils/get-display-name.d.ts +0 -7
  302. package/dist/utils/get-display-name.js +0 -10
  303. package/dist/utils/get-display-name.js.map +0 -1
  304. package/dist/utils/has-keys.js +0 -13
  305. package/dist/utils/has-keys.js.map +0 -1
  306. package/dist/utils/is-dev-env.js +0 -19
  307. package/dist/utils/is-dev-env.js.map +0 -1
  308. package/dist/utils/is-valid-element-type.js +0 -15
  309. package/dist/utils/is-valid-element-type.js.map +0 -1
  310. package/dist/utils/merge-styles.js.map +0 -1
  311. package/dist/utils/mod-attrs.d.ts +0 -8
  312. package/dist/utils/mod-attrs.js +0 -21
  313. package/dist/utils/mod-attrs.js.map +0 -1
  314. package/dist/utils/process-tokens.d.ts +0 -21
  315. package/dist/utils/process-tokens.js +0 -91
  316. package/dist/utils/process-tokens.js.map +0 -1
  317. package/dist/utils/resolve-recipes.d.ts +0 -17
  318. package/dist/utils/resolve-recipes.js.map +0 -1
  319. package/dist/utils/selector-transform.js +0 -32
  320. package/dist/utils/selector-transform.js.map +0 -1
  321. package/dist/utils/string.js +0 -8
  322. package/dist/utils/string.js.map +0 -1
  323. package/dist/utils/styles.d.ts +0 -99
  324. package/dist/utils/styles.js +0 -221
  325. package/dist/utils/styles.js.map +0 -1
  326. package/dist/utils/typography.d.ts +0 -47
  327. package/dist/utils/typography.js +0 -51
  328. package/dist/utils/typography.js.map +0 -1
  329. package/dist/utils/warnings.d.ts +0 -16
  330. package/dist/utils/warnings.js +0 -16
  331. package/dist/utils/warnings.js.map +0 -1
  332. package/dist/zero/css-writer.d.ts +0 -45
  333. package/dist/zero/css-writer.js +0 -74
  334. package/dist/zero/css-writer.js.map +0 -1
  335. package/dist/zero/extractor.d.ts +0 -24
  336. package/dist/zero/extractor.js.map +0 -1
@@ -0,0 +1,45 @@
1
+ import { s as getGlobalInjector } from "./config-rrijM-U2.js";
2
+ //#region src/ssr/hydrate.ts
3
+ /**
4
+ * Client-side cache hydration for SSR/RSC.
5
+ *
6
+ * Pre-populates the client injector's rules map with class names
7
+ * rendered on the server. With hash-based naming, the client derives
8
+ * the same class name from the same cache key, so only the class name
9
+ * list needs to cross the wire — no cache keys or counters.
10
+ */
11
+ /**
12
+ * Pre-populate the client-side style registry from the server's class name list.
13
+ *
14
+ * Call this before ReactDOM.hydrateRoot() or ensure it runs before
15
+ * any tasty() component renders on the client.
16
+ *
17
+ * When called without arguments, reads the class list from `window.__TASTY__`
18
+ * (populated by inline scripts emitted during SSR/RSC streaming).
19
+ */
20
+ function hydrateTastyClasses(classes) {
21
+ if (typeof document === "undefined") return;
22
+ if (!classes) classes = typeof window !== "undefined" ? window.__TASTY__ : void 0;
23
+ if (!classes?.length) return;
24
+ const registry = getGlobalInjector()._sheetManager.getRegistry(document);
25
+ for (const cls of classes) if (!registry.rules.has(cls)) {
26
+ registry.rules.set(cls, {
27
+ className: cls,
28
+ ruleIndex: -2,
29
+ sheetIndex: -2
30
+ });
31
+ registry.refCounts.set(cls, 0);
32
+ }
33
+ }
34
+ /**
35
+ * @deprecated Use `hydrateTastyClasses()` instead. This alias exists
36
+ * for backwards compatibility and will be removed in a future major version.
37
+ */
38
+ function hydrateTastyCache(state) {
39
+ if (state?.entries) hydrateTastyClasses(Object.values(state.entries));
40
+ else hydrateTastyClasses();
41
+ }
42
+ //#endregion
43
+ export { hydrateTastyClasses as n, hydrateTastyCache as t };
44
+
45
+ //# sourceMappingURL=hydrate-Dsv7Pwon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydrate-Dsv7Pwon.js","names":[],"sources":["../src/ssr/hydrate.ts"],"sourcesContent":["/**\n * Client-side cache hydration for SSR/RSC.\n *\n * Pre-populates the client injector's rules map with class names\n * rendered on the server. With hash-based naming, the client derives\n * the same class name from the same cache key, so only the class name\n * list needs to cross the wire — no cache keys or counters.\n */\n\nimport { getGlobalInjector } from '../config';\nimport { HYDRATED_RULE_INDEX } from '../injector/types';\n\n/**\n * Pre-populate the client-side style registry from the server's class name list.\n *\n * Call this before ReactDOM.hydrateRoot() or ensure it runs before\n * any tasty() component renders on the client.\n *\n * When called without arguments, reads the class list from `window.__TASTY__`\n * (populated by inline scripts emitted during SSR/RSC streaming).\n */\nexport function hydrateTastyClasses(classes?: string[]): void {\n if (typeof document === 'undefined') return;\n\n if (!classes) {\n classes = typeof window !== 'undefined' ? window.__TASTY__ : undefined;\n }\n\n if (!classes?.length) return;\n\n const injector = getGlobalInjector();\n const registry = injector._sheetManager.getRegistry(document);\n\n for (const cls of classes) {\n if (!registry.rules.has(cls)) {\n registry.rules.set(cls, {\n className: cls,\n ruleIndex: HYDRATED_RULE_INDEX,\n sheetIndex: HYDRATED_RULE_INDEX,\n });\n registry.refCounts.set(cls, 0);\n }\n }\n}\n\n/**\n * @deprecated Use `hydrateTastyClasses()` instead. This alias exists\n * for backwards compatibility and will be removed in a future major version.\n */\nexport function hydrateTastyCache(state?: {\n entries?: Record<string, string>;\n}): void {\n if (state?.entries) {\n hydrateTastyClasses(Object.values(state.entries));\n } else {\n hydrateTastyClasses();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBA,SAAgB,oBAAoB,SAA0B;AAC5D,KAAI,OAAO,aAAa,YAAa;AAErC,KAAI,CAAC,QACH,WAAU,OAAO,WAAW,cAAc,OAAO,YAAY,KAAA;AAG/D,KAAI,CAAC,SAAS,OAAQ;CAGtB,MAAM,WADW,mBAAmB,CACV,cAAc,YAAY,SAAS;AAE7D,MAAK,MAAM,OAAO,QAChB,KAAI,CAAC,SAAS,MAAM,IAAI,IAAI,EAAE;AAC5B,WAAS,MAAM,IAAI,KAAK;GACtB,WAAW;GACX,WAAA;GACA,YAAA;GACD,CAAC;AACF,WAAS,UAAU,IAAI,KAAK,EAAE;;;;;;;AASpC,SAAgB,kBAAkB,OAEzB;AACP,KAAI,OAAO,QACT,qBAAoB,OAAO,OAAO,MAAM,QAAQ,CAAC;KAEjD,sBAAqB"}