@appinternalleads/ui 0.3.0 → 0.4.1

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 (988) hide show
  1. package/dist/cjs/agent/AgentComponent.js +1 -1
  2. package/dist/cjs/agent/AgentComponent.js.map +1 -1
  3. package/dist/cjs/agent/base.js +25 -0
  4. package/dist/cjs/agent/base.js.map +1 -0
  5. package/dist/cjs/agent/catalog.js +0 -32
  6. package/dist/cjs/agent/catalog.js.map +1 -1
  7. package/dist/cjs/agent/core.js +22 -20
  8. package/dist/cjs/agent/core.js.map +1 -1
  9. package/dist/cjs/agent/index.js +6 -5
  10. package/dist/cjs/agent/index.js.map +1 -1
  11. package/dist/cjs/agent/manifests.js +81 -1
  12. package/dist/cjs/agent/manifests.js.map +1 -1
  13. package/dist/cjs/agent/result.js +6 -0
  14. package/dist/cjs/agent/result.js.map +1 -1
  15. package/dist/cjs/agent/search/document.js +50 -0
  16. package/dist/cjs/agent/search/document.js.map +1 -0
  17. package/dist/cjs/agent/search/embedding.js +107 -0
  18. package/dist/cjs/agent/search/embedding.js.map +1 -0
  19. package/dist/cjs/agent/search/index.js +25 -0
  20. package/dist/cjs/agent/search/index.js.map +1 -0
  21. package/dist/cjs/agent/search/lexical.js +28 -0
  22. package/dist/cjs/agent/search/lexical.js.map +1 -0
  23. package/dist/cjs/agent/search/normalize.js +15 -0
  24. package/dist/cjs/agent/search/normalize.js.map +1 -0
  25. package/dist/cjs/agent/search/search.js +123 -0
  26. package/dist/cjs/agent/search/search.js.map +1 -0
  27. package/dist/cjs/agent/search/searchIndex.js +120 -0
  28. package/dist/cjs/agent/search/searchIndex.js.map +1 -0
  29. package/dist/cjs/agent/search/types.js +8 -0
  30. package/dist/cjs/agent/search/types.js.map +1 -0
  31. package/dist/cjs/agent/search/weights.js +34 -0
  32. package/dist/cjs/agent/search/weights.js.map +1 -0
  33. package/dist/cjs/agent/search/wordvectors.json +1 -0
  34. package/dist/cjs/components/catalog.js +18 -0
  35. package/dist/cjs/components/catalog.js.map +1 -1
  36. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.js +21 -0
  37. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.js.map +1 -0
  38. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.types.js +6 -0
  39. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.types.js.map +1 -0
  40. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.web.js +89 -0
  41. package/dist/cjs/components/onboarding/animated-status/AnimatedStage.web.js.map +1 -0
  42. package/dist/cjs/components/onboarding/animated-status/AnimatedStatusView.js +62 -0
  43. package/dist/cjs/components/onboarding/animated-status/AnimatedStatusView.js.map +1 -0
  44. package/dist/cjs/components/onboarding/animated-status/AnimatedStill.js +20 -0
  45. package/dist/cjs/components/onboarding/animated-status/AnimatedStill.js.map +1 -0
  46. package/dist/cjs/components/onboarding/animated-status/contract.js +87 -0
  47. package/dist/cjs/components/onboarding/animated-status/contract.js.map +1 -0
  48. package/dist/cjs/components/onboarding/animated-status/engine.js +40 -0
  49. package/dist/cjs/components/onboarding/animated-status/engine.js.map +1 -0
  50. package/dist/cjs/components/onboarding/animated-status/index.js +20 -0
  51. package/dist/cjs/components/onboarding/animated-status/index.js.map +1 -0
  52. package/dist/cjs/components/onboarding/animated-status/presets.json +126 -0
  53. package/dist/cjs/components/onboarding/animated-status/riv.js +7 -0
  54. package/dist/cjs/components/onboarding/animated-status/riv.js.map +1 -0
  55. package/dist/cjs/components/onboarding/index.js +4 -0
  56. package/dist/cjs/components/onboarding/index.js.map +1 -1
  57. package/dist/cjs/components/onboarding/presets.js +90 -84
  58. package/dist/cjs/components/onboarding/presets.js.map +1 -1
  59. package/dist/cjs/components/onboarding/receipt-printer/ReceiptStage.js +43 -6
  60. package/dist/cjs/components/onboarding/receipt-printer/ReceiptStage.js.map +1 -1
  61. package/dist/cjs/components/onboarding/send-completion/SendCompletionView.js +111 -0
  62. package/dist/cjs/components/onboarding/send-completion/SendCompletionView.js.map +1 -0
  63. package/dist/cjs/components/onboarding/send-completion/SendStage.js +37 -0
  64. package/dist/cjs/components/onboarding/send-completion/SendStage.js.map +1 -0
  65. package/dist/cjs/components/onboarding/send-completion/SendStage.types.js +6 -0
  66. package/dist/cjs/components/onboarding/send-completion/SendStage.types.js.map +1 -0
  67. package/dist/cjs/components/onboarding/send-completion/SendStage.web.js +107 -0
  68. package/dist/cjs/components/onboarding/send-completion/SendStage.web.js.map +1 -0
  69. package/dist/cjs/components/onboarding/send-completion/SendStill.js +17 -0
  70. package/dist/cjs/components/onboarding/send-completion/SendStill.js.map +1 -0
  71. package/dist/cjs/components/onboarding/send-completion/contract.js +83 -0
  72. package/dist/cjs/components/onboarding/send-completion/contract.js.map +1 -0
  73. package/dist/cjs/components/onboarding/send-completion/engine.js +32 -0
  74. package/dist/cjs/components/onboarding/send-completion/engine.js.map +1 -0
  75. package/dist/cjs/components/onboarding/send-completion/index.js +22 -0
  76. package/dist/cjs/components/onboarding/send-completion/index.js.map +1 -0
  77. package/dist/cjs/components/onboarding/send-completion/presets.json +132 -0
  78. package/dist/cjs/components/onboarding/send-completion/riv.js +7 -0
  79. package/dist/cjs/components/onboarding/send-completion/riv.js.map +1 -0
  80. package/dist/cjs/components/onboarding/shared/actions-data.js +2 -0
  81. package/dist/cjs/components/onboarding/shared/actions-data.js.map +1 -1
  82. package/dist/cjs/components/onboarding/shared/configColor.js +76 -0
  83. package/dist/cjs/components/onboarding/shared/configColor.js.map +1 -0
  84. package/dist/cjs/components/onboarding/shared/contract.js +4 -0
  85. package/dist/cjs/components/onboarding/shared/contract.js.map +1 -1
  86. package/dist/cjs/components/onboarding/shared/describe.js +1 -1
  87. package/dist/cjs/components/onboarding/shared/describe.js.map +1 -1
  88. package/dist/cjs/components/onboarding/shared/mock.js +2 -0
  89. package/dist/cjs/components/onboarding/shared/mock.js.map +1 -1
  90. package/dist/cjs/components/onboarding/views.js +8 -0
  91. package/dist/cjs/components/onboarding/views.js.map +1 -1
  92. package/dist/cjs/index.js +1 -1
  93. package/dist/cjs/index.js.map +1 -1
  94. package/dist/cjs/motion/MotionPlayer.js +42 -0
  95. package/dist/cjs/motion/MotionPlayer.js.map +1 -0
  96. package/dist/cjs/motion/agent.js +323 -0
  97. package/dist/cjs/motion/agent.js.map +1 -0
  98. package/dist/cjs/motion/cat/Cat.js +79 -0
  99. package/dist/cjs/motion/cat/Cat.js.map +1 -0
  100. package/dist/cjs/motion/cat/animation.js +204 -0
  101. package/dist/cjs/motion/cat/animation.js.map +1 -0
  102. package/dist/cjs/motion/cat/art.generated.js +37 -0
  103. package/dist/cjs/motion/cat/art.generated.js.map +1 -0
  104. package/dist/cjs/motion/cat/config.js +136 -0
  105. package/dist/cjs/motion/cat/config.js.map +1 -0
  106. package/dist/cjs/motion/cat/index.js +75 -0
  107. package/dist/cjs/motion/cat/index.js.map +1 -0
  108. package/dist/cjs/motion/cat/rig.js +99 -0
  109. package/dist/cjs/motion/cat/rig.js.map +1 -0
  110. package/dist/cjs/motion/cat/scene.js +148 -0
  111. package/dist/cjs/motion/cat/scene.js.map +1 -0
  112. package/dist/cjs/motion/configurable/config.js +477 -0
  113. package/dist/cjs/motion/configurable/config.js.map +1 -0
  114. package/dist/cjs/motion/configurable/controls.js +44 -0
  115. package/dist/cjs/motion/configurable/controls.js.map +1 -0
  116. package/dist/cjs/motion/easing.js +62 -0
  117. package/dist/cjs/motion/easing.js.map +1 -0
  118. package/dist/cjs/motion/fit.js +12 -0
  119. package/dist/cjs/motion/fit.js.map +1 -0
  120. package/dist/cjs/motion/index.js +101 -0
  121. package/dist/cjs/motion/index.js.map +1 -0
  122. package/dist/cjs/motion/neon/GlowRenderer.js +18 -0
  123. package/dist/cjs/motion/neon/GlowRenderer.js.map +1 -0
  124. package/dist/cjs/motion/neon/NeonCanvas.js +97 -0
  125. package/dist/cjs/motion/neon/NeonCanvas.js.map +1 -0
  126. package/dist/cjs/motion/neon/NeonText.js +108 -0
  127. package/dist/cjs/motion/neon/NeonText.js.map +1 -0
  128. package/dist/cjs/motion/neon/NeonTextFrame.js +36 -0
  129. package/dist/cjs/motion/neon/NeonTextFrame.js.map +1 -0
  130. package/dist/cjs/motion/neon/artwork.js +102 -0
  131. package/dist/cjs/motion/neon/artwork.js.map +1 -0
  132. package/dist/cjs/motion/neon/audio.js +165 -0
  133. package/dist/cjs/motion/neon/audio.js.map +1 -0
  134. package/dist/cjs/motion/neon/config.js +334 -0
  135. package/dist/cjs/motion/neon/config.js.map +1 -0
  136. package/dist/cjs/motion/neon/flicker.js +196 -0
  137. package/dist/cjs/motion/neon/flicker.js.map +1 -0
  138. package/dist/cjs/motion/neon/fonts.js +52 -0
  139. package/dist/cjs/motion/neon/fonts.js.map +1 -0
  140. package/dist/cjs/motion/neon/frame.js +24 -0
  141. package/dist/cjs/motion/neon/frame.js.map +1 -0
  142. package/dist/cjs/motion/neon/glitch.js +114 -0
  143. package/dist/cjs/motion/neon/glitch.js.map +1 -0
  144. package/dist/cjs/motion/neon/index.js +119 -0
  145. package/dist/cjs/motion/neon/index.js.map +1 -0
  146. package/dist/cjs/motion/neon/layers.js +68 -0
  147. package/dist/cjs/motion/neon/layers.js.map +1 -0
  148. package/dist/cjs/motion/neon/material.js +56 -0
  149. package/dist/cjs/motion/neon/material.js.map +1 -0
  150. package/dist/cjs/motion/neon/random.js +43 -0
  151. package/dist/cjs/motion/neon/random.js.map +1 -0
  152. package/dist/cjs/motion/neon/scene.js +549 -0
  153. package/dist/cjs/motion/neon/scene.js.map +1 -0
  154. package/dist/cjs/motion/neon/synth.js +213 -0
  155. package/dist/cjs/motion/neon/synth.js.map +1 -0
  156. package/dist/cjs/motion/neon/typography.js +81 -0
  157. package/dist/cjs/motion/neon/typography.js.map +1 -0
  158. package/dist/cjs/motion/neon/wall.js +113 -0
  159. package/dist/cjs/motion/neon/wall.js.map +1 -0
  160. package/dist/cjs/motion/paperfold/PaperFold.js +40 -0
  161. package/dist/cjs/motion/paperfold/PaperFold.js.map +1 -0
  162. package/dist/cjs/motion/paperfold/PaperFoldFrame.js +290 -0
  163. package/dist/cjs/motion/paperfold/PaperFoldFrame.js.map +1 -0
  164. package/dist/cjs/motion/paperfold/PaperFoldPlayer.js +59 -0
  165. package/dist/cjs/motion/paperfold/PaperFoldPlayer.js.map +1 -0
  166. package/dist/cjs/motion/paperfold/art.js +388 -0
  167. package/dist/cjs/motion/paperfold/art.js.map +1 -0
  168. package/dist/cjs/motion/paperfold/config.js +103 -0
  169. package/dist/cjs/motion/paperfold/config.js.map +1 -0
  170. package/dist/cjs/motion/paperfold/controls.js +493 -0
  171. package/dist/cjs/motion/paperfold/controls.js.map +1 -0
  172. package/dist/cjs/motion/paperfold/engine.js +722 -0
  173. package/dist/cjs/motion/paperfold/engine.js.map +1 -0
  174. package/dist/cjs/motion/paperfold/fonts.js +25 -0
  175. package/dist/cjs/motion/paperfold/fonts.js.map +1 -0
  176. package/dist/cjs/motion/paperfold/index.js +113 -0
  177. package/dist/cjs/motion/paperfold/index.js.map +1 -0
  178. package/dist/cjs/motion/paperfold/manipulate.js +170 -0
  179. package/dist/cjs/motion/paperfold/manipulate.js.map +1 -0
  180. package/dist/cjs/motion/paperfold/presets.js +119 -0
  181. package/dist/cjs/motion/paperfold/presets.js.map +1 -0
  182. package/dist/cjs/motion/paperfold/template.js +40 -0
  183. package/dist/cjs/motion/paperfold/template.js.map +1 -0
  184. package/dist/cjs/motion/player.js +203 -0
  185. package/dist/cjs/motion/player.js.map +1 -0
  186. package/dist/cjs/motion/promo/PromoFrame.js +293 -0
  187. package/dist/cjs/motion/promo/PromoFrame.js.map +1 -0
  188. package/dist/cjs/motion/promo/PromoShowcasePlayer.js +59 -0
  189. package/dist/cjs/motion/promo/PromoShowcasePlayer.js.map +1 -0
  190. package/dist/cjs/motion/promo/config.js +565 -0
  191. package/dist/cjs/motion/promo/config.js.map +1 -0
  192. package/dist/cjs/motion/promo/controls.js +571 -0
  193. package/dist/cjs/motion/promo/controls.js.map +1 -0
  194. package/dist/cjs/motion/promo/easing.js +35 -0
  195. package/dist/cjs/motion/promo/easing.js.map +1 -0
  196. package/dist/cjs/motion/promo/engine.js +567 -0
  197. package/dist/cjs/motion/promo/engine.js.map +1 -0
  198. package/dist/cjs/motion/promo/fonts.js +20 -0
  199. package/dist/cjs/motion/promo/fonts.js.map +1 -0
  200. package/dist/cjs/motion/promo/icons.js +29 -0
  201. package/dist/cjs/motion/promo/icons.js.map +1 -0
  202. package/dist/cjs/motion/promo/index.js +73 -0
  203. package/dist/cjs/motion/promo/index.js.map +1 -0
  204. package/dist/cjs/motion/promo/presets.js +44 -0
  205. package/dist/cjs/motion/promo/presets.js.map +1 -0
  206. package/dist/cjs/motion/promo/template.js +38 -0
  207. package/dist/cjs/motion/promo/template.js.map +1 -0
  208. package/dist/cjs/motion/replication2/Replication2Player.js +93 -0
  209. package/dist/cjs/motion/replication2/Replication2Player.js.map +1 -0
  210. package/dist/cjs/motion/replication2/config.js +352 -0
  211. package/dist/cjs/motion/replication2/config.js.map +1 -0
  212. package/dist/cjs/motion/replication2/controls.js +286 -0
  213. package/dist/cjs/motion/replication2/controls.js.map +1 -0
  214. package/dist/cjs/motion/replication2/driver.js +68 -0
  215. package/dist/cjs/motion/replication2/driver.js.map +1 -0
  216. package/dist/cjs/motion/replication2/easing.js +97 -0
  217. package/dist/cjs/motion/replication2/easing.js.map +1 -0
  218. package/dist/cjs/motion/replication2/engine.js +481 -0
  219. package/dist/cjs/motion/replication2/engine.js.map +1 -0
  220. package/dist/cjs/motion/replication2/html.js +88 -0
  221. package/dist/cjs/motion/replication2/html.js.map +1 -0
  222. package/dist/cjs/motion/replication2/index.js +61 -0
  223. package/dist/cjs/motion/replication2/index.js.map +1 -0
  224. package/dist/cjs/motion/replication2/measure.js +30 -0
  225. package/dist/cjs/motion/replication2/measure.js.map +1 -0
  226. package/dist/cjs/motion/replication2/metrics.js +10 -0
  227. package/dist/cjs/motion/replication2/metrics.js.map +1 -0
  228. package/dist/cjs/motion/replication2/presets.js +67 -0
  229. package/dist/cjs/motion/replication2/presets.js.map +1 -0
  230. package/dist/cjs/motion/replication2/riv.js +7 -0
  231. package/dist/cjs/motion/replication2/riv.js.map +1 -0
  232. package/dist/cjs/motion/replication2/rive-contract.js +158 -0
  233. package/dist/cjs/motion/replication2/rive-contract.js.map +1 -0
  234. package/dist/cjs/motion/replication2/template.js +35 -0
  235. package/dist/cjs/motion/replication2/template.js.map +1 -0
  236. package/dist/cjs/motion/sample.js +149 -0
  237. package/dist/cjs/motion/sample.js.map +1 -0
  238. package/dist/cjs/motion/templates/hey-template.js +1552 -0
  239. package/dist/cjs/motion/templates/hey-template.js.map +1 -0
  240. package/dist/cjs/motion/templates/index.js +22 -0
  241. package/dist/cjs/motion/templates/index.js.map +1 -0
  242. package/dist/cjs/motion/templates/word-motion.js +1165 -0
  243. package/dist/cjs/motion/templates/word-motion.js.map +1 -0
  244. package/dist/cjs/motion/types.js +3 -0
  245. package/dist/cjs/motion/types.js.map +1 -0
  246. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js +62 -0
  247. package/dist/cjs/motion/typesurface/TypeSurfaceCanvas.js.map +1 -0
  248. package/dist/cjs/motion/typesurface/art.js +861 -0
  249. package/dist/cjs/motion/typesurface/art.js.map +1 -0
  250. package/dist/cjs/motion/typesurface/config.js +269 -0
  251. package/dist/cjs/motion/typesurface/config.js.map +1 -0
  252. package/dist/cjs/motion/typesurface/engine.js +607 -0
  253. package/dist/cjs/motion/typesurface/engine.js.map +1 -0
  254. package/dist/cjs/motion/typesurface/fonts.js +45 -0
  255. package/dist/cjs/motion/typesurface/fonts.js.map +1 -0
  256. package/dist/cjs/motion/typesurface/index.js +72 -0
  257. package/dist/cjs/motion/typesurface/index.js.map +1 -0
  258. package/dist/cjs/motion/typesurface/layout.js +130 -0
  259. package/dist/cjs/motion/typesurface/layout.js.map +1 -0
  260. package/dist/cjs/motion/typesurface/ops.js +175 -0
  261. package/dist/cjs/motion/typesurface/ops.js.map +1 -0
  262. package/dist/cjs/motion/typesurface/presets.js +192 -0
  263. package/dist/cjs/motion/typesurface/presets.js.map +1 -0
  264. package/dist/cjs/motion/typesurface/renderer.js +672 -0
  265. package/dist/cjs/motion/typesurface/renderer.js.map +1 -0
  266. package/dist/cjs/motion/typesurface/shaders.js +300 -0
  267. package/dist/cjs/motion/typesurface/shaders.js.map +1 -0
  268. package/dist/cjs/motion/typesurface/surfaces.js +156 -0
  269. package/dist/cjs/motion/typesurface/surfaces.js.map +1 -0
  270. package/dist/cjs/motion/typesurface/text.js +34 -0
  271. package/dist/cjs/motion/typesurface/text.js.map +1 -0
  272. package/dist/cjs/motion/typesurface/timeline.js +64 -0
  273. package/dist/cjs/motion/typesurface/timeline.js.map +1 -0
  274. package/dist/cjs/motion/validate.js +89 -0
  275. package/dist/cjs/motion/validate.js.map +1 -0
  276. package/dist/cjs/native/RiveReceiptStage.js +9 -150
  277. package/dist/cjs/native/RiveReceiptStage.js.map +1 -1
  278. package/dist/cjs/native/riveReceiptStageFactory.js +162 -0
  279. package/dist/cjs/native/riveReceiptStageFactory.js.map +1 -0
  280. package/dist/cjs/tokens/stage.js +10 -0
  281. package/dist/cjs/tokens/stage.js.map +1 -0
  282. package/dist/esm/agent/AgentComponent.js +1 -1
  283. package/dist/esm/agent/AgentComponent.js.map +1 -1
  284. package/dist/esm/agent/base.d.ts +11 -0
  285. package/dist/esm/agent/base.d.ts.map +1 -0
  286. package/dist/esm/agent/base.js +11 -0
  287. package/dist/esm/agent/base.js.map +1 -0
  288. package/dist/esm/agent/catalog.d.ts +0 -8
  289. package/dist/esm/agent/catalog.d.ts.map +1 -1
  290. package/dist/esm/agent/catalog.js +0 -31
  291. package/dist/esm/agent/catalog.js.map +1 -1
  292. package/dist/esm/agent/core.d.ts +6 -7
  293. package/dist/esm/agent/core.d.ts.map +1 -1
  294. package/dist/esm/agent/core.js +6 -7
  295. package/dist/esm/agent/core.js.map +1 -1
  296. package/dist/esm/agent/index.d.ts +6 -5
  297. package/dist/esm/agent/index.d.ts.map +1 -1
  298. package/dist/esm/agent/index.js +6 -5
  299. package/dist/esm/agent/index.js.map +1 -1
  300. package/dist/esm/agent/manifests.d.ts.map +1 -1
  301. package/dist/esm/agent/manifests.js +81 -1
  302. package/dist/esm/agent/manifests.js.map +1 -1
  303. package/dist/esm/agent/result.d.ts.map +1 -1
  304. package/dist/esm/agent/result.js +6 -0
  305. package/dist/esm/agent/result.js.map +1 -1
  306. package/dist/esm/agent/search/document.d.ts +6 -0
  307. package/dist/esm/agent/search/document.d.ts.map +1 -0
  308. package/dist/esm/agent/search/document.js +46 -0
  309. package/dist/esm/agent/search/document.js.map +1 -0
  310. package/dist/esm/agent/search/embedding.d.ts +31 -0
  311. package/dist/esm/agent/search/embedding.d.ts.map +1 -0
  312. package/dist/esm/agent/search/embedding.js +103 -0
  313. package/dist/esm/agent/search/embedding.js.map +1 -0
  314. package/dist/esm/agent/search/index.d.ts +10 -0
  315. package/dist/esm/agent/search/index.d.ts.map +1 -0
  316. package/dist/esm/agent/search/index.js +17 -0
  317. package/dist/esm/agent/search/index.js.map +1 -0
  318. package/dist/esm/agent/search/lexical.d.ts +3 -0
  319. package/dist/esm/agent/search/lexical.d.ts.map +1 -0
  320. package/dist/esm/agent/search/lexical.js +25 -0
  321. package/dist/esm/agent/search/lexical.js.map +1 -0
  322. package/dist/esm/agent/search/normalize.d.ts +13 -0
  323. package/dist/esm/agent/search/normalize.d.ts.map +1 -0
  324. package/dist/esm/agent/search/normalize.js +12 -0
  325. package/dist/esm/agent/search/normalize.js.map +1 -0
  326. package/dist/esm/agent/search/search.d.ts +42 -0
  327. package/dist/esm/agent/search/search.d.ts.map +1 -0
  328. package/dist/esm/agent/search/search.js +119 -0
  329. package/dist/esm/agent/search/search.js.map +1 -0
  330. package/dist/esm/agent/search/searchIndex.d.ts +42 -0
  331. package/dist/esm/agent/search/searchIndex.d.ts.map +1 -0
  332. package/dist/esm/agent/search/searchIndex.js +114 -0
  333. package/dist/esm/agent/search/searchIndex.js.map +1 -0
  334. package/dist/esm/agent/search/types.d.ts +67 -0
  335. package/dist/esm/agent/search/types.d.ts.map +1 -0
  336. package/dist/esm/agent/search/types.js +7 -0
  337. package/dist/esm/agent/search/types.js.map +1 -0
  338. package/dist/esm/agent/search/weights.d.ts +22 -0
  339. package/dist/esm/agent/search/weights.d.ts.map +1 -0
  340. package/dist/esm/agent/search/weights.js +31 -0
  341. package/dist/esm/agent/search/weights.js.map +1 -0
  342. package/dist/esm/agent/search/wordvectors.json +1 -0
  343. package/dist/esm/agent/types.d.ts +1 -1
  344. package/dist/esm/agent/types.d.ts.map +1 -1
  345. package/dist/esm/components/catalog.d.ts +1 -1
  346. package/dist/esm/components/catalog.d.ts.map +1 -1
  347. package/dist/esm/components/catalog.js +18 -0
  348. package/dist/esm/components/catalog.js.map +1 -1
  349. package/dist/esm/components/onboarding/animated-status/AnimatedStage.d.ts +9 -0
  350. package/dist/esm/components/onboarding/animated-status/AnimatedStage.d.ts.map +1 -0
  351. package/dist/esm/components/onboarding/animated-status/AnimatedStage.js +18 -0
  352. package/dist/esm/components/onboarding/animated-status/AnimatedStage.js.map +1 -0
  353. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.d.ts +31 -0
  354. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.d.ts.map +1 -0
  355. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.js +3 -0
  356. package/dist/esm/components/onboarding/animated-status/AnimatedStage.types.js.map +1 -0
  357. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.d.ts +4 -0
  358. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.d.ts.map +1 -0
  359. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.js +86 -0
  360. package/dist/esm/components/onboarding/animated-status/AnimatedStage.web.js.map +1 -0
  361. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.d.ts +32 -0
  362. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.d.ts.map +1 -0
  363. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.js +59 -0
  364. package/dist/esm/components/onboarding/animated-status/AnimatedStatusView.js.map +1 -0
  365. package/dist/esm/components/onboarding/animated-status/AnimatedStill.d.ts +8 -0
  366. package/dist/esm/components/onboarding/animated-status/AnimatedStill.d.ts.map +1 -0
  367. package/dist/esm/components/onboarding/animated-status/AnimatedStill.js +17 -0
  368. package/dist/esm/components/onboarding/animated-status/AnimatedStill.js.map +1 -0
  369. package/dist/esm/components/onboarding/animated-status/contract.d.ts +61 -0
  370. package/dist/esm/components/onboarding/animated-status/contract.d.ts.map +1 -0
  371. package/dist/esm/components/onboarding/animated-status/contract.js +78 -0
  372. package/dist/esm/components/onboarding/animated-status/contract.js.map +1 -0
  373. package/dist/esm/components/onboarding/animated-status/engine.d.ts +24 -0
  374. package/dist/esm/components/onboarding/animated-status/engine.d.ts.map +1 -0
  375. package/dist/esm/components/onboarding/animated-status/engine.js +32 -0
  376. package/dist/esm/components/onboarding/animated-status/engine.js.map +1 -0
  377. package/dist/esm/components/onboarding/animated-status/index.d.ts +5 -0
  378. package/dist/esm/components/onboarding/animated-status/index.d.ts.map +1 -0
  379. package/dist/esm/components/onboarding/animated-status/index.js +4 -0
  380. package/dist/esm/components/onboarding/animated-status/index.js.map +1 -0
  381. package/dist/esm/components/onboarding/animated-status/presets.json +126 -0
  382. package/dist/esm/components/onboarding/animated-status/riv.d.ts +3 -0
  383. package/dist/esm/components/onboarding/animated-status/riv.d.ts.map +1 -0
  384. package/dist/esm/components/onboarding/animated-status/riv.js +4 -0
  385. package/dist/esm/components/onboarding/animated-status/riv.js.map +1 -0
  386. package/dist/esm/components/onboarding/index.d.ts +2 -0
  387. package/dist/esm/components/onboarding/index.d.ts.map +1 -1
  388. package/dist/esm/components/onboarding/index.js +4 -0
  389. package/dist/esm/components/onboarding/index.js.map +1 -1
  390. package/dist/esm/components/onboarding/presets.d.ts.map +1 -1
  391. package/dist/esm/components/onboarding/presets.js +6 -0
  392. package/dist/esm/components/onboarding/presets.js.map +1 -1
  393. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.d.ts +4 -6
  394. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.d.ts.map +1 -1
  395. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.js +42 -6
  396. package/dist/esm/components/onboarding/receipt-printer/ReceiptStage.js.map +1 -1
  397. package/dist/esm/components/onboarding/send-completion/SendCompletionView.d.ts +47 -0
  398. package/dist/esm/components/onboarding/send-completion/SendCompletionView.d.ts.map +1 -0
  399. package/dist/esm/components/onboarding/send-completion/SendCompletionView.js +108 -0
  400. package/dist/esm/components/onboarding/send-completion/SendCompletionView.js.map +1 -0
  401. package/dist/esm/components/onboarding/send-completion/SendStage.d.ts +9 -0
  402. package/dist/esm/components/onboarding/send-completion/SendStage.d.ts.map +1 -0
  403. package/dist/esm/components/onboarding/send-completion/SendStage.js +34 -0
  404. package/dist/esm/components/onboarding/send-completion/SendStage.js.map +1 -0
  405. package/dist/esm/components/onboarding/send-completion/SendStage.types.d.ts +33 -0
  406. package/dist/esm/components/onboarding/send-completion/SendStage.types.d.ts.map +1 -0
  407. package/dist/esm/components/onboarding/send-completion/SendStage.types.js +3 -0
  408. package/dist/esm/components/onboarding/send-completion/SendStage.types.js.map +1 -0
  409. package/dist/esm/components/onboarding/send-completion/SendStage.web.d.ts +4 -0
  410. package/dist/esm/components/onboarding/send-completion/SendStage.web.d.ts.map +1 -0
  411. package/dist/esm/components/onboarding/send-completion/SendStage.web.js +104 -0
  412. package/dist/esm/components/onboarding/send-completion/SendStage.web.js.map +1 -0
  413. package/dist/esm/components/onboarding/send-completion/SendStill.d.ts +11 -0
  414. package/dist/esm/components/onboarding/send-completion/SendStill.d.ts.map +1 -0
  415. package/dist/esm/components/onboarding/send-completion/SendStill.js +14 -0
  416. package/dist/esm/components/onboarding/send-completion/SendStill.js.map +1 -0
  417. package/dist/esm/components/onboarding/send-completion/contract.d.ts +99 -0
  418. package/dist/esm/components/onboarding/send-completion/contract.d.ts.map +1 -0
  419. package/dist/esm/components/onboarding/send-completion/contract.js +76 -0
  420. package/dist/esm/components/onboarding/send-completion/contract.js.map +1 -0
  421. package/dist/esm/components/onboarding/send-completion/engine.d.ts +20 -0
  422. package/dist/esm/components/onboarding/send-completion/engine.d.ts.map +1 -0
  423. package/dist/esm/components/onboarding/send-completion/engine.js +28 -0
  424. package/dist/esm/components/onboarding/send-completion/engine.js.map +1 -0
  425. package/dist/esm/components/onboarding/send-completion/index.d.ts +6 -0
  426. package/dist/esm/components/onboarding/send-completion/index.d.ts.map +1 -0
  427. package/dist/esm/components/onboarding/send-completion/index.js +6 -0
  428. package/dist/esm/components/onboarding/send-completion/index.js.map +1 -0
  429. package/dist/esm/components/onboarding/send-completion/presets.json +132 -0
  430. package/dist/esm/components/onboarding/send-completion/riv.d.ts +3 -0
  431. package/dist/esm/components/onboarding/send-completion/riv.d.ts.map +1 -0
  432. package/dist/esm/components/onboarding/send-completion/riv.js +4 -0
  433. package/dist/esm/components/onboarding/send-completion/riv.js.map +1 -0
  434. package/dist/esm/components/onboarding/shared/actions-data.d.ts.map +1 -1
  435. package/dist/esm/components/onboarding/shared/actions-data.js +2 -0
  436. package/dist/esm/components/onboarding/shared/actions-data.js.map +1 -1
  437. package/dist/esm/components/onboarding/shared/configColor.d.ts +29 -0
  438. package/dist/esm/components/onboarding/shared/configColor.d.ts.map +1 -0
  439. package/dist/esm/components/onboarding/shared/configColor.js +69 -0
  440. package/dist/esm/components/onboarding/shared/configColor.js.map +1 -0
  441. package/dist/esm/components/onboarding/shared/contract.d.ts +1 -1
  442. package/dist/esm/components/onboarding/shared/contract.d.ts.map +1 -1
  443. package/dist/esm/components/onboarding/shared/contract.js +4 -0
  444. package/dist/esm/components/onboarding/shared/contract.js.map +1 -1
  445. package/dist/esm/components/onboarding/shared/describe.d.ts.map +1 -1
  446. package/dist/esm/components/onboarding/shared/describe.js +1 -1
  447. package/dist/esm/components/onboarding/shared/describe.js.map +1 -1
  448. package/dist/esm/components/onboarding/shared/mock.d.ts +2 -0
  449. package/dist/esm/components/onboarding/shared/mock.d.ts.map +1 -1
  450. package/dist/esm/components/onboarding/shared/mock.js +2 -0
  451. package/dist/esm/components/onboarding/shared/mock.js.map +1 -1
  452. package/dist/esm/components/onboarding/views.d.ts.map +1 -1
  453. package/dist/esm/components/onboarding/views.js +8 -0
  454. package/dist/esm/components/onboarding/views.js.map +1 -1
  455. package/dist/esm/index.js +1 -1
  456. package/dist/esm/index.js.map +1 -1
  457. package/dist/esm/motion/MotionPlayer.d.ts +22 -0
  458. package/dist/esm/motion/MotionPlayer.d.ts.map +1 -0
  459. package/dist/esm/motion/MotionPlayer.js +39 -0
  460. package/dist/esm/motion/MotionPlayer.js.map +1 -0
  461. package/dist/esm/motion/agent.d.ts +146 -0
  462. package/dist/esm/motion/agent.d.ts.map +1 -0
  463. package/dist/esm/motion/agent.js +278 -0
  464. package/dist/esm/motion/agent.js.map +1 -0
  465. package/dist/esm/motion/cat/Cat.d.ts +43 -0
  466. package/dist/esm/motion/cat/Cat.d.ts.map +1 -0
  467. package/dist/esm/motion/cat/Cat.js +74 -0
  468. package/dist/esm/motion/cat/Cat.js.map +1 -0
  469. package/dist/esm/motion/cat/animation.d.ts +86 -0
  470. package/dist/esm/motion/cat/animation.d.ts.map +1 -0
  471. package/dist/esm/motion/cat/animation.js +193 -0
  472. package/dist/esm/motion/cat/animation.js.map +1 -0
  473. package/dist/esm/motion/cat/art.generated.d.ts +53 -0
  474. package/dist/esm/motion/cat/art.generated.d.ts.map +1 -0
  475. package/dist/esm/motion/cat/art.generated.js +34 -0
  476. package/dist/esm/motion/cat/art.generated.js.map +1 -0
  477. package/dist/esm/motion/cat/config.d.ts +103 -0
  478. package/dist/esm/motion/cat/config.d.ts.map +1 -0
  479. package/dist/esm/motion/cat/config.js +129 -0
  480. package/dist/esm/motion/cat/config.js.map +1 -0
  481. package/dist/esm/motion/cat/index.d.ts +13 -0
  482. package/dist/esm/motion/cat/index.d.ts.map +1 -0
  483. package/dist/esm/motion/cat/index.js +13 -0
  484. package/dist/esm/motion/cat/index.js.map +1 -0
  485. package/dist/esm/motion/cat/rig.d.ts +44 -0
  486. package/dist/esm/motion/cat/rig.d.ts.map +1 -0
  487. package/dist/esm/motion/cat/rig.js +86 -0
  488. package/dist/esm/motion/cat/rig.js.map +1 -0
  489. package/dist/esm/motion/cat/scene.d.ts +66 -0
  490. package/dist/esm/motion/cat/scene.d.ts.map +1 -0
  491. package/dist/esm/motion/cat/scene.js +137 -0
  492. package/dist/esm/motion/cat/scene.js.map +1 -0
  493. package/dist/esm/motion/configurable/config.d.ts +80 -0
  494. package/dist/esm/motion/configurable/config.d.ts.map +1 -0
  495. package/dist/esm/motion/configurable/config.js +468 -0
  496. package/dist/esm/motion/configurable/config.js.map +1 -0
  497. package/dist/esm/motion/configurable/controls.d.ts +74 -0
  498. package/dist/esm/motion/configurable/controls.d.ts.map +1 -0
  499. package/dist/esm/motion/configurable/controls.js +38 -0
  500. package/dist/esm/motion/configurable/controls.js.map +1 -0
  501. package/dist/esm/motion/easing.d.ts +4 -0
  502. package/dist/esm/motion/easing.d.ts.map +1 -0
  503. package/dist/esm/motion/easing.js +58 -0
  504. package/dist/esm/motion/easing.js.map +1 -0
  505. package/dist/esm/motion/fit.d.ts +8 -0
  506. package/dist/esm/motion/fit.d.ts.map +1 -0
  507. package/dist/esm/motion/fit.js +8 -0
  508. package/dist/esm/motion/fit.js.map +1 -0
  509. package/dist/esm/motion/index.d.ts +27 -0
  510. package/dist/esm/motion/index.d.ts.map +1 -0
  511. package/dist/esm/motion/index.js +21 -0
  512. package/dist/esm/motion/index.js.map +1 -0
  513. package/dist/esm/motion/neon/GlowRenderer.d.ts +31 -0
  514. package/dist/esm/motion/neon/GlowRenderer.d.ts.map +1 -0
  515. package/dist/esm/motion/neon/GlowRenderer.js +14 -0
  516. package/dist/esm/motion/neon/GlowRenderer.js.map +1 -0
  517. package/dist/esm/motion/neon/NeonCanvas.d.ts +42 -0
  518. package/dist/esm/motion/neon/NeonCanvas.d.ts.map +1 -0
  519. package/dist/esm/motion/neon/NeonCanvas.js +92 -0
  520. package/dist/esm/motion/neon/NeonCanvas.js.map +1 -0
  521. package/dist/esm/motion/neon/NeonText.d.ts +26 -0
  522. package/dist/esm/motion/neon/NeonText.d.ts.map +1 -0
  523. package/dist/esm/motion/neon/NeonText.js +103 -0
  524. package/dist/esm/motion/neon/NeonText.js.map +1 -0
  525. package/dist/esm/motion/neon/NeonTextFrame.d.ts +29 -0
  526. package/dist/esm/motion/neon/NeonTextFrame.d.ts.map +1 -0
  527. package/dist/esm/motion/neon/NeonTextFrame.js +33 -0
  528. package/dist/esm/motion/neon/NeonTextFrame.js.map +1 -0
  529. package/dist/esm/motion/neon/artwork.d.ts +29 -0
  530. package/dist/esm/motion/neon/artwork.d.ts.map +1 -0
  531. package/dist/esm/motion/neon/artwork.js +98 -0
  532. package/dist/esm/motion/neon/artwork.js.map +1 -0
  533. package/dist/esm/motion/neon/audio.d.ts +49 -0
  534. package/dist/esm/motion/neon/audio.d.ts.map +1 -0
  535. package/dist/esm/motion/neon/audio.js +161 -0
  536. package/dist/esm/motion/neon/audio.js.map +1 -0
  537. package/dist/esm/motion/neon/config.d.ts +319 -0
  538. package/dist/esm/motion/neon/config.d.ts.map +1 -0
  539. package/dist/esm/motion/neon/config.js +319 -0
  540. package/dist/esm/motion/neon/config.js.map +1 -0
  541. package/dist/esm/motion/neon/flicker.d.ts +82 -0
  542. package/dist/esm/motion/neon/flicker.d.ts.map +1 -0
  543. package/dist/esm/motion/neon/flicker.js +187 -0
  544. package/dist/esm/motion/neon/flicker.js.map +1 -0
  545. package/dist/esm/motion/neon/fonts.d.ts +29 -0
  546. package/dist/esm/motion/neon/fonts.d.ts.map +1 -0
  547. package/dist/esm/motion/neon/fonts.js +47 -0
  548. package/dist/esm/motion/neon/fonts.js.map +1 -0
  549. package/dist/esm/motion/neon/frame.d.ts +22 -0
  550. package/dist/esm/motion/neon/frame.d.ts.map +1 -0
  551. package/dist/esm/motion/neon/frame.js +20 -0
  552. package/dist/esm/motion/neon/frame.js.map +1 -0
  553. package/dist/esm/motion/neon/glitch.d.ts +64 -0
  554. package/dist/esm/motion/neon/glitch.d.ts.map +1 -0
  555. package/dist/esm/motion/neon/glitch.js +108 -0
  556. package/dist/esm/motion/neon/glitch.js.map +1 -0
  557. package/dist/esm/motion/neon/index.d.ts +29 -0
  558. package/dist/esm/motion/neon/index.d.ts.map +1 -0
  559. package/dist/esm/motion/neon/index.js +28 -0
  560. package/dist/esm/motion/neon/index.js.map +1 -0
  561. package/dist/esm/motion/neon/layers.d.ts +56 -0
  562. package/dist/esm/motion/neon/layers.d.ts.map +1 -0
  563. package/dist/esm/motion/neon/layers.js +64 -0
  564. package/dist/esm/motion/neon/layers.js.map +1 -0
  565. package/dist/esm/motion/neon/material.d.ts +68 -0
  566. package/dist/esm/motion/neon/material.d.ts.map +1 -0
  567. package/dist/esm/motion/neon/material.js +51 -0
  568. package/dist/esm/motion/neon/material.js.map +1 -0
  569. package/dist/esm/motion/neon/random.d.ts +15 -0
  570. package/dist/esm/motion/neon/random.d.ts.map +1 -0
  571. package/dist/esm/motion/neon/random.js +37 -0
  572. package/dist/esm/motion/neon/random.js.map +1 -0
  573. package/dist/esm/motion/neon/scene.d.ts +255 -0
  574. package/dist/esm/motion/neon/scene.d.ts.map +1 -0
  575. package/dist/esm/motion/neon/scene.js +532 -0
  576. package/dist/esm/motion/neon/scene.js.map +1 -0
  577. package/dist/esm/motion/neon/synth.d.ts +18 -0
  578. package/dist/esm/motion/neon/synth.d.ts.map +1 -0
  579. package/dist/esm/motion/neon/synth.js +208 -0
  580. package/dist/esm/motion/neon/synth.js.map +1 -0
  581. package/dist/esm/motion/neon/typography.d.ts +53 -0
  582. package/dist/esm/motion/neon/typography.d.ts.map +1 -0
  583. package/dist/esm/motion/neon/typography.js +74 -0
  584. package/dist/esm/motion/neon/typography.js.map +1 -0
  585. package/dist/esm/motion/neon/wall.d.ts +62 -0
  586. package/dist/esm/motion/neon/wall.d.ts.map +1 -0
  587. package/dist/esm/motion/neon/wall.js +106 -0
  588. package/dist/esm/motion/neon/wall.js.map +1 -0
  589. package/dist/esm/motion/paperfold/PaperFold.d.ts +36 -0
  590. package/dist/esm/motion/paperfold/PaperFold.d.ts.map +1 -0
  591. package/dist/esm/motion/paperfold/PaperFold.js +37 -0
  592. package/dist/esm/motion/paperfold/PaperFold.js.map +1 -0
  593. package/dist/esm/motion/paperfold/PaperFoldFrame.d.ts +39 -0
  594. package/dist/esm/motion/paperfold/PaperFoldFrame.d.ts.map +1 -0
  595. package/dist/esm/motion/paperfold/PaperFoldFrame.js +283 -0
  596. package/dist/esm/motion/paperfold/PaperFoldFrame.js.map +1 -0
  597. package/dist/esm/motion/paperfold/PaperFoldPlayer.d.ts +27 -0
  598. package/dist/esm/motion/paperfold/PaperFoldPlayer.d.ts.map +1 -0
  599. package/dist/esm/motion/paperfold/PaperFoldPlayer.js +56 -0
  600. package/dist/esm/motion/paperfold/PaperFoldPlayer.js.map +1 -0
  601. package/dist/esm/motion/paperfold/art.d.ts +148 -0
  602. package/dist/esm/motion/paperfold/art.d.ts.map +1 -0
  603. package/dist/esm/motion/paperfold/art.js +374 -0
  604. package/dist/esm/motion/paperfold/art.js.map +1 -0
  605. package/dist/esm/motion/paperfold/config.d.ts +47 -0
  606. package/dist/esm/motion/paperfold/config.d.ts.map +1 -0
  607. package/dist/esm/motion/paperfold/config.js +96 -0
  608. package/dist/esm/motion/paperfold/config.js.map +1 -0
  609. package/dist/esm/motion/paperfold/controls.d.ts +57 -0
  610. package/dist/esm/motion/paperfold/controls.d.ts.map +1 -0
  611. package/dist/esm/motion/paperfold/controls.js +506 -0
  612. package/dist/esm/motion/paperfold/controls.js.map +1 -0
  613. package/dist/esm/motion/paperfold/engine.d.ts +397 -0
  614. package/dist/esm/motion/paperfold/engine.d.ts.map +1 -0
  615. package/dist/esm/motion/paperfold/engine.js +699 -0
  616. package/dist/esm/motion/paperfold/engine.js.map +1 -0
  617. package/dist/esm/motion/paperfold/fonts.d.ts +3 -0
  618. package/dist/esm/motion/paperfold/fonts.d.ts.map +1 -0
  619. package/dist/esm/motion/paperfold/fonts.js +21 -0
  620. package/dist/esm/motion/paperfold/fonts.js.map +1 -0
  621. package/dist/esm/motion/paperfold/index.d.ts +17 -0
  622. package/dist/esm/motion/paperfold/index.d.ts.map +1 -0
  623. package/dist/esm/motion/paperfold/index.js +17 -0
  624. package/dist/esm/motion/paperfold/index.js.map +1 -0
  625. package/dist/esm/motion/paperfold/manipulate.d.ts +59 -0
  626. package/dist/esm/motion/paperfold/manipulate.d.ts.map +1 -0
  627. package/dist/esm/motion/paperfold/manipulate.js +161 -0
  628. package/dist/esm/motion/paperfold/manipulate.js.map +1 -0
  629. package/dist/esm/motion/paperfold/presets.d.ts +9 -0
  630. package/dist/esm/motion/paperfold/presets.d.ts.map +1 -0
  631. package/dist/esm/motion/paperfold/presets.js +115 -0
  632. package/dist/esm/motion/paperfold/presets.js.map +1 -0
  633. package/dist/esm/motion/paperfold/template.d.ts +3 -0
  634. package/dist/esm/motion/paperfold/template.d.ts.map +1 -0
  635. package/dist/esm/motion/paperfold/template.js +37 -0
  636. package/dist/esm/motion/paperfold/template.js.map +1 -0
  637. package/dist/esm/motion/player.d.ts +35 -0
  638. package/dist/esm/motion/player.d.ts.map +1 -0
  639. package/dist/esm/motion/player.js +197 -0
  640. package/dist/esm/motion/player.js.map +1 -0
  641. package/dist/esm/motion/promo/PromoFrame.d.ts +31 -0
  642. package/dist/esm/motion/promo/PromoFrame.d.ts.map +1 -0
  643. package/dist/esm/motion/promo/PromoFrame.js +288 -0
  644. package/dist/esm/motion/promo/PromoFrame.js.map +1 -0
  645. package/dist/esm/motion/promo/PromoShowcasePlayer.d.ts +25 -0
  646. package/dist/esm/motion/promo/PromoShowcasePlayer.d.ts.map +1 -0
  647. package/dist/esm/motion/promo/PromoShowcasePlayer.js +56 -0
  648. package/dist/esm/motion/promo/PromoShowcasePlayer.js.map +1 -0
  649. package/dist/esm/motion/promo/config.d.ts +91 -0
  650. package/dist/esm/motion/promo/config.d.ts.map +1 -0
  651. package/dist/esm/motion/promo/config.js +550 -0
  652. package/dist/esm/motion/promo/config.js.map +1 -0
  653. package/dist/esm/motion/promo/controls.d.ts +86 -0
  654. package/dist/esm/motion/promo/controls.d.ts.map +1 -0
  655. package/dist/esm/motion/promo/controls.js +567 -0
  656. package/dist/esm/motion/promo/controls.js.map +1 -0
  657. package/dist/esm/motion/promo/easing.d.ts +3 -0
  658. package/dist/esm/motion/promo/easing.d.ts.map +1 -0
  659. package/dist/esm/motion/promo/easing.js +32 -0
  660. package/dist/esm/motion/promo/easing.js.map +1 -0
  661. package/dist/esm/motion/promo/engine.d.ts +205 -0
  662. package/dist/esm/motion/promo/engine.d.ts.map +1 -0
  663. package/dist/esm/motion/promo/engine.js +551 -0
  664. package/dist/esm/motion/promo/engine.js.map +1 -0
  665. package/dist/esm/motion/promo/fonts.d.ts +7 -0
  666. package/dist/esm/motion/promo/fonts.d.ts.map +1 -0
  667. package/dist/esm/motion/promo/fonts.js +16 -0
  668. package/dist/esm/motion/promo/fonts.js.map +1 -0
  669. package/dist/esm/motion/promo/icons.d.ts +7 -0
  670. package/dist/esm/motion/promo/icons.d.ts.map +1 -0
  671. package/dist/esm/motion/promo/icons.js +26 -0
  672. package/dist/esm/motion/promo/icons.js.map +1 -0
  673. package/dist/esm/motion/promo/index.d.ts +15 -0
  674. package/dist/esm/motion/promo/index.d.ts.map +1 -0
  675. package/dist/esm/motion/promo/index.js +15 -0
  676. package/dist/esm/motion/promo/index.js.map +1 -0
  677. package/dist/esm/motion/promo/presets.d.ts +13 -0
  678. package/dist/esm/motion/promo/presets.d.ts.map +1 -0
  679. package/dist/esm/motion/promo/presets.js +40 -0
  680. package/dist/esm/motion/promo/presets.js.map +1 -0
  681. package/dist/esm/motion/promo/template.d.ts +8 -0
  682. package/dist/esm/motion/promo/template.d.ts.map +1 -0
  683. package/dist/esm/motion/promo/template.js +35 -0
  684. package/dist/esm/motion/promo/template.js.map +1 -0
  685. package/dist/esm/motion/replication2/Replication2Player.d.ts +26 -0
  686. package/dist/esm/motion/replication2/Replication2Player.d.ts.map +1 -0
  687. package/dist/esm/motion/replication2/Replication2Player.js +90 -0
  688. package/dist/esm/motion/replication2/Replication2Player.js.map +1 -0
  689. package/dist/esm/motion/replication2/config.d.ts +78 -0
  690. package/dist/esm/motion/replication2/config.d.ts.map +1 -0
  691. package/dist/esm/motion/replication2/config.js +341 -0
  692. package/dist/esm/motion/replication2/config.js.map +1 -0
  693. package/dist/esm/motion/replication2/controls.d.ts +70 -0
  694. package/dist/esm/motion/replication2/controls.d.ts.map +1 -0
  695. package/dist/esm/motion/replication2/controls.js +283 -0
  696. package/dist/esm/motion/replication2/controls.js.map +1 -0
  697. package/dist/esm/motion/replication2/driver.d.ts +23 -0
  698. package/dist/esm/motion/replication2/driver.d.ts.map +1 -0
  699. package/dist/esm/motion/replication2/driver.js +65 -0
  700. package/dist/esm/motion/replication2/driver.js.map +1 -0
  701. package/dist/esm/motion/replication2/easing.d.ts +19 -0
  702. package/dist/esm/motion/replication2/easing.d.ts.map +1 -0
  703. package/dist/esm/motion/replication2/easing.js +92 -0
  704. package/dist/esm/motion/replication2/easing.js.map +1 -0
  705. package/dist/esm/motion/replication2/engine.d.ts +236 -0
  706. package/dist/esm/motion/replication2/engine.d.ts.map +1 -0
  707. package/dist/esm/motion/replication2/engine.js +470 -0
  708. package/dist/esm/motion/replication2/engine.js.map +1 -0
  709. package/dist/esm/motion/replication2/html.d.ts +30 -0
  710. package/dist/esm/motion/replication2/html.d.ts.map +1 -0
  711. package/dist/esm/motion/replication2/html.js +83 -0
  712. package/dist/esm/motion/replication2/html.js.map +1 -0
  713. package/dist/esm/motion/replication2/index.d.ts +15 -0
  714. package/dist/esm/motion/replication2/index.d.ts.map +1 -0
  715. package/dist/esm/motion/replication2/index.js +15 -0
  716. package/dist/esm/motion/replication2/index.js.map +1 -0
  717. package/dist/esm/motion/replication2/measure.d.ts +3 -0
  718. package/dist/esm/motion/replication2/measure.d.ts.map +1 -0
  719. package/dist/esm/motion/replication2/measure.js +27 -0
  720. package/dist/esm/motion/replication2/measure.js.map +1 -0
  721. package/dist/esm/motion/replication2/metrics.d.ts +6 -0
  722. package/dist/esm/motion/replication2/metrics.d.ts.map +1 -0
  723. package/dist/esm/motion/replication2/metrics.js +7 -0
  724. package/dist/esm/motion/replication2/metrics.js.map +1 -0
  725. package/dist/esm/motion/replication2/presets.d.ts +13 -0
  726. package/dist/esm/motion/replication2/presets.d.ts.map +1 -0
  727. package/dist/esm/motion/replication2/presets.js +63 -0
  728. package/dist/esm/motion/replication2/presets.js.map +1 -0
  729. package/dist/esm/motion/replication2/riv.d.ts +3 -0
  730. package/dist/esm/motion/replication2/riv.d.ts.map +1 -0
  731. package/dist/esm/motion/replication2/riv.js +4 -0
  732. package/dist/esm/motion/replication2/riv.js.map +1 -0
  733. package/dist/esm/motion/replication2/rive-contract.d.ts +27 -0
  734. package/dist/esm/motion/replication2/rive-contract.d.ts.map +1 -0
  735. package/dist/esm/motion/replication2/rive-contract.js +153 -0
  736. package/dist/esm/motion/replication2/rive-contract.js.map +1 -0
  737. package/dist/esm/motion/replication2/template.d.ts +8 -0
  738. package/dist/esm/motion/replication2/template.d.ts.map +1 -0
  739. package/dist/esm/motion/replication2/template.js +32 -0
  740. package/dist/esm/motion/replication2/template.js.map +1 -0
  741. package/dist/esm/motion/sample.d.ts +61 -0
  742. package/dist/esm/motion/sample.d.ts.map +1 -0
  743. package/dist/esm/motion/sample.js +138 -0
  744. package/dist/esm/motion/sample.js.map +1 -0
  745. package/dist/esm/motion/templates/hey-template.d.ts +3 -0
  746. package/dist/esm/motion/templates/hey-template.d.ts.map +1 -0
  747. package/dist/esm/motion/templates/hey-template.js +1549 -0
  748. package/dist/esm/motion/templates/hey-template.js.map +1 -0
  749. package/dist/esm/motion/templates/index.d.ts +22 -0
  750. package/dist/esm/motion/templates/index.d.ts.map +1 -0
  751. package/dist/esm/motion/templates/index.js +15 -0
  752. package/dist/esm/motion/templates/index.js.map +1 -0
  753. package/dist/esm/motion/templates/word-motion.d.ts +3 -0
  754. package/dist/esm/motion/templates/word-motion.d.ts.map +1 -0
  755. package/dist/esm/motion/templates/word-motion.js +1162 -0
  756. package/dist/esm/motion/templates/word-motion.js.map +1 -0
  757. package/dist/esm/motion/types.d.ts +192 -0
  758. package/dist/esm/motion/types.d.ts.map +1 -0
  759. package/dist/esm/motion/types.js +2 -0
  760. package/dist/esm/motion/types.js.map +1 -0
  761. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts +22 -0
  762. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.d.ts.map +1 -0
  763. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js +58 -0
  764. package/dist/esm/motion/typesurface/TypeSurfaceCanvas.js.map +1 -0
  765. package/dist/esm/motion/typesurface/art.d.ts +21 -0
  766. package/dist/esm/motion/typesurface/art.d.ts.map +1 -0
  767. package/dist/esm/motion/typesurface/art.js +854 -0
  768. package/dist/esm/motion/typesurface/art.js.map +1 -0
  769. package/dist/esm/motion/typesurface/config.d.ts +273 -0
  770. package/dist/esm/motion/typesurface/config.d.ts.map +1 -0
  771. package/dist/esm/motion/typesurface/config.js +260 -0
  772. package/dist/esm/motion/typesurface/config.js.map +1 -0
  773. package/dist/esm/motion/typesurface/engine.d.ts +94 -0
  774. package/dist/esm/motion/typesurface/engine.d.ts.map +1 -0
  775. package/dist/esm/motion/typesurface/engine.js +603 -0
  776. package/dist/esm/motion/typesurface/engine.js.map +1 -0
  777. package/dist/esm/motion/typesurface/fonts.d.ts +25 -0
  778. package/dist/esm/motion/typesurface/fonts.d.ts.map +1 -0
  779. package/dist/esm/motion/typesurface/fonts.js +40 -0
  780. package/dist/esm/motion/typesurface/fonts.js.map +1 -0
  781. package/dist/esm/motion/typesurface/index.d.ts +17 -0
  782. package/dist/esm/motion/typesurface/index.d.ts.map +1 -0
  783. package/dist/esm/motion/typesurface/index.js +17 -0
  784. package/dist/esm/motion/typesurface/index.js.map +1 -0
  785. package/dist/esm/motion/typesurface/layout.d.ts +57 -0
  786. package/dist/esm/motion/typesurface/layout.d.ts.map +1 -0
  787. package/dist/esm/motion/typesurface/layout.js +122 -0
  788. package/dist/esm/motion/typesurface/layout.js.map +1 -0
  789. package/dist/esm/motion/typesurface/ops.d.ts +70 -0
  790. package/dist/esm/motion/typesurface/ops.d.ts.map +1 -0
  791. package/dist/esm/motion/typesurface/ops.js +164 -0
  792. package/dist/esm/motion/typesurface/ops.js.map +1 -0
  793. package/dist/esm/motion/typesurface/presets.d.ts +33 -0
  794. package/dist/esm/motion/typesurface/presets.d.ts.map +1 -0
  795. package/dist/esm/motion/typesurface/presets.js +185 -0
  796. package/dist/esm/motion/typesurface/presets.js.map +1 -0
  797. package/dist/esm/motion/typesurface/renderer.d.ts +78 -0
  798. package/dist/esm/motion/typesurface/renderer.d.ts.map +1 -0
  799. package/dist/esm/motion/typesurface/renderer.js +666 -0
  800. package/dist/esm/motion/typesurface/renderer.js.map +1 -0
  801. package/dist/esm/motion/typesurface/shaders.d.ts +17 -0
  802. package/dist/esm/motion/typesurface/shaders.d.ts.map +1 -0
  803. package/dist/esm/motion/typesurface/shaders.js +297 -0
  804. package/dist/esm/motion/typesurface/shaders.js.map +1 -0
  805. package/dist/esm/motion/typesurface/surfaces.d.ts +81 -0
  806. package/dist/esm/motion/typesurface/surfaces.d.ts.map +1 -0
  807. package/dist/esm/motion/typesurface/surfaces.js +149 -0
  808. package/dist/esm/motion/typesurface/surfaces.js.map +1 -0
  809. package/dist/esm/motion/typesurface/text.d.ts +17 -0
  810. package/dist/esm/motion/typesurface/text.d.ts.map +1 -0
  811. package/dist/esm/motion/typesurface/text.js +28 -0
  812. package/dist/esm/motion/typesurface/text.js.map +1 -0
  813. package/dist/esm/motion/typesurface/timeline.d.ts +15 -0
  814. package/dist/esm/motion/typesurface/timeline.d.ts.map +1 -0
  815. package/dist/esm/motion/typesurface/timeline.js +57 -0
  816. package/dist/esm/motion/typesurface/timeline.js.map +1 -0
  817. package/dist/esm/motion/validate.d.ts +22 -0
  818. package/dist/esm/motion/validate.d.ts.map +1 -0
  819. package/dist/esm/motion/validate.js +84 -0
  820. package/dist/esm/motion/validate.js.map +1 -0
  821. package/dist/esm/native/RiveReceiptStage.d.ts +25 -2
  822. package/dist/esm/native/RiveReceiptStage.d.ts.map +1 -1
  823. package/dist/esm/native/RiveReceiptStage.js +7 -148
  824. package/dist/esm/native/RiveReceiptStage.js.map +1 -1
  825. package/dist/esm/native/riveReceiptStageFactory.d.ts +26 -0
  826. package/dist/esm/native/riveReceiptStageFactory.d.ts.map +1 -0
  827. package/dist/esm/native/riveReceiptStageFactory.js +159 -0
  828. package/dist/esm/native/riveReceiptStageFactory.js.map +1 -0
  829. package/dist/esm/tokens/stage.d.ts +7 -0
  830. package/dist/esm/tokens/stage.d.ts.map +1 -0
  831. package/dist/esm/tokens/stage.js +7 -0
  832. package/dist/esm/tokens/stage.js.map +1 -0
  833. package/package.json +36 -1
  834. package/spec/examples/components/onboarding/animated-status/case1.json +42 -0
  835. package/spec/examples/components/onboarding/animated-status/case2.json +42 -0
  836. package/spec/examples/components/onboarding/animated-status/case3.json +42 -0
  837. package/spec/examples/components/onboarding/animated-status/case4.json +42 -0
  838. package/spec/examples/components/onboarding/animated-status/case5.json +42 -0
  839. package/spec/examples/components/onboarding/send-completion/case1.json +48 -0
  840. package/spec/examples/components/onboarding/send-completion/case2.json +48 -0
  841. package/spec/examples/components/onboarding/send-completion/case3.json +48 -0
  842. package/spec/examples/components/onboarding/send-completion/case4.json +48 -0
  843. package/spec/examples/components/onboarding/send-completion/case5.json +48 -0
  844. package/spec/families/onboarding.schema.json +610 -1
  845. package/src/agent/AgentComponent.tsx +1 -1
  846. package/src/agent/base.ts +17 -0
  847. package/src/agent/catalog.ts +0 -32
  848. package/src/agent/core.ts +6 -14
  849. package/src/agent/index.ts +6 -5
  850. package/src/agent/manifests.ts +83 -1
  851. package/src/agent/result.ts +6 -0
  852. package/src/agent/search/document.ts +46 -0
  853. package/src/agent/search/embedding.ts +95 -0
  854. package/src/agent/search/index.ts +20 -0
  855. package/src/agent/search/lexical.ts +25 -0
  856. package/src/agent/search/normalize.ts +17 -0
  857. package/src/agent/search/search.ts +148 -0
  858. package/src/agent/search/searchIndex.ts +107 -0
  859. package/src/agent/search/types.ts +68 -0
  860. package/src/agent/search/weights.ts +32 -0
  861. package/src/agent/types.ts +1 -1
  862. package/src/components/catalog.ts +21 -1
  863. package/src/components/onboarding/animated-status/AnimatedStage.tsx +18 -0
  864. package/src/components/onboarding/animated-status/AnimatedStage.types.ts +30 -0
  865. package/src/components/onboarding/animated-status/AnimatedStage.web.tsx +99 -0
  866. package/src/components/onboarding/animated-status/AnimatedStatusView.tsx +109 -0
  867. package/src/components/onboarding/animated-status/AnimatedStill.tsx +23 -0
  868. package/src/components/onboarding/animated-status/contract.ts +105 -0
  869. package/src/components/onboarding/animated-status/engine.ts +49 -0
  870. package/src/components/onboarding/animated-status/index.ts +8 -0
  871. package/src/components/onboarding/animated-status/presets.json +126 -0
  872. package/src/components/onboarding/animated-status/riv.ts +4 -0
  873. package/src/components/onboarding/index.ts +4 -0
  874. package/src/components/onboarding/presets.ts +6 -0
  875. package/src/components/onboarding/receipt-printer/ReceiptStage.tsx +46 -7
  876. package/src/components/onboarding/send-completion/SendCompletionView.tsx +164 -0
  877. package/src/components/onboarding/send-completion/SendStage.tsx +27 -0
  878. package/src/components/onboarding/send-completion/SendStage.types.ts +32 -0
  879. package/src/components/onboarding/send-completion/SendStage.web.tsx +116 -0
  880. package/src/components/onboarding/send-completion/SendStill.tsx +19 -0
  881. package/src/components/onboarding/send-completion/contract.ts +127 -0
  882. package/src/components/onboarding/send-completion/engine.ts +37 -0
  883. package/src/components/onboarding/send-completion/index.ts +10 -0
  884. package/src/components/onboarding/send-completion/presets.json +132 -0
  885. package/src/components/onboarding/send-completion/riv.ts +4 -0
  886. package/src/components/onboarding/shared/actions-data.ts +2 -0
  887. package/src/components/onboarding/shared/configColor.ts +72 -0
  888. package/src/components/onboarding/shared/contract.ts +4 -0
  889. package/src/components/onboarding/shared/describe.ts +1 -1
  890. package/src/components/onboarding/shared/mock.ts +2 -0
  891. package/src/components/onboarding/views.ts +8 -0
  892. package/src/index.ts +1 -1
  893. package/src/motion/MotionPlayer.tsx +62 -0
  894. package/src/motion/agent.ts +288 -0
  895. package/src/motion/cat/Cat.tsx +118 -0
  896. package/src/motion/cat/animation.ts +206 -0
  897. package/src/motion/cat/art.generated.ts +44 -0
  898. package/src/motion/cat/config.ts +186 -0
  899. package/src/motion/cat/index.ts +26 -0
  900. package/src/motion/cat/rig.ts +102 -0
  901. package/src/motion/cat/scene.ts +181 -0
  902. package/src/motion/configurable/config.ts +420 -0
  903. package/src/motion/configurable/controls.ts +93 -0
  904. package/src/motion/easing.ts +55 -0
  905. package/src/motion/fit.ts +8 -0
  906. package/src/motion/index.ts +29 -0
  907. package/src/motion/neon/GlowRenderer.tsx +83 -0
  908. package/src/motion/neon/NeonCanvas.tsx +175 -0
  909. package/src/motion/neon/NeonText.tsx +113 -0
  910. package/src/motion/neon/NeonTextFrame.tsx +67 -0
  911. package/src/motion/neon/artwork.ts +95 -0
  912. package/src/motion/neon/audio.ts +162 -0
  913. package/src/motion/neon/config.ts +484 -0
  914. package/src/motion/neon/flicker.ts +225 -0
  915. package/src/motion/neon/fonts.ts +76 -0
  916. package/src/motion/neon/frame.ts +34 -0
  917. package/src/motion/neon/glitch.ts +142 -0
  918. package/src/motion/neon/index.ts +41 -0
  919. package/src/motion/neon/layers.tsx +209 -0
  920. package/src/motion/neon/material.ts +88 -0
  921. package/src/motion/neon/random.ts +40 -0
  922. package/src/motion/neon/scene.ts +610 -0
  923. package/src/motion/neon/synth.ts +188 -0
  924. package/src/motion/neon/typography.ts +102 -0
  925. package/src/motion/neon/wall.ts +157 -0
  926. package/src/motion/paperfold/PaperFold.tsx +45 -0
  927. package/src/motion/paperfold/PaperFoldFrame.tsx +576 -0
  928. package/src/motion/paperfold/PaperFoldPlayer.tsx +80 -0
  929. package/src/motion/paperfold/art.ts +455 -0
  930. package/src/motion/paperfold/config.ts +98 -0
  931. package/src/motion/paperfold/controls.ts +557 -0
  932. package/src/motion/paperfold/engine.ts +852 -0
  933. package/src/motion/paperfold/fonts.ts +21 -0
  934. package/src/motion/paperfold/index.ts +30 -0
  935. package/src/motion/paperfold/manipulate.ts +188 -0
  936. package/src/motion/paperfold/presets.ts +117 -0
  937. package/src/motion/paperfold/template.ts +38 -0
  938. package/src/motion/player.ts +207 -0
  939. package/src/motion/promo/PromoFrame.tsx +501 -0
  940. package/src/motion/promo/PromoShowcasePlayer.tsx +78 -0
  941. package/src/motion/promo/config.ts +479 -0
  942. package/src/motion/promo/controls.ts +643 -0
  943. package/src/motion/promo/easing.ts +36 -0
  944. package/src/motion/promo/engine.ts +587 -0
  945. package/src/motion/promo/fonts.ts +16 -0
  946. package/src/motion/promo/icons.tsx +29 -0
  947. package/src/motion/promo/index.ts +24 -0
  948. package/src/motion/promo/presets.ts +40 -0
  949. package/src/motion/promo/template.ts +36 -0
  950. package/src/motion/replication2/Replication2Player.tsx +115 -0
  951. package/src/motion/replication2/config.ts +323 -0
  952. package/src/motion/replication2/controls.ts +336 -0
  953. package/src/motion/replication2/driver.ts +92 -0
  954. package/src/motion/replication2/easing.ts +88 -0
  955. package/src/motion/replication2/engine.ts +539 -0
  956. package/src/motion/replication2/html.ts +87 -0
  957. package/src/motion/replication2/index.ts +14 -0
  958. package/src/motion/replication2/measure.ts +28 -0
  959. package/src/motion/replication2/metrics.ts +7 -0
  960. package/src/motion/replication2/presets.ts +63 -0
  961. package/src/motion/replication2/riv.ts +4 -0
  962. package/src/motion/replication2/rive-contract.ts +165 -0
  963. package/src/motion/replication2/template.ts +33 -0
  964. package/src/motion/sample.ts +173 -0
  965. package/src/motion/templates/hey-template.ts +1553 -0
  966. package/src/motion/templates/index.ts +17 -0
  967. package/src/motion/templates/word-motion.ts +1166 -0
  968. package/src/motion/types.ts +162 -0
  969. package/src/motion/typesurface/TypeSurfaceCanvas.tsx +73 -0
  970. package/src/motion/typesurface/art.ts +639 -0
  971. package/src/motion/typesurface/config.ts +486 -0
  972. package/src/motion/typesurface/engine.ts +586 -0
  973. package/src/motion/typesurface/fonts.ts +63 -0
  974. package/src/motion/typesurface/index.ts +16 -0
  975. package/src/motion/typesurface/layout.ts +133 -0
  976. package/src/motion/typesurface/ops.ts +196 -0
  977. package/src/motion/typesurface/presets.ts +199 -0
  978. package/src/motion/typesurface/renderer.ts +579 -0
  979. package/src/motion/typesurface/shaders.ts +303 -0
  980. package/src/motion/typesurface/surfaces.ts +223 -0
  981. package/src/motion/typesurface/text.ts +35 -0
  982. package/src/motion/typesurface/timeline.ts +58 -0
  983. package/src/motion/validate.ts +101 -0
  984. package/src/native/RiveReceiptStage.tsx +8 -155
  985. package/src/native/riveReceiptStageFactory.tsx +175 -0
  986. package/src/tokens/stage.ts +6 -0
  987. package/tools/ask/dist/components.mjs +7221 -44
  988. package/tools/ask/mcp.mjs +80 -1
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useMemo } from 'react';
4
+ import { applyPatch } from './config';
5
+ import { timeline } from './engine';
6
+ import { PaperFoldFrame } from './PaperFoldFrame';
7
+ const HAND_PATHS = {
8
+ x: 'x', y: 'y', rotation: 'rotation', scale: 'scale', wrist: 'pose.wrist', grip: 'pose.grip', fingerCurl: 'pose.fingerCurl', thumbBend: 'pose.thumbBend',
9
+ };
10
+ /**
11
+ * **`<PaperFold progress handPose creaseStrength />`** — the paper-fold template as a component driven
12
+ * by values, not by a clock. Its props become a patch over `config` — the same validated patch an agent
13
+ * or the editor would send — and the package renderer draws the result, so a Remotion composition can
14
+ * pass `progress={frame / durationInFrames}` and every frame is decided by that number alone.
15
+ * A prop outside its control's range is refused: the config is drawn unchanged.
16
+ */
17
+ export function PaperFold({ config, progress, handPose, creaseStrength, frame, ...rest }) {
18
+ const patched = useMemo(() => {
19
+ const patch = {};
20
+ if (progress !== undefined)
21
+ Object.assign(patch, { 'motion.progressMode': 'manual', 'motion.foldProgress': Math.min(1, Math.max(0, progress)) });
22
+ if (creaseStrength !== undefined)
23
+ Object.assign(patch, { 'paperMaterial.creaseShadow': creaseStrength, 'paperMaterial.creaseHighlight': creaseStrength });
24
+ for (const id of ['top', 'bottom']) {
25
+ for (const [k, v] of Object.entries(handPose?.[id] ?? {}))
26
+ if (v !== undefined)
27
+ patch[`hands.${id}.${HAND_PATHS[k]}`] = v;
28
+ }
29
+ if (!Object.keys(patch).length)
30
+ return config;
31
+ const r = applyPatch(config, { patch });
32
+ return r.valid ? r.config : config;
33
+ }, [config, progress, handPose, creaseStrength]);
34
+ const at = frame ?? (progress !== undefined ? timeline(patched).phases.intro.end : 0);
35
+ return _jsx(PaperFoldFrame, { config: patched, frame: at, ...rest });
36
+ }
37
+ //# sourceMappingURL=PaperFold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaperFold.js","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFold.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAgB5E,MAAM,UAAU,GAAwC;IACtD,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB;CACzJ,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,IAAI,EAAkB;IACtG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QACjJ,IAAI,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,4BAA4B,EAAE,cAAc,EAAE,+BAA+B,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1J,KAAK,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAU,EAAE,CAAC;YAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAAE,IAAI,CAAC,KAAK,SAAS;oBAAE,KAAK,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,CAAwB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACnJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAM,IAAI,GAAI,CAAC;AAClE,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { ComponentType, CSSProperties } from 'react';
2
+ import { type PaperFoldConfig } from './config';
3
+ import { type HandState } from './engine';
4
+ import { type HandArt } from './art';
5
+ /**
6
+ * **The procedural renderer.** Draws one frame of paper-fold-promo from the engine's state with plain
7
+ * DOM and inline SVG. Each panel is its own box placed by the engine's `matrix3d` (true perspective
8
+ * about its crease), painted in the engine's explicit depth order; its copy is live text inside it.
9
+ * Hands are inline vector paths in two pieces (body behind the paper, gripping finger in front).
10
+ * No Remotion, no clock: the Remotion composition passes `useCurrentFrame()`, the web player a rAF
11
+ * clock, and both get the same pixels. Everything is laid out at the render size, so 4K is vector.
12
+ *
13
+ * `debug` (development only — never part of the config) overlays the creases, panel outlines and ids,
14
+ * fold pivots and angles, the hands' grip anchors, a normalized grid and the scene/frame.
15
+ */
16
+ export type ImageProps = {
17
+ src: string;
18
+ style?: CSSProperties;
19
+ alt: string;
20
+ };
21
+ export type PaperFoldFrameProps = {
22
+ /** A validated, complete config (resolveConfig). */
23
+ config: PaperFoldConfig;
24
+ /** Authored motion frame (60 fps). */
25
+ frame: number;
26
+ width: number;
27
+ height: number;
28
+ /** Development overlay. Not part of the config, so it can never reach a production render through it. */
29
+ debug?: boolean;
30
+ resolveAsset?: (ref: string) => string;
31
+ ImageComponent?: ComponentType<ImageProps>;
32
+ };
33
+ export declare const FONT_STACK: (family: string) => string;
34
+ export declare function PaperFoldFrame({ config, frame, width, height, debug, resolveAsset, ImageComponent }: PaperFoldFrameProps): import("react").JSX.Element;
35
+ /** The hand's drawing, built from its skeleton with the current pose (the grip opening is animated). */
36
+ export declare function handArt(cfg: PaperFoldConfig, h: HandState): HandArt;
37
+ /** The SVG transform that places hand units on the canvas at the hand's grip anchor. */
38
+ export declare const handTransform: (h: HandState) => string;
39
+ //# sourceMappingURL=PaperFoldFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaperFoldFrame.d.ts","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldFrame.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAa,MAAM,OAAO,CAAC;AACrE,OAAO,EAAW,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAA0D,KAAK,SAAS,EAAiC,MAAM,UAAU,CAAC;AACjI,OAAO,EAAmC,KAAK,OAAO,EAAgD,MAAM,OAAO,CAAC;AAEpH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,oDAAoD;IACpD,MAAM,EAAE,eAAe,CAAC;IACxB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,yGAAyG;IACzG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAIF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,WAA6E,CAAC;AAKvH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAa,EAAE,YAA6B,EAAE,cAA6B,EAAE,EAAE,mBAAmB,+BA0BhK;AAsSD,wGAAwG;AACxG,wBAAgB,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAInE;AACD,wFAAwF;AACxF,eAAO,MAAM,aAAa,GAAI,GAAG,SAAS,WACiH,CAAC"}
@@ -0,0 +1,283 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { getPath } from './config';
4
+ import { PANELS } from './controls';
5
+ import { frameState, mixHex, rgba } from './engine';
6
+ import { bottomHand, sleevePath, topHand } from './art';
7
+ const DefaultImage = ({ src, style, alt }) => _jsx("img", { src: src, style: style, alt: alt });
8
+ const defaultResolve = (ref) => (ref.startsWith('static:') ? `/${ref.slice(7)}` : ref);
9
+ export const FONT_STACK = (family) => `'${family}', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif`;
10
+ const full = { position: 'absolute', inset: 0 };
11
+ export function PaperFoldFrame({ config, frame, width, height, debug = false, resolveAsset = defaultResolve, ImageComponent = DefaultImage }) {
12
+ const st = frameState(config, frame, width, height);
13
+ const n = (p) => getPath(config, p);
14
+ const s = (p) => getPath(config, p);
15
+ const b = (p) => getPath(config, p);
16
+ const ctx = { st, n, s, b };
17
+ return (_jsxs("div", { "data-paper-fold-frame": Math.round(st.frame * 100) / 100, "data-phase": st.phase.label, style: { position: 'relative', width, height, overflow: 'hidden', background: s('background.baseColor'), fontFamily: FONT_STACK('Inter') }, children: [_jsx("div", { style: { ...full, transformOrigin: '0 0', transform: st.camera.backgroundTransform }, children: _jsx(Background, { ctx: ctx }) }), b('background.noise.enabled') && _jsx(Noise, { ctx: ctx }), _jsxs("div", { "data-layer": "scene", style: { ...full, transformOrigin: '0 0', transform: st.camera.transform }, children: [b('paper.shadow.enabled') && _jsx(SheetShadow, { ctx: ctx }), st.strips.map((p) => _jsx(StripView, { ctx: ctx, strip: p, last: st.strips.length - 1 }, p.index)), st.hands.filter((h) => h.enabled).map((h) => _jsx(Hand, { ctx: ctx, h: h }, h.id))] }), b('logo.enabled') && _jsx(Logo, { ctx: ctx, img: (src, style, alt) => _jsx(ImageComponent, { src: resolveAsset(src), style: style, alt: alt }) }), b('cta.enabled') && s('content.cta.text') !== '' && _jsx(Cta, { ctx: ctx }), debug && _jsx(Debug, { ctx: ctx })] }));
18
+ }
19
+ /* ─── background ──────────────────────────────────────────────────────────────────────────────── */
20
+ function Background({ ctx }) {
21
+ const { st, n, s, b } = ctx;
22
+ const { width: W, height: H, unit: u } = st.size;
23
+ const stops = getPath(st.cfg, 'background.gradient.stops');
24
+ const list = stops.map((x) => `${x.color} ${Math.round(x.offset * 1000) / 10}%`).join(', ');
25
+ const gradient = s('background.gradient.type') === 'radial' ? `radial-gradient(circle at 50% 45%, ${list})` : `linear-gradient(${n('background.gradient.angle')}deg, ${list})`;
26
+ const bt = 'background.backgroundTypography';
27
+ const size = n(`${bt}.fontSize`) * u * st.size.backgroundType.scale;
28
+ const word = Array.from({ length: st.background.typeRepeat }, () => s(`${bt}.text`)).join(' ');
29
+ const glowR = n('background.glow.radius') * Math.min(W, H);
30
+ return (_jsxs(_Fragment, { children: [b('background.gradient.enabled') && _jsx("div", { style: { ...full, background: gradient } }), b(`${bt}.enabled`) && s(`${bt}.text`) !== '' && (_jsx("div", { "data-layer": "background-type", style: { ...full, transformOrigin: '50% 50%', transform: `rotate(${n(`${bt}.rotation`)}deg)`, opacity: n(`${bt}.opacity`) }, children: st.background.typeRows.map((r, i) => (_jsx("div", { style: {
31
+ position: 'absolute', left: r.x, top: r.y, whiteSpace: 'pre', lineHeight: 1, fontSize: size,
32
+ fontFamily: FONT_STACK(s(`${bt}.fontFamily`)), fontWeight: n(`${bt}.weight`), letterSpacing: `${n(`${bt}.tracking`)}em`, color: s(`${bt}.color`),
33
+ }, children: word }, i))) })), b('background.glow.enabled') && (_jsx("div", { style: {
34
+ position: 'absolute', left: n('background.glow.x') * W - glowR, top: n('background.glow.y') * H - glowR, width: glowR * 2, height: glowR * 2, borderRadius: '50%',
35
+ background: `radial-gradient(circle, ${rgba(s('background.glow.color'), n('background.glow.opacity'))} 0%, ${rgba(s('background.glow.color'), 0)} 70%)`,
36
+ filter: n('background.glow.blur') > 0 ? `blur(${n('background.glow.blur') * u}px)` : undefined,
37
+ } }))] }));
38
+ }
39
+ function Noise({ ctx }) {
40
+ const { st, n } = ctx;
41
+ const { width: W, height: H, unit: u } = st.size;
42
+ const id = `pf-noise-${n('background.noise.seed')}`;
43
+ return (_jsxs("svg", { width: W, height: H, style: { ...full, opacity: n('background.noise.opacity'), mixBlendMode: 'overlay' }, "aria-hidden": "true", children: [_jsxs("filter", { id: id, x: "0", y: "0", width: "100%", height: "100%", children: [_jsx("feTurbulence", { type: "fractalNoise", baseFrequency: 0.75 / (u * n('background.noise.scale')), numOctaves: 2, seed: n('background.noise.seed'), stitchTiles: "stitch" }), _jsx("feColorMatrix", { type: "saturate", values: "0" })] }), _jsx("rect", { width: W, height: H, filter: `url(#${id})` })] }));
44
+ }
45
+ /* ─── the sheet ───────────────────────────────────────────────────────────────────────────────── */
46
+ function SheetShadow({ ctx }) {
47
+ const { st, n, s } = ctx;
48
+ const u = st.size.unit;
49
+ const pts = (q) => q.map(([x, y]) => `${Math.round(x * 10) / 10},${Math.round(y * 10) / 10}`).join(' ');
50
+ return (_jsx("div", { "data-layer": "sheet-shadow", style: { ...full, zIndex: 10, opacity: n('paper.shadow.opacity'), filter: `blur(${n('paper.shadow.blur') * u}px)`, transform: `translate(${n('paper.shadow.offsetX') * u}px, ${n('paper.shadow.offsetY') * u}px)` }, children: _jsx("svg", { width: st.size.width, height: st.size.height, style: { position: 'absolute', left: 0, top: 0, overflow: 'visible' }, "aria-hidden": "true", children: st.shadowQuads.map((q, i) => _jsx("polygon", { points: pts(q), fill: s('paper.shadow.color'), stroke: s('paper.shadow.color'), strokeWidth: 2 }, i)) }) }));
51
+ }
52
+ function PrintedText({ ctx, fit, text }) {
53
+ const { st, n, s } = ctx;
54
+ const T = `typography.${fit.slot}`;
55
+ const pu = st.size.pu;
56
+ const align = s(`${T}.alignment`);
57
+ const shadow = n(`${T}.shadowOpacity`) > 0 ? `0 ${Math.max(1, n(`${T}.shadowBlur`) * pu * 0.3)}px ${n(`${T}.shadowBlur`) * pu}px ${rgba(s(`${T}.shadow`), n(`${T}.shadowOpacity`))}` : undefined;
58
+ const pill = fit.slot === 'bottomCta';
59
+ const box = {
60
+ fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: n(`${T}.fontWeight`), fontStyle: s(`${T}.fontStyle`),
61
+ fontSize: fit.fontSize, lineHeight: n(`${T}.lineHeight`), letterSpacing: `${n(`${T}.letterSpacing`)}em`,
62
+ color: s(`${T}.color`), opacity: n(`${T}.opacity`), textAlign: align, whiteSpace: 'pre-line', overflowWrap: 'break-word', textShadow: shadow,
63
+ };
64
+ return (_jsx("div", { "data-slot": fit.slot, "data-fit": fit.scale, style: {
65
+ position: 'absolute', left: fit.x - fit.area.x, top: fit.y - fit.area.y, width: fit.width,
66
+ transformOrigin: `${align === 'left' ? 0 : align === 'center' ? 50 : 100}% 0%`,
67
+ transform: `rotate(${n(`${T}.rotation`)}deg) skewX(${n(`${T}.skew`)}deg) scale(${n(`${T}.scale`)})`,
68
+ ...(pill ? {} : box),
69
+ }, children: pill
70
+ ? _jsx("span", { style: { ...box, display: 'inline-block', padding: '0.42em 0.95em', borderRadius: 999, background: s('cta.backgroundColor'), boxShadow: `0 ${0.12 * fit.fontSize}px ${0.4 * fit.fontSize}px ${rgba('#000000', 0.18)}` }, children: text })
71
+ : text }));
72
+ }
73
+ const PANEL_TEXT = {
74
+ top: ['topLogo', 'topHeadline', 'topSubtitle'], middle: ['middleHeadline', 'middleBody'], bottom: ['bottomHeadline', 'bottomBody', 'bottomCta'],
75
+ };
76
+ const SLOT_PATH = {
77
+ topLogo: 'content.top.logo', topHeadline: 'content.top.headline', topSubtitle: 'content.top.subtitle', middleHeadline: 'content.middle.headline',
78
+ middleBody: 'content.middle.body', bottomHeadline: 'content.bottom.headline', bottomBody: 'content.bottom.body', bottomCta: 'content.bottom.cta',
79
+ };
80
+ /**
81
+ * The print of the whole sheet, in sheet coordinates (0‥width × 0‥height): the paper of each region,
82
+ * its grain, the crease effects and every word. Every strip draws this same print, offset to its own
83
+ * height and clipped to itself, so the sheet stays ONE surface — gradient, grain, creases and text run
84
+ * on across the strips, and each word turns with exactly the part of the sheet it is printed on.
85
+ * Only the regions that reach the strip are drawn. `face` picks the front or the back of the paper.
86
+ */
87
+ function SheetPrint({ ctx, face, y0, y1, brightness }) {
88
+ const { st, n, s, b } = ctx;
89
+ const { width: PW, height: PH } = st.size.paper;
90
+ const pu = st.size.pu;
91
+ const reach = (a, c) => c >= y0 - 2 && a <= y1 + 2;
92
+ const mat = 'paperMaterial';
93
+ // Light: the paper takes the full shade, the print on it part of it (so white type stays crisp).
94
+ const textShade = brightness < 1 ? (1 - brightness) * 0.3 : 0;
95
+ const paperShade = brightness < 1 ? Math.min(0.92, 1 - brightness / (1 - textShade)) : 0;
96
+ const light = brightness > 1 ? Math.min(0.6, (brightness - 1) * 0.9) : 0;
97
+ const regions = PANELS.map((id) => ({ id, ...st.size.panels[id] })).filter((r) => reach(r.y0, r.y1));
98
+ const fill = (id) => {
99
+ const P = `panels.${id}`;
100
+ if (face === 'back')
101
+ return { backgroundColor: s(`${mat}.backColor`) };
102
+ const colour = s(`${P}.colorMode`) === 'own' ? s(`${P}.backgroundColor`) : s(`${mat}.baseColor`);
103
+ return b(`${mat}.gradientEnabled`) && b(`${P}.gradient`) && s(`${P}.colorMode`) !== 'own'
104
+ ? { backgroundColor: colour, backgroundImage: `linear-gradient(${n(`${mat}.gradientAngle`)}deg, ${colour}, ${s(`${mat}.secondaryColor`)})`, backgroundSize: `${PW}px ${PH}px`, backgroundPosition: `0px ${-st.size.panels[id].y0}px` }
105
+ : { backgroundColor: colour };
106
+ };
107
+ return (_jsxs("div", { "data-print": face, style: { position: 'absolute', left: 0, top: 0, width: PW, height: PH }, children: [regions.map((r) => (_jsx("div", { "data-region": r.id, style: { position: 'absolute', left: 0, top: r.y0, width: PW, height: r.height, ...fill(r.id) }, children: _jsx(PaperGrain, { ctx: ctx, w: PW, h: r.height, y0: r.y0, k: n(`panels.${r.id}.textureOpacity`) }) }, r.id))), paperShade > 0 && _jsx("div", { style: { ...full, background: '#000000', opacity: paperShade } }), light > 0 && _jsx("div", { style: { ...full, background: '#ffffff', opacity: light } }), st.panels.map((p) => p.edges.map((e) => {
108
+ const yc = st.size.creases[e.crease];
109
+ const span = Math.max(e.shadow.length + e.shadow.blur, e.valley.length, e.line.width) + 2;
110
+ return (face === 'front' || e.edge === 'bottom') && reach(yc - span, yc + span)
111
+ ? _jsx(CreaseEffects, { e: face === 'front' ? e : { ...e, valley: { ...e.valley, opacity: 0 }, shadow: { ...e.shadow, opacity: 0 } }, yc: yc, w: PW, pu: pu, tint: mixHex(e.line.color, '#000000', 0.55) }, `${p.id}${e.edge}`)
112
+ : null;
113
+ })), _jsx(OuterEdges, { ctx: ctx, w: PW, h: PH }), face === 'front' && regions.map((r) => _jsx(PanelContent, { ctx: ctx, id: r.id }, r.id)), face === 'back' && s('content.back.text') !== '' && regions.some((r) => r.id === s('content.back.panel')) && _jsx(BackContent, { ctx: ctx, id: s('content.back.panel') }), textShade > 0 && _jsx("div", { style: { ...full, background: '#000000', opacity: textShade } })] }));
114
+ }
115
+ function PanelContent({ ctx, id }) {
116
+ const { st, n, s, b } = ctx;
117
+ const { y0, height: h } = st.size.panels[id];
118
+ const PW = st.size.paper.width, pu = st.size.pu;
119
+ const P = `panels.${id}`;
120
+ const fits = st.text.filter((t) => t.panel === id && PANEL_TEXT[id].includes(t.slot));
121
+ if (!fits.length)
122
+ return null;
123
+ const area = fits[0].area;
124
+ const overflow = b(`${P}.overflow`);
125
+ return (_jsx("div", { "data-content": id, style: { position: 'absolute', left: 0, top: y0, width: PW, height: h, overflow: overflow ? 'visible' : 'hidden' }, children: _jsx("div", { style: { ...full, transformOrigin: '50% 50%', transform: `translate(${n(`${P}.contentOffsetX`) * pu}px, ${n(`${P}.contentOffsetY`) * pu}px) rotate(${n(`${P}.contentRotation`)}deg) scale(${n(`${P}.contentScale`)})` }, children: _jsx("div", { "data-content-area": id, style: { position: 'absolute', left: area.x, top: area.y, width: area.width, height: area.height, overflow: overflow ? 'visible' : 'hidden' }, children: fits.map((f) => _jsx(PrintedText, { ctx: ctx, fit: f, text: s(SLOT_PATH[f.slot]) }, f.slot)) }) }) }));
126
+ }
127
+ /** Print on the back of a panel: laid out upside down, so it reads upright once the panel turns over. */
128
+ function BackContent({ ctx, id }) {
129
+ const { st, n, s } = ctx;
130
+ const { y0, height: h } = st.size.panels[id];
131
+ const PW = st.size.paper.width, pu = st.size.pu;
132
+ const T = 'typography.back';
133
+ const fit = { slot: 'back', panel: id, x: n(`${T}.x`) * PW, y: n(`${T}.y`) * h, width: n(`${T}.maxWidth`) * PW, fontSize: n(`${T}.fontSize`) * pu, scale: 1, lines: 1, area: { x: 0, y: 0, width: PW, height: h } };
134
+ return (_jsx("div", { "data-content": "back", style: { position: 'absolute', left: 0, top: y0, width: PW, height: h, overflow: 'hidden', transform: 'scaleY(-1)' }, children: _jsx(PrintedText, { ctx: ctx, fit: fit, text: s('content.back.text') }) }));
135
+ }
136
+ /**
137
+ * One strip of the sheet — a panel's flat part or one step of a crease's bend — placed by its own
138
+ * matrix3d and painted at its explicit depth. It shows the front or the back of the one sheet print.
139
+ * Each strip reaches a hair under the next (at most 1.5 px) so no seam opens between them.
140
+ */
141
+ function StripView({ ctx, strip, last }) {
142
+ const { st, n, s } = ctx;
143
+ const PW = st.size.paper.width, pu = st.size.pu;
144
+ const h = strip.y1 - strip.y0;
145
+ const ov = strip.index < last ? Math.min(1.5, h * 0.5) : 0;
146
+ const radius = n('paper.cornerRadius') * pu;
147
+ const corners = strip.index === 0 ? `${radius}px ${radius}px 0 0` : strip.index === last ? `0 0 ${radius}px ${radius}px` : '0';
148
+ const edge = n('paper.thickness') * pu * strip.edgeOn;
149
+ return (_jsxs("div", { "data-strip": strip.index, "data-region": strip.region, "data-facing": strip.facing, "data-rank": strip.rank, style: { position: 'absolute', left: 0, top: 0, width: PW, height: h + ov, transformOrigin: '0 0', transform: strip.matrix, zIndex: strip.z, overflow: 'hidden', borderRadius: corners }, children: [_jsx("div", { style: { position: 'absolute', left: 0, top: -strip.y0, width: PW, height: st.size.paper.height }, children: _jsx(SheetPrint, { ctx: ctx, face: strip.facing, y0: strip.y0, y1: strip.y1, brightness: strip.brightness }) }), strip.sheen > 0.002 && _jsx("div", { style: { ...full, background: 'linear-gradient(160deg, rgba(255,255,255,0.9), rgba(255,255,255,0) 70%)', opacity: strip.sheen } }), edge > 0.4 && (
150
+ // The paper's cut edge (its thickness) shows as the strip turns edge-on.
151
+ _jsxs(_Fragment, { children: [_jsx("div", { style: { position: 'absolute', left: 0, top: 0, width: edge, height: h + ov, background: s('paper.edgeColor') } }), _jsx("div", { style: { position: 'absolute', right: 0, top: 0, width: edge, height: h + ov, background: s('paper.edgeColor') } })] }))] }));
152
+ }
153
+ function PaperGrain({ ctx, w, h, y0, k }) {
154
+ const { st, n, b } = ctx;
155
+ const tex = n('paperMaterial.textureOpacity') * k, grain = b('paperMaterial.grainEnabled') ? n('paperMaterial.grainOpacity') * k : 0;
156
+ if (tex <= 0 && grain <= 0)
157
+ return null;
158
+ const seed = n('paperMaterial.grainSeed');
159
+ const pu = st.size.pu, gs = n('paperMaterial.grainScale');
160
+ // Sampled in sheet coordinates (the viewBox starts at the region's y), so fibres run on across the creases.
161
+ return (_jsxs("svg", { width: w, height: h, viewBox: `0 ${y0} ${w} ${h}`, style: { ...full, mixBlendMode: 'soft-light' }, "aria-hidden": "true", children: [_jsxs("filter", { id: `pf-fibre-${seed}`, x: "0", y: "0", width: "100%", height: "100%", filterUnits: "userSpaceOnUse", children: [_jsx("feTurbulence", { type: "fractalNoise", baseFrequency: `${0.9 / (pu * 60)} ${0.9 / (pu * 3)}`, numOctaves: 3, seed: seed }), _jsx("feColorMatrix", { type: "saturate", values: "0" })] }), _jsxs("filter", { id: `pf-grain-${seed}`, x: "0", y: "0", width: "100%", height: "100%", filterUnits: "userSpaceOnUse", children: [_jsx("feTurbulence", { type: "fractalNoise", baseFrequency: 0.8 / Math.max(0.6, pu * gs), numOctaves: 1, seed: seed + 1 }), _jsx("feColorMatrix", { type: "saturate", values: "0" })] }), tex > 0 && _jsx("rect", { x: 0, y: y0, width: w, height: h, filter: `url(#pf-fibre-${seed})`, opacity: Math.min(1, tex * 3) }), grain > 0 && _jsx("rect", { x: 0, y: y0, width: w, height: h, filter: `url(#pf-grain-${seed})`, opacity: Math.min(1, grain * 3) })] }));
162
+ }
163
+ /** A crease's line, ridge highlight, valley shading and the shadow of the panel closing over — at sheet height `yc`. */
164
+ function CreaseEffects({ e, yc, w, pu, tint }) {
165
+ // `edge` is the panel's side of the crease: 'bottom' = the panel above it (effects run upward), 'top' = below (downward).
166
+ const down = e.edge === 'top';
167
+ const band = (length) => ({ position: 'absolute', left: 0, width: w, height: length, top: down ? yc : yc - length });
168
+ const dir = down ? 'to bottom' : 'to top';
169
+ const half = e.line.width / 2;
170
+ return (_jsxs("div", { "data-crease": e.crease, "data-edge": e.edge, children: [e.shadow.opacity > 0.002 && e.shadow.length > 0 && (_jsx("div", { style: { ...band(e.shadow.length + e.shadow.blur), background: `linear-gradient(${dir}, ${rgba(tint, e.shadow.opacity)} 0px, ${rgba(tint, e.shadow.opacity * 0.85)} ${e.shadow.length * 0.8}px, ${rgba(tint, 0)} ${e.shadow.length + e.shadow.blur}px)` } })), e.valley.opacity > 0.002 && _jsx("div", { style: { ...band(e.valley.length), background: `linear-gradient(${dir}, ${rgba(tint, e.valley.opacity)}, ${rgba(tint, 0)})` } }), e.highlight.opacity > 0.002 && (_jsx("div", { style: { position: 'absolute', left: 0, width: w, height: e.highlight.width, top: down ? yc + half : yc - half - e.highlight.width, background: rgba(e.highlight.color, e.highlight.opacity), filter: `blur(${Math.max(0.3, pu * 0.8)}px)` } })), e.line.opacity > 0.002 && (_jsx("div", { style: { position: 'absolute', left: 0, width: w, height: Math.max(0.5, half), top: down ? yc : yc - half, background: rgba(e.line.color, e.line.opacity), filter: e.line.blur > 0.2 ? `blur(${e.line.blur}px)` : undefined } }))] }));
171
+ }
172
+ function OuterEdges({ ctx, w, h }) {
173
+ const { st, n } = ctx;
174
+ const hi = n('paperMaterial.edgeHighlight'), sh = n('paperMaterial.edgeShadow');
175
+ if (hi <= 0 && sh <= 0)
176
+ return null;
177
+ const t = Math.max(1, 2.2 * st.size.pu);
178
+ const light = rgba('#ffffff', hi), dark = rgba('#000000', sh);
179
+ return (_jsxs(_Fragment, { children: [_jsx("div", { style: { position: 'absolute', left: 0, top: 0, width: t, height: h, background: light } }), _jsx("div", { style: { position: 'absolute', right: 0, top: 0, width: t, height: h, background: dark } }), _jsx("div", { style: { position: 'absolute', left: 0, top: 0, width: w, height: t, background: light } }), _jsx("div", { style: { position: 'absolute', left: 0, bottom: 0, width: w, height: t, background: dark } })] }));
180
+ }
181
+ /* ─── hands ───────────────────────────────────────────────────────────────────────────────────── */
182
+ /** The hand's drawing, built from its skeleton with the current pose (the grip opening is animated). */
183
+ export function handArt(cfg, h) {
184
+ const n = (p) => getPath(cfg, p);
185
+ const pose = { ...h.pose, armLength: n(`hands.${h.id}.armLength`) * 0.6, open: h.fingerAngle, nails: getPath(cfg, 'hands.nails.enabled'), nailScale: n('hands.nails.scale') };
186
+ return h.id === 'top' ? topHand(pose) : bottomHand(pose);
187
+ }
188
+ /** The SVG transform that places hand units on the canvas at the hand's grip anchor. */
189
+ export const handTransform = (h) => `translate(${h.x} ${h.y}) rotate(${h.rotation}) skewX(${h.skewX}) skewY(${h.skewY}) scale(${h.unitScale * h.scale}) translate(${h.offsetX} ${h.offsetY})`;
190
+ function Hand({ ctx, h }) {
191
+ const { st, n, s, b } = ctx;
192
+ const art = handArt(st.cfg, h);
193
+ const S = 'hands.style';
194
+ const colours = {
195
+ base: s(`${S}.baseColor`), midtone: s(`${S}.midtoneColor`), shadow: s(`${S}.shadowColor`),
196
+ highlight: s(`${S}.highlightColor`), nail: s(`${S}.nailColor`), sleeve: s(`${S}.sleeve.color`),
197
+ };
198
+ const ow = n(`${S}.outlineWidth`);
199
+ const shape = (part, sh, i) => {
200
+ const o = part.name === 'highlights' ? n(`${S}.highlightOpacity`) : part.name === 'fingerShadows' || part.name === 'palmShadow' ? n(`${S}.shadowOpacity`) : part.name === 'nails' ? n('hands.nails.opacity') : 1;
201
+ return _jsx("path", { d: sh.d, fill: colours[sh.fill], fillOpacity: (sh.opacity ?? 1) * o, ...(sh.outline && ow > 0 ? { stroke: s(`${S}.outlineColor`), strokeWidth: ow * 0.6, strokeLinejoin: 'round' } : {}) }, i);
202
+ };
203
+ // Once the held panel has turned over, the digits holding it from behind are on its visible side:
204
+ // they show only where they lie on that panel (clipped to its outline), never past its edge.
205
+ const held = st.panels.find((p) => p.id === h.panel);
206
+ const clipId = `pf-held-${h.id}`;
207
+ const clipped = held.facing === 'back';
208
+ const group = (layer) => art.parts.filter((p) => p.layer === layer).map((p, i) => {
209
+ const g = (_jsxs("g", { "data-part": p.name, ...(p.grips ? { 'data-grips': 'true' } : {}), children: [p.shapes.map((sh, j) => shape(p, sh, j)), p.name === 'forearm' && b(`${S}.sleeve.enabled`) && _jsx("path", { "data-part": "sleeve", d: sleevePath(art, n(`${S}.sleeve.position`), n(`hands.${h.id}.armLength`) * 0.6), fill: colours.sleeve })] }, `${p.name}${i}`));
210
+ return p.grips && clipped ? _jsx("g", { clipPath: `url(#${clipId})`, children: _jsx("g", { transform: handTransform(h), children: g }) }, `c${p.name}${i}`) : _jsx("g", { transform: handTransform(h), children: g }, `t${p.name}${i}`);
211
+ });
212
+ const svg = { position: 'absolute', left: 0, top: 0, overflow: 'visible', opacity: h.opacity, pointerEvents: 'none' };
213
+ const { width: W, height: H } = st.size;
214
+ const pu = st.size.pu;
215
+ // The gripping digits cast a small contact shadow on the paper.
216
+ const drop = n(`${S}.dropShadowOpacity`) > 0 ? `drop-shadow(${n(`${S}.dropShadowOffset`) * pu * 0.5}px ${n(`${S}.dropShadowOffset`) * pu}px ${n(`${S}.dropShadowBlur`) * pu}px ${rgba('#1a0526', n(`${S}.dropShadowOpacity`))})` : undefined;
217
+ return (_jsxs(_Fragment, { children: [_jsxs("svg", { "data-hand": h.id, "data-piece": "body", width: W, height: H, style: { ...svg, zIndex: h.bodyZ }, "aria-hidden": "true", children: [clipped && _jsx("defs", { children: _jsx("clipPath", { id: clipId, clipPathUnits: "userSpaceOnUse", children: _jsx("polygon", { points: held.corners.map(([x, y]) => `${x},${y}`).join(' ') }) }) }), group('behind')] }), _jsx("svg", { "data-hand": h.id, "data-piece": "finger", width: W, height: H, style: { ...svg, zIndex: h.fingerZ, filter: drop }, "aria-hidden": "true", children: group('front') })] }));
218
+ }
219
+ /* ─── logo and CTA ────────────────────────────────────────────────────────────────────────────── */
220
+ function Logo({ ctx, img }) {
221
+ const { st, n, s, b } = ctx;
222
+ const u = st.size.unit;
223
+ const T = 'typography.logo';
224
+ const size = n(`${T}.fontSize`) * u;
225
+ const mark = n('logo.markSize') * size;
226
+ const shadow = n(`${T}.shadowOpacity`) > 0 ? `0 ${n(`${T}.shadowBlur`) * u * 0.3}px ${n(`${T}.shadowBlur`) * u}px ${rgba(s(`${T}.shadow`), n(`${T}.shadowOpacity`))}` : undefined;
227
+ const image = s('logo.image');
228
+ return (_jsx("div", { "data-layer": "logo", style: {
229
+ position: 'absolute', left: st.logo.x, top: st.logo.y, zIndex: 900, opacity: st.logo.opacity, display: 'flex', alignItems: 'center', gap: n('logo.gap') * size, whiteSpace: 'nowrap',
230
+ transform: `translate(-50%, -50%) rotate(${n('logo.rotation')}deg) scale(${st.logo.scale})`,
231
+ }, children: image !== '' ? img(image, { height: n('logo.imageHeight') * u, width: 'auto', display: 'block' }, s('content.logo') || 'logo') : (_jsxs(_Fragment, { children: [b('logo.showMark') && (_jsx("div", { "data-part": "logo-mark", style: {
232
+ width: mark, height: mark, borderRadius: n('logo.markRadius') * mark, display: 'flex', alignItems: 'center', justifyContent: 'center',
233
+ background: `linear-gradient(135deg, ${s('logo.markColor')}, ${s('logo.markColorEnd')})`, color: s('logo.markTextColor'),
234
+ fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: 800, fontSize: mark * 0.72, lineHeight: 1,
235
+ }, children: s('logo.markText') })), s('content.logo') !== '' && (_jsx("span", { "data-part": "logo-word", style: {
236
+ fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: n(`${T}.fontWeight`), fontStyle: s(`${T}.fontStyle`), fontSize: size, lineHeight: 1,
237
+ letterSpacing: `${n(`${T}.letterSpacing`)}em`, color: s(`${T}.color`), opacity: n(`${T}.opacity`), textShadow: shadow,
238
+ }, children: s('content.logo') }))] })) }));
239
+ }
240
+ function Cta({ ctx }) {
241
+ const { st, n, s } = ctx;
242
+ const u = st.size.unit;
243
+ const T = 'typography.cta';
244
+ const shadow = n('cta.shadowOpacity') > 0 ? `0 ${n('cta.shadowBlur') * u * 0.35}px ${n('cta.shadowBlur') * u}px ${rgba(s('cta.shadowColor'), n('cta.shadowOpacity'))}` : undefined;
245
+ return (_jsx("div", { "data-layer": "cta", style: {
246
+ position: 'absolute', left: st.cta.x, top: st.cta.y, zIndex: 900, opacity: st.cta.opacity, whiteSpace: 'nowrap',
247
+ transform: `translate(-50%, -50%) rotate(${n('cta.rotation')}deg) scale(${st.cta.scale})`,
248
+ background: s('cta.backgroundColor'), border: n('cta.borderWidth') > 0 ? `${n('cta.borderWidth') * u}px solid ${s('cta.borderColor')}` : undefined,
249
+ borderRadius: n('cta.radius') * u, padding: `${n('cta.paddingY') * u}px ${n('cta.paddingX') * u}px`, boxShadow: shadow,
250
+ fontFamily: FONT_STACK(s(`${T}.fontFamily`)), fontWeight: n(`${T}.fontWeight`), fontStyle: s(`${T}.fontStyle`), fontSize: n(`${T}.fontSize`) * u, lineHeight: 1.2,
251
+ letterSpacing: `${n(`${T}.letterSpacing`)}em`, color: s(`${T}.color`),
252
+ textShadow: n(`${T}.shadowOpacity`) > 0 ? `0 0 ${n(`${T}.shadowBlur`) * u}px ${rgba(s(`${T}.shadow`), n(`${T}.shadowOpacity`))}` : undefined,
253
+ }, children: _jsx("span", { style: { opacity: n(`${T}.opacity`) }, children: s('content.cta.text') }) }));
254
+ }
255
+ /* ─── debug overlay (development only) ────────────────────────────────────────────────────────── */
256
+ function Debug({ ctx }) {
257
+ const { st } = ctx;
258
+ const { width: W, height: H, unit: u } = st.size;
259
+ const fs = 14 * u;
260
+ const label = (x, y, lines, colour = '#00ffd0') => (_jsx("text", { x: x, y: y, fill: colour, fontSize: fs, fontFamily: "ui-monospace, Menlo, monospace", stroke: "#000000", strokeWidth: fs * 0.18, paintOrder: "stroke", children: lines.map((l, i) => _jsx("tspan", { x: x, dy: i === 0 ? 0 : fs * 1.2, children: l }, i)) }));
261
+ const pts = (q) => q.map(([x, y]) => `${x},${y}`).join(' ');
262
+ const centre = (q) => [q.reduce((a, p) => a + p[0], 0) / 4, q.reduce((a, p) => a + p[1], 0) / 4];
263
+ // The grid and the read-out are fixed to the canvas; the geometry follows the camera so it sits on the drawing.
264
+ return (_jsxs("div", { "data-layer": "debug", style: { ...full, zIndex: 2000, pointerEvents: 'none' }, children: [_jsx("svg", { width: W, height: H, style: { position: 'absolute', left: 0, top: 0 }, "aria-hidden": "true", children: Array.from({ length: 9 }, (_, i) => (i + 1) / 10).map((v) => (_jsxs("g", { opacity: 0.35, children: [_jsx("line", { x1: v * W, y1: 0, x2: v * W, y2: H, stroke: "#ffffff", strokeWidth: u, strokeDasharray: `${4 * u} ${6 * u}` }), _jsx("line", { x1: 0, y1: v * H, x2: W, y2: v * H, stroke: "#ffffff", strokeWidth: u, strokeDasharray: `${4 * u} ${6 * u}` }), label(v * W + 3 * u, 16 * u, [v.toFixed(1)], '#ffffff'), label(3 * u, v * H - 4 * u, [v.toFixed(1)], '#ffffff')] }, v))) }), _jsx("svg", { width: W, height: H, style: { position: 'absolute', left: 0, top: 0, overflow: 'visible', transformOrigin: '0 0', transform: st.camera.transform }, "aria-hidden": "true", children: _jsxs("g", { children: [st.panels.map((p) => {
265
+ const [cx, cy] = centre(p.corners);
266
+ return (_jsxs("g", { children: [_jsx("polygon", { points: pts(p.corners), fill: "none", stroke: p.facing === 'front' ? '#00ffd0' : '#ff9d00', strokeWidth: 2 * u, strokeDasharray: p.facing === 'front' ? undefined : `${8 * u} ${5 * u}` }), label(cx - 60 * u, cy, [`${p.id.toUpperCase()} PANEL`, `${p.facing} · rank ${p.rank} · z ${p.z}`, `light ${p.brightness.toFixed(2)}`])] }, p.id));
267
+ }), st.debug.creases.map((c, i) => {
268
+ const mx = (c.from[0] + c.to[0]) / 2, my = (c.from[1] + c.to[1]) / 2;
269
+ return (_jsxs("g", { children: [_jsx("line", { x1: c.from[0], y1: c.from[1], x2: c.to[0], y2: c.to[1], stroke: "#ff2d78", strokeWidth: 3 * u }), _jsx("circle", { cx: mx, cy: my, r: 7 * u, fill: "#ff2d78", stroke: "#ffffff", strokeWidth: 1.5 * u }), label(c.to[0] + 10 * u, c.to[1] + (i ? 18 : -8) * u, [`CREASE ${c.id.toUpperCase()} ${c.position.toFixed(3)}`, `ANGLE: ${c.angle.toFixed(1)}°`, `pivot (${(mx / W).toFixed(3)}, ${(my / H).toFixed(3)})`], '#ff2d78')] }, c.id));
270
+ }), _jsx("polygon", { points: [...st.strips.flatMap((p) => [p.corners[0], p.corners[3]]), ...[...st.strips].reverse().flatMap((p) => [p.corners[2], p.corners[1]])].map(([x, y]) => `${x},${y}`).join(' '), fill: "none", stroke: "#ffffff", strokeWidth: 3 * u, strokeDasharray: `${2 * u} ${4 * u}` }), st.strips.filter((p) => p.region.startsWith('crease')).map((p) => _jsx("polygon", { points: pts(p.corners), fill: "none", stroke: "#ff2d78", strokeWidth: 0.8 * u, opacity: 0.6 }, p.index)), st.hands.map((h) => {
271
+ const art = handArt(st.cfg, h);
272
+ const k = h.unitScale * h.scale;
273
+ return (_jsx("g", { transform: handTransform(h), children: Object.entries(art.joints).map(([name, js]) => (_jsxs("g", { children: [_jsx("polyline", { points: js.map(([x, y]) => `${x},${y}`).join(' '), fill: "none", stroke: "#7df9ff", strokeWidth: 1.5 * u / k }), js.map(([x, y], i) => _jsx("circle", { cx: x, cy: y, r: 3.2 * u / k, fill: i === 0 ? '#ffffff' : '#7df9ff' }, i))] }, name))) }, `joints-${h.id}`));
274
+ }), st.hands.map((h) => (_jsxs("g", { children: [_jsx("circle", { cx: st.anchors[h.id].hand[0], cy: st.anchors[h.id].hand[1], r: 10 * u, fill: "none", stroke: "#7df9ff", strokeWidth: 2 * u }), _jsx("line", { x1: h.gripX - 14 * u, y1: h.gripY, x2: h.gripX + 14 * u, y2: h.gripY, stroke: "#ffe600", strokeWidth: 2.5 * u }), _jsx("line", { x1: h.gripX, y1: h.gripY - 14 * u, x2: h.gripX, y2: h.gripY + 14 * u, stroke: "#ffe600", strokeWidth: 2.5 * u }), _jsx("circle", { cx: h.x, cy: h.y, r: 6 * u, fill: "none", stroke: "#ffe600", strokeWidth: 2 * u }), label(h.gripX + 16 * u, h.gripY - 10 * u, [`HAND ${h.id.toUpperCase()} → ${h.panel}`, `paper.${h.id}GripAnchor (${(h.gripX / W).toFixed(3)}, ${(h.gripY / H).toFixed(3)})`, `${h.id}Hand.gripAnchor Δ ${Math.hypot(st.anchors[h.id].hand[0] - h.gripX, st.anchors[h.id].hand[1] - h.gripY).toFixed(1)} px`, `z body ${h.bodyZ} · finger ${h.fingerZ}`], '#ffe600')] }, h.id)))] }) }), _jsxs("svg", { width: W, height: H, style: { position: 'absolute', left: 0, top: 0 }, "aria-hidden": "true", children: [_jsx("rect", { x: 10 * u, y: 24 * u, width: 330 * u, height: 7 * fs * 1.2 + 16 * u, fill: "#000000", opacity: 0.6, rx: 6 * u }), label(20 * u, 24 * u + fs * 1.3, [
275
+ 'DEBUG',
276
+ `FRAME: ${st.frame.toFixed(1)} / ${st.timeline.end}`,
277
+ `SCENE: ${st.phase.label} ${(st.phase.progress * 100).toFixed(0)}%`,
278
+ ...st.folds.map((f) => `${f.id.toUpperCase()} FOLD ANGLE: ${f.angle.toFixed(1)}° (${f.phase})`),
279
+ `ANCHOR: ${st.anchor.toUpperCase()} PANEL · ZOOM ${st.camera.zoom.toFixed(3)}`,
280
+ `ORDER: ${[...st.panels].sort((a, c) => a.rank - c.rank).map((p) => p.id).join(' < ')} · ${st.strips.length} strips`,
281
+ ])] })] }));
282
+ }
283
+ //# sourceMappingURL=PaperFoldFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaperFoldFrame.js","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldFrame.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAwB,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,MAAM,EAAgB,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAA+E,MAAM,UAAU,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAA8D,MAAM,OAAO,CAAC;AA2BpH,MAAM,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAc,EAAE,EAAE,CAAC,cAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AACpG,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,MAAM,8DAA8D,CAAC;AAGvH,MAAM,IAAI,GAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAE/D,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,YAAY,GAAG,cAAc,EAAE,cAAc,GAAG,YAAY,EAAuB;IAC/J,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAW,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAW,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAY,CAAC;IACvD,MAAM,GAAG,GAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACjC,OAAO,CACL,wCACyB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,gBAC3C,EAAE,CAAC,KAAK,CAAC,KAAK,EAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,aAE1I,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,YACvF,KAAC,UAAU,IAAC,GAAG,EAAE,GAAG,GAAI,GACpB,EACL,CAAC,CAAC,0BAA0B,CAAC,IAAI,KAAC,KAAK,IAAC,GAAG,EAAE,GAAG,GAAI,EACrD,6BAAgB,OAAO,EAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,aAC/F,CAAC,CAAC,sBAAsB,CAAC,IAAI,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,GAAI,EACtD,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,SAAS,IAAe,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAvD,CAAC,CAAC,KAAK,CAAoD,CAAC,EACjG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,IAAI,IAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAApB,CAAC,CAAC,EAAE,CAAoB,CAAC,IAC9E,EACL,CAAC,CAAC,cAAc,CAAC,IAAI,KAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAC,cAAc,IAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,GAAI,EACrI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,KAAC,GAAG,IAAC,GAAG,EAAE,GAAG,GAAI,EACrE,KAAK,IAAI,KAAC,KAAK,IAAC,GAAG,EAAE,GAAG,GAAI,IACzB,CACP,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,UAAU,CAAC,EAAE,GAAG,EAAgB;IACvC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,2BAA2B,CAAwC,CAAC;IAClG,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,CAAC,CAAC,0BAA0B,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,sCAAsC,IAAI,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,2BAA2B,CAAC,QAAQ,IAAI,GAAG,CAAC;IAC/K,MAAM,EAAE,GAAG,iCAAiC,CAAC;IAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO,CACL,8BACG,CAAC,CAAC,6BAA6B,CAAC,IAAI,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAI,EACrF,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAC/C,4BAAgB,iBAAiB,EAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,YAC1J,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,cAEE,KAAK,EAAE;wBACL,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI;wBAC3F,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC;qBACjJ,YAEA,IAAI,IANA,CAAC,CAOF,CACP,CAAC,GACE,CACP,EACA,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAC/B,cACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK;oBACjK,UAAU,EAAE,2BAA2B,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,OAAO;oBACvJ,MAAM,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBAC/F,GACD,CACH,IACA,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAE,GAAG,EAAgB;IAClC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;IACjD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACpD,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAc,MAAM,aAC/H,kBAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,aACpD,uBAAc,IAAI,EAAC,cAAc,EAAC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAC,QAAQ,GAAG,EACnK,wBAAe,IAAI,EAAC,UAAU,EAAC,MAAM,EAAC,GAAG,GAAG,IACrC,EACT,eAAM,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAI,IAChD,CACP,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,WAAW,CAAC,EAAE,GAAG,EAAgB;IACxC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5H,OAAO,CACL,4BAAgB,cAAc,EAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,YAChP,cAAK,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAc,MAAM,YACzI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAiB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,IAAjG,CAAC,CAAoG,CAAC,GAC9I,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAA4C;IAC/E,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,CAAC,GAAG,cAAc,GAAG,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAgC,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjM,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;IACtC,MAAM,GAAG,GAAkB;QACzB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAwB;QACrI,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI;QACvG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM;KAC7I,CAAC;IACF,OAAO,CACL,2BACa,GAAG,CAAC,IAAI,cACT,GAAG,CAAC,KAAK,EACnB,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK;YACzF,eAAe,EAAE,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM;YAC9E,SAAS,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG;YACnG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACrB,YAEA,IAAI;YACH,CAAC,CAAC,eAAM,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,GAAG,GAAG,CAAC,QAAQ,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,YAAG,IAAI,GAAQ;YAC9O,CAAC,CAAC,IAAI,GACJ,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAA8B;IAC5C,GAAG,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC;CAChJ,CAAC;AACF,MAAM,SAAS,GAA2B;IACxC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,sBAAsB,EAAE,cAAc,EAAE,yBAAyB;IAChJ,UAAU,EAAE,qBAAqB,EAAE,cAAc,EAAE,yBAAyB,EAAE,UAAU,EAAE,qBAAqB,EAAE,SAAS,EAAE,oBAAoB;CACjJ,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAoF;IACrI,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IAChD,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,eAAe,CAAC;IAC5B,iGAAiG;IACjG,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrG,MAAM,IAAI,GAAG,CAAC,EAAW,EAAiB,EAAE;QAC1C,MAAM,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;QACjG,OAAO,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK;YACvF,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC,GAAG,GAAG,gBAAgB,CAAC,QAAQ,MAAM,KAAK,CAAC,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE;YACtO,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,CACL,6BAAiB,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,aAC3F,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,6BAA6B,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAChI,KAAC,UAAU,IAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAI,IADrF,CAAC,CAAC,EAAE,CAER,CACP,CAAC,EACD,UAAU,GAAG,CAAC,IAAI,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAI,EACzF,KAAK,GAAG,CAAC,IAAI,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAI,EAC/E,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1F,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC;oBAC7E,CAAC,CAAC,KAAC,aAAa,IAA0B,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,IAApM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAsL;oBAC9N,CAAC,CAAC,IAAI,CAAC;YACX,CAAC,CAAC,CAAC,EACH,KAAC,UAAU,IAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAI,EACrC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,YAAY,IAAY,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAxB,CAAC,CAAC,EAAE,CAAwB,CAAC,EACvF,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAY,GAAI,EAC9K,SAAS,GAAG,CAAC,IAAI,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAI,IACpF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,EAA6B;IAC1D,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IAC5B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,CACL,8BAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,YACvI,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,YAC1N,mCAAwB,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,YACtK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,WAAW,IAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAArD,CAAC,CAAC,IAAI,CAAmD,CAAC,GACzF,GACF,GACF,CACP,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,SAAS,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,EAA6B;IACzD,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,iBAAiB,CAAC;IAC5B,MAAM,GAAG,GAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7N,OAAO,CACL,8BAAkB,MAAM,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAC3I,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAI,GAC7D,CACP,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAiD;IACpF,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,MAAM,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,MAAM,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IACtD,OAAO,CACL,6BACc,KAAK,CAAC,KAAK,iBACV,KAAK,CAAC,MAAM,iBACZ,KAAK,CAAC,MAAM,eACd,KAAK,CAAC,IAAI,EACrB,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,aAExL,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YACpG,KAAC,UAAU,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,GAAI,GAClG,EACL,KAAK,CAAC,KAAK,GAAG,KAAK,IAAI,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,yEAAyE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,GAAI,EAC/J,IAAI,GAAG,GAAG,IAAI;YACb,yEAAyE;YACzE,8BACE,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,GAAI,EACxH,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE,GAAI,IACxH,CACJ,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAA6D;IACjG,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrI,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAC1D,4GAA4G;IAC5G,OAAO,CACL,eAAK,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAc,MAAM,aACxH,kBAAQ,EAAE,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,gBAAgB,aACjG,uBAAc,IAAI,EAAC,cAAc,EAAC,aAAa,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAI,EACtH,wBAAe,IAAI,EAAC,UAAU,EAAC,MAAM,EAAC,GAAG,GAAG,IACrC,EACT,kBAAQ,EAAE,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,gBAAgB,aACjG,uBAAc,IAAI,EAAC,cAAc,EAAC,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,GAAI,EAChH,wBAAe,IAAI,EAAC,UAAU,EAAC,MAAM,EAAC,GAAG,GAAG,IACrC,EACR,GAAG,GAAG,CAAC,IAAI,eAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAI,EACtH,KAAK,GAAG,CAAC,IAAI,eAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAI,IACvH,CACP,CAAC;AACJ,CAAC;AAED,wHAAwH;AACxH,SAAS,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAkE;IAC3G,0HAA0H;IAC1H,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,MAAc,EAAiB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5I,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9B,OAAO,CACL,8BAAkB,CAAC,CAAC,MAAM,eAAa,CAAC,CAAC,IAAI,aAC1C,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAClD,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,mBAAmB,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,GAAI,CACnQ,EACA,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,cAAK,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,mBAAmB,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,GAAI,EAClK,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,IAAI,CAC9B,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,GAAI,CACtP,EACA,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,CACzB,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,GAAI,CACvO,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAsC;IACnE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,CAAC,6BAA6B,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAChF,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,CACL,8BACE,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,GAAI,EACjG,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAI,EACjG,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,GAAI,EACjG,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAI,IAClG,CACJ,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,wGAAwG;AACxG,MAAM,UAAU,OAAO,CAAC,GAAoB,EAAE,CAAY;IACxD,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAW,CAAC;IACnD,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,qBAAqB,CAAY,EAAE,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACzL,OAAO,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AACD,wFAAwF;AACxF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAY,EAAE,EAAE,CAC5C,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC;AAE5J,SAAS,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAA8B;IAClD,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,aAAa,CAAC;IACxB,MAAM,OAAO,GAA6B;QACxC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;QACzF,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;KAC/F,CAAC;IACF,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,IAAc,EAAE,EAAa,EAAE,CAAS,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjN,OAAO,eAAc,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,KAAM,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAArM,CAAC,CAAwM,CAAC;IAC9N,CAAC,CAAC;IACF,kGAAkG;IAClG,6FAA6F;IAC7F,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAE,CAAC;IACtD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnG,MAAM,CAAC,GAAG,CACR,0BAAoC,CAAC,CAAC,IAAI,KAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aACtF,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EACxC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,4BAAgB,QAAQ,EAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,GAAI,KAFnL,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAGnB,CACL,CAAC;QACF,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,YAA0B,QAAQ,EAAE,QAAQ,MAAM,GAAG,YAAE,YAAG,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,YAAG,CAAC,GAAK,IAAtF,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAA0E,CAAC,CAAC,CAAC,YAA0B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,YAAG,CAAC,IAAjD,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAsC,CAAC;IAClM,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACrI,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;IACxC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IACtB,gEAAgE;IAChE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7O,OAAO,CACL,8BACE,4BAAgB,CAAC,CAAC,EAAE,gBAAa,MAAM,EAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,iBAAc,MAAM,aAChH,OAAO,IAAI,yBAAM,mBAAU,EAAE,EAAE,MAAM,EAAE,aAAa,EAAC,gBAAgB,YAAC,kBAAS,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,GAAW,GAAO,EAChK,KAAK,CAAC,QAAQ,CAAC,IACZ,EACN,2BAAgB,CAAC,CAAC,EAAE,gBAAa,QAAQ,EAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAc,MAAM,YAClI,KAAK,CAAC,OAAO,CAAC,GACX,IACL,CACJ,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAoF;IAC1G,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,CAAC,GAAG,iBAAiB,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClL,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9B,OAAO,CACL,4BACa,MAAM,EACjB,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,QAAQ;YACpL,SAAS,EAAE,gCAAgC,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG;SAC5F,YAEA,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAChI,8BACG,CAAC,CAAC,eAAe,CAAC,IAAI,CACrB,2BACY,WAAW,EACrB,KAAK,EAAE;wBACL,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ;wBACrI,UAAU,EAAE,2BAA2B,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC;wBACxH,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC;qBACpG,YAEA,CAAC,CAAC,eAAe,CAAC,GACf,CACP,EACA,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAC3B,4BACY,WAAW,EACrB,KAAK,EAAE;wBACL,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;wBACpK,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM;qBACtH,YAEA,CAAC,CAAC,cAAc,CAAC,GACb,CACR,IACA,CACJ,GACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,EAAE,GAAG,EAAgB;IAChC,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC;IACzB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,CAAC,GAAG,gBAAgB,CAAC;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnL,OAAO,CACL,4BACa,KAAK,EAChB,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ;YAC/G,SAAS,EAAE,gCAAgC,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG;YACzF,UAAU,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YAClJ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM;YACtH,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAwB,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG;YACxL,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SAC7I,YAED,eAAM,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAG,CAAC,CAAC,kBAAkB,CAAC,GAAQ,GACvE,CACP,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,SAAS,KAAK,CAAC,EAAE,GAAG,EAAgB;IAClC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IACnB,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;IACjD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,KAAe,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,CAAC,CAC3E,eAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAC,gCAAgC,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAC,QAAQ,YACnJ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAe,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,YAAG,CAAC,IAAvC,CAAC,CAA+C,CAAC,GAC7E,CACR,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAU,CAAC;IAC9H,gHAAgH;IAChH,OAAO,CACL,6BAAgB,OAAO,EAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAC7E,cAAK,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,iBAAc,MAAM,YAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5D,aAAW,OAAO,EAAE,IAAI,aACtB,eAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAI,EACnH,eAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAI,EAClH,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EACvD,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAJjD,CAAC,CAKL,CACL,CAAC,GACE,EACN,cAAK,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAc,MAAM,YACzK,wBACG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACnB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;4BACnC,OAAO,CACL,wBACE,kBAAS,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAI,EACjM,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAFjI,CAAC,CAAC,EAAE,CAGR,CACL,CAAC;wBACJ,CAAC,CAAC,EACD,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;4BAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;4BACrE,OAAO,CACL,wBACE,eAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAI,EACrG,iBAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,GAAG,GAAG,CAAC,GAAI,EACzF,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAHhN,CAAC,CAAC,EAAE,CAIR,CACL,CAAC;wBACJ,CAAC,CAAC,EAEF,kBACE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACxL,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GACrF,EACD,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAuB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,IAAhG,CAAC,CAAC,KAAK,CAA6F,CAAC,EACrL,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BAClB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;4BAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;4BAChC,OAAO,CACL,YAA0B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,YAClD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9C,wBACE,mBAAU,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAI,EACrH,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAtE,CAAC,CAAyE,CAAC,KAFzG,IAAI,CAGR,CACL,CAAC,IANI,UAAU,CAAC,CAAC,EAAE,EAAE,CAOpB,CACL,CAAC;wBACJ,CAAC,CAAC,EACD,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,wBACE,iBAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAI,EAClI,eAAM,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,GAAG,GAAG,CAAC,GAAI,EACrH,eAAM,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,GAAG,GAAG,CAAC,GAAI,EACrH,iBAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAI,EACtF,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,qBAAqB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAL7V,CAAC,CAAC,EAAE,CAMR,CACL,CAAC,IACA,GACA,EACN,eAAK,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,iBAAc,MAAM,aAC5F,eAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAI,EACpH,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;wBAChC,OAAO;wBACP,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE;wBACpD,UAAU,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;wBACnE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC;wBAC/F,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC9E,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,SAAS;qBACrH,CAAC,IACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type ConfigError } from './config';
2
+ import { type PaperFoldFrameProps } from './PaperFoldFrame';
3
+ export type PaperFoldPlayerProps = {
4
+ /** The canonical config (any subset; defaults fill the rest). Validated before anything is drawn. */
5
+ config: unknown;
6
+ autoPlay?: boolean;
7
+ /** Replay from the start when the timeline ends (default true). */
8
+ loop?: boolean;
9
+ /** Rendered width in CSS px; the height follows the config's aspect ratio. Defaults to 360. */
10
+ width?: number;
11
+ /** Seek to this authored motion frame and hold (scrubbing). */
12
+ frame?: number;
13
+ /** Development overlay: creases, panels, pivots, angles, anchors, frame. */
14
+ debug?: boolean;
15
+ onFrame?: (frame: number) => void;
16
+ onInvalid?: (errors: ConfigError[]) => void;
17
+ resolveAsset?: PaperFoldFrameProps['resolveAsset'];
18
+ className?: string;
19
+ };
20
+ /**
21
+ * **paper-fold-promo in a React web app.** Validates the config, then draws each frame with the
22
+ * package's procedural renderer at the player's own size (vector, never a scaled bitmap). A rAF clock
23
+ * turns time into authored motion frames (× motion.speed); the engine does the rest. The drawing is
24
+ * `aria-hidden` inside a `role="img"` box labelled with the copy. Reduced motion shows the final frame.
25
+ */
26
+ export declare function PaperFoldPlayer({ config, autoPlay, loop, width, frame, debug, onFrame, onInvalid, resolveAsset, className }: PaperFoldPlayerProps): import("react").JSX.Element;
27
+ //# sourceMappingURL=PaperFoldPlayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaperFoldPlayer.d.ts","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldPlayer.tsx"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,WAAW,EAAwB,MAAM,UAAU,CAAC;AAG3F,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,qGAAqG;IACrG,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAe,EAAE,IAAW,EAAE,KAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BA+CrK"}
@@ -0,0 +1,56 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useMemo, useRef, useState } from 'react';
4
+ import { getPath, validateConfig } from './config';
5
+ import { MOTION_FPS, timeline } from './engine';
6
+ import { installPaperFoldFonts } from './fonts';
7
+ import { PaperFoldFrame } from './PaperFoldFrame';
8
+ const RATIO = { '9:16': 9 / 16, '16:9': 16 / 9, '1:1': 1 };
9
+ /**
10
+ * **paper-fold-promo in a React web app.** Validates the config, then draws each frame with the
11
+ * package's procedural renderer at the player's own size (vector, never a scaled bitmap). A rAF clock
12
+ * turns time into authored motion frames (× motion.speed); the engine does the rest. The drawing is
13
+ * `aria-hidden` inside a `role="img"` box labelled with the copy. Reduced motion shows the final frame.
14
+ */
15
+ export function PaperFoldPlayer({ config, autoPlay = true, loop = true, width = 360, frame, debug, onFrame, onInvalid, resolveAsset, className }) {
16
+ const key = JSON.stringify(config ?? {});
17
+ const checked = useMemo(() => validateConfig(JSON.parse(key)), [key]);
18
+ const cfg = checked.config;
19
+ const [now, setNow] = useState(0);
20
+ const cb = useRef({ onFrame, onInvalid });
21
+ cb.current = { onFrame, onInvalid };
22
+ const aspect = cfg ? String(getPath(cfg, 'canvas.aspectRatio')) : '9:16';
23
+ const height = Math.round(width / (RATIO[aspect] ?? 9 / 16));
24
+ useEffect(() => installPaperFoldFonts(), []);
25
+ useEffect(() => { if (!checked.valid)
26
+ cb.current.onInvalid?.(checked.errors); }, [checked]);
27
+ useEffect(() => {
28
+ if (!cfg)
29
+ return;
30
+ const total = timeline(cfg).end;
31
+ const speed = getPath(cfg, 'motion.speed');
32
+ const reduced = typeof window !== 'undefined' && window.matchMedia?.('(prefers-reduced-motion: reduce)').matches;
33
+ if (frame !== undefined || !autoPlay || reduced) {
34
+ setNow(frame ?? (reduced ? total - 1 : 0));
35
+ return;
36
+ }
37
+ let raf = 0;
38
+ const start = performance.now();
39
+ const tick = (t) => {
40
+ const m = ((t - start) / 1000) * MOTION_FPS * speed;
41
+ const f = loop ? m % total : Math.min(m, total - 1);
42
+ setNow(f);
43
+ cb.current.onFrame?.(f);
44
+ if (loop || m < total)
45
+ raf = requestAnimationFrame(tick);
46
+ };
47
+ raf = requestAnimationFrame(tick);
48
+ return () => cancelAnimationFrame(raf);
49
+ }, [cfg, frame, autoPlay, loop]);
50
+ if (!checked.valid) {
51
+ return (_jsxs("div", { role: "alert", className: className, style: { width, padding: 12, font: '13px/1.4 system-ui', border: '1px solid currentColor' }, children: [_jsx("strong", { children: "This paper-fold configuration is not valid." }), _jsx("ul", { children: checked.errors.slice(0, 8).map((e) => _jsx("li", { children: e.message }, e.path + e.message)) })] }));
52
+ }
53
+ const label = [getPath(cfg, 'content.logo'), getPath(cfg, 'content.top.headline'), getPath(cfg, 'content.middle.headline'), getPath(cfg, 'content.bottom.body'), getPath(cfg, 'content.cta.text')].filter(Boolean).join(' — ');
54
+ return (_jsx("div", { role: "img", "aria-label": label, className: className, style: { width, height, position: 'relative', overflow: 'hidden' }, children: _jsx("div", { "aria-hidden": "true", children: _jsx(PaperFoldFrame, { config: cfg, frame: now, width: width, height: height, debug: debug, resolveAsset: resolveAsset }) }) }));
55
+ }
56
+ //# sourceMappingURL=PaperFoldPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaperFoldPlayer.js","sourceRoot":"","sources":["../../../../src/motion/paperfold/PaperFoldPlayer.tsx"],"names":[],"mappings":"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"}