@elaraai/e3-ui-cli 1.0.72 → 1.0.74

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 (220) hide show
  1. package/README.md +46 -21
  2. package/bin/e3-ui.mjs +6 -0
  3. package/dist/app/assets/{engine-BKZbmXkC-DmcCFcnb.js → engine-Bm-cIDd_-DwUdGcTZ.js} +1 -1
  4. package/dist/app/assets/{index-BJNWHnRv.js → index-mj-YVVN1.js} +91 -91
  5. package/dist/app/index.html +1 -1
  6. package/dist/cli.js +36 -5
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/tui.d.ts +84 -0
  9. package/dist/commands/tui.d.ts.map +1 -0
  10. package/dist/commands/tui.js +89 -0
  11. package/dist/commands/tui.js.map +1 -0
  12. package/dist/tui/api.d.ts +108 -0
  13. package/dist/tui/api.d.ts.map +1 -0
  14. package/dist/tui/api.js +130 -0
  15. package/dist/tui/api.js.map +1 -0
  16. package/dist/tui/app.d.ts +23 -0
  17. package/dist/tui/app.d.ts.map +1 -0
  18. package/dist/tui/app.js +244 -0
  19. package/dist/tui/app.js.map +1 -0
  20. package/dist/tui/controller.d.ts +116 -0
  21. package/dist/tui/controller.d.ts.map +1 -0
  22. package/dist/tui/controller.js +644 -0
  23. package/dist/tui/controller.js.map +1 -0
  24. package/dist/tui/data/dataflow.d.ts +68 -0
  25. package/dist/tui/data/dataflow.d.ts.map +1 -0
  26. package/dist/tui/data/dataflow.js +137 -0
  27. package/dist/tui/data/dataflow.js.map +1 -0
  28. package/dist/tui/data/dataset.d.ts +80 -0
  29. package/dist/tui/data/dataset.d.ts.map +1 -0
  30. package/dist/tui/data/dataset.js +297 -0
  31. package/dist/tui/data/dataset.js.map +1 -0
  32. package/dist/tui/data/edit-buffer.d.ts +74 -0
  33. package/dist/tui/data/edit-buffer.d.ts.map +1 -0
  34. package/dist/tui/data/edit-buffer.js +120 -0
  35. package/dist/tui/data/edit-buffer.js.map +1 -0
  36. package/dist/tui/data/feeds.d.ts +45 -0
  37. package/dist/tui/data/feeds.d.ts.map +1 -0
  38. package/dist/tui/data/feeds.js +318 -0
  39. package/dist/tui/data/feeds.js.map +1 -0
  40. package/dist/tui/data/logs.d.ts +68 -0
  41. package/dist/tui/data/logs.d.ts.map +1 -0
  42. package/dist/tui/data/logs.js +134 -0
  43. package/dist/tui/data/logs.js.map +1 -0
  44. package/dist/tui/input/commands.d.ts +159 -0
  45. package/dist/tui/input/commands.d.ts.map +1 -0
  46. package/dist/tui/input/commands.js +259 -0
  47. package/dist/tui/input/commands.js.map +1 -0
  48. package/dist/tui/input/completion.d.ts +63 -0
  49. package/dist/tui/input/completion.d.ts.map +1 -0
  50. package/dist/tui/input/completion.js +128 -0
  51. package/dist/tui/input/completion.js.map +1 -0
  52. package/dist/tui/input/keymap.d.ts +153 -0
  53. package/dist/tui/input/keymap.d.ts.map +1 -0
  54. package/dist/tui/input/keymap.js +206 -0
  55. package/dist/tui/input/keymap.js.map +1 -0
  56. package/dist/tui/input/mouse.d.ts +52 -0
  57. package/dist/tui/input/mouse.d.ts.map +1 -0
  58. package/dist/tui/input/mouse.js +55 -0
  59. package/dist/tui/input/mouse.js.map +1 -0
  60. package/dist/tui/lifecycle.d.ts +61 -0
  61. package/dist/tui/lifecycle.d.ts.map +1 -0
  62. package/dist/tui/lifecycle.js +99 -0
  63. package/dist/tui/lifecycle.js.map +1 -0
  64. package/dist/tui/model/catalogue.d.ts +28 -0
  65. package/dist/tui/model/catalogue.d.ts.map +1 -0
  66. package/dist/tui/model/catalogue.js +94 -0
  67. package/dist/tui/model/catalogue.js.map +1 -0
  68. package/dist/tui/model/help.d.ts +37 -0
  69. package/dist/tui/model/help.d.ts.map +1 -0
  70. package/dist/tui/model/help.js +210 -0
  71. package/dist/tui/model/help.js.map +1 -0
  72. package/dist/tui/model/index.d.ts +42 -0
  73. package/dist/tui/model/index.d.ts.map +1 -0
  74. package/dist/tui/model/index.js +50 -0
  75. package/dist/tui/model/index.js.map +1 -0
  76. package/dist/tui/model/status.d.ts +88 -0
  77. package/dist/tui/model/status.d.ts.map +1 -0
  78. package/dist/tui/model/status.js +137 -0
  79. package/dist/tui/model/status.js.map +1 -0
  80. package/dist/tui/model/tree.d.ts +126 -0
  81. package/dist/tui/model/tree.d.ts.map +1 -0
  82. package/dist/tui/model/tree.js +217 -0
  83. package/dist/tui/model/tree.js.map +1 -0
  84. package/dist/tui/model/types.d.ts +21 -0
  85. package/dist/tui/model/types.d.ts.map +1 -0
  86. package/dist/tui/model/types.js +46 -0
  87. package/dist/tui/model/types.js.map +1 -0
  88. package/dist/tui/render/glyphs.d.ts +122 -0
  89. package/dist/tui/render/glyphs.d.ts.map +1 -0
  90. package/dist/tui/render/glyphs.js +122 -0
  91. package/dist/tui/render/glyphs.js.map +1 -0
  92. package/dist/tui/render/layout.d.ts +145 -0
  93. package/dist/tui/render/layout.d.ts.map +1 -0
  94. package/dist/tui/render/layout.js +209 -0
  95. package/dist/tui/render/layout.js.map +1 -0
  96. package/dist/tui/render/text.d.ts +153 -0
  97. package/dist/tui/render/text.d.ts.map +1 -0
  98. package/dist/tui/render/text.js +320 -0
  99. package/dist/tui/render/text.js.map +1 -0
  100. package/dist/tui/render/theme.d.ts +88 -0
  101. package/dist/tui/render/theme.d.ts.map +1 -0
  102. package/dist/tui/render/theme.js +145 -0
  103. package/dist/tui/render/theme.js.map +1 -0
  104. package/dist/tui/session.d.ts +78 -0
  105. package/dist/tui/session.d.ts.map +1 -0
  106. package/dist/tui/session.js +237 -0
  107. package/dist/tui/session.js.map +1 -0
  108. package/dist/tui/state/actions.d.ts +584 -0
  109. package/dist/tui/state/actions.d.ts.map +1 -0
  110. package/dist/tui/state/actions.js +62 -0
  111. package/dist/tui/state/actions.js.map +1 -0
  112. package/dist/tui/state/persist.d.ts +114 -0
  113. package/dist/tui/state/persist.d.ts.map +1 -0
  114. package/dist/tui/state/persist.js +187 -0
  115. package/dist/tui/state/persist.js.map +1 -0
  116. package/dist/tui/state/poll.d.ts +99 -0
  117. package/dist/tui/state/poll.d.ts.map +1 -0
  118. package/dist/tui/state/poll.js +160 -0
  119. package/dist/tui/state/poll.js.map +1 -0
  120. package/dist/tui/state/reducer.d.ts +16 -0
  121. package/dist/tui/state/reducer.d.ts.map +1 -0
  122. package/dist/tui/state/reducer.js +363 -0
  123. package/dist/tui/state/reducer.js.map +1 -0
  124. package/dist/tui/state/store.d.ts +37 -0
  125. package/dist/tui/state/store.d.ts.map +1 -0
  126. package/dist/tui/state/store.js +84 -0
  127. package/dist/tui/state/store.js.map +1 -0
  128. package/dist/tui/suspend.d.ts +17 -0
  129. package/dist/tui/suspend.d.ts.map +1 -0
  130. package/dist/tui/suspend.js +33 -0
  131. package/dist/tui/suspend.js.map +1 -0
  132. package/dist/tui/ui/App.d.ts +44 -0
  133. package/dist/tui/ui/App.d.ts.map +1 -0
  134. package/dist/tui/ui/App.js +105 -0
  135. package/dist/tui/ui/App.js.map +1 -0
  136. package/dist/tui/ui/frame.d.ts +86 -0
  137. package/dist/tui/ui/frame.d.ts.map +1 -0
  138. package/dist/tui/ui/frame.js +42 -0
  139. package/dist/tui/ui/frame.js.map +1 -0
  140. package/dist/tui/ui/lines.d.ts +92 -0
  141. package/dist/tui/ui/lines.d.ts.map +1 -0
  142. package/dist/tui/ui/lines.js +94 -0
  143. package/dist/tui/ui/lines.js.map +1 -0
  144. package/dist/tui/ui/shell/chrome.d.ts +61 -0
  145. package/dist/tui/ui/shell/chrome.d.ts.map +1 -0
  146. package/dist/tui/ui/shell/chrome.js +272 -0
  147. package/dist/tui/ui/shell/chrome.js.map +1 -0
  148. package/dist/tui/ui/shell/widgets.d.ts +116 -0
  149. package/dist/tui/ui/shell/widgets.d.ts.map +1 -0
  150. package/dist/tui/ui/shell/widgets.js +183 -0
  151. package/dist/tui/ui/shell/widgets.js.map +1 -0
  152. package/dist/tui/ui/views/about.d.ts +20 -0
  153. package/dist/tui/ui/views/about.d.ts.map +1 -0
  154. package/dist/tui/ui/views/about.js +40 -0
  155. package/dist/tui/ui/views/about.js.map +1 -0
  156. package/dist/tui/ui/views/all.d.ts +17 -0
  157. package/dist/tui/ui/views/all.d.ts.map +1 -0
  158. package/dist/tui/ui/views/all.js +17 -0
  159. package/dist/tui/ui/views/all.js.map +1 -0
  160. package/dist/tui/ui/views/dashboard.d.ts +211 -0
  161. package/dist/tui/ui/views/dashboard.d.ts.map +1 -0
  162. package/dist/tui/ui/views/dashboard.js +651 -0
  163. package/dist/tui/ui/views/dashboard.js.map +1 -0
  164. package/dist/tui/ui/views/help.d.ts +17 -0
  165. package/dist/tui/ui/views/help.d.ts.map +1 -0
  166. package/dist/tui/ui/views/help.js +65 -0
  167. package/dist/tui/ui/views/help.js.map +1 -0
  168. package/dist/tui/ui/views/index.d.ts +42 -0
  169. package/dist/tui/ui/views/index.d.ts.map +1 -0
  170. package/dist/tui/ui/views/index.js +42 -0
  171. package/dist/tui/ui/views/index.js.map +1 -0
  172. package/dist/tui/ui/views/input.d.ts +6 -0
  173. package/dist/tui/ui/views/input.d.ts.map +1 -0
  174. package/dist/tui/ui/views/input.js +494 -0
  175. package/dist/tui/ui/views/input.js.map +1 -0
  176. package/dist/tui/ui/views/launch.d.ts +16 -0
  177. package/dist/tui/ui/views/launch.d.ts.map +1 -0
  178. package/dist/tui/ui/views/launch.js +43 -0
  179. package/dist/tui/ui/views/launch.js.map +1 -0
  180. package/dist/tui/ui/views/refusal.d.ts +20 -0
  181. package/dist/tui/ui/views/refusal.d.ts.map +1 -0
  182. package/dist/tui/ui/views/refusal.js +47 -0
  183. package/dist/tui/ui/views/refusal.js.map +1 -0
  184. package/dist/tui/ui/views/repos.d.ts +10 -0
  185. package/dist/tui/ui/views/repos.d.ts.map +1 -0
  186. package/dist/tui/ui/views/repos.js +93 -0
  187. package/dist/tui/ui/views/repos.js.map +1 -0
  188. package/dist/tui/ui/views/task.d.ts +17 -0
  189. package/dist/tui/ui/views/task.d.ts.map +1 -0
  190. package/dist/tui/ui/views/task.js +309 -0
  191. package/dist/tui/ui/views/task.js.map +1 -0
  192. package/dist/tui/ui/views/wordmark.d.ts +15 -0
  193. package/dist/tui/ui/views/wordmark.d.ts.map +1 -0
  194. package/dist/tui/ui/views/wordmark.js +50 -0
  195. package/dist/tui/ui/views/wordmark.js.map +1 -0
  196. package/dist/tui/ui/views/workspaces.d.ts +17 -0
  197. package/dist/tui/ui/views/workspaces.d.ts.map +1 -0
  198. package/dist/tui/ui/views/workspaces.js +127 -0
  199. package/dist/tui/ui/views/workspaces.js.map +1 -0
  200. package/dist/tui/ui/widgets/leaf-editor.d.ts +58 -0
  201. package/dist/tui/ui/widgets/leaf-editor.d.ts.map +1 -0
  202. package/dist/tui/ui/widgets/leaf-editor.js +119 -0
  203. package/dist/tui/ui/widgets/leaf-editor.js.map +1 -0
  204. package/dist/tui/ui/widgets/logs.d.ts +99 -0
  205. package/dist/tui/ui/widgets/logs.d.ts.map +1 -0
  206. package/dist/tui/ui/widgets/logs.js +291 -0
  207. package/dist/tui/ui/widgets/logs.js.map +1 -0
  208. package/dist/tui/ui/widgets/reads.d.ts +62 -0
  209. package/dist/tui/ui/widgets/reads.d.ts.map +1 -0
  210. package/dist/tui/ui/widgets/reads.js +122 -0
  211. package/dist/tui/ui/widgets/reads.js.map +1 -0
  212. package/dist/tui/ui/widgets/runs.d.ts +51 -0
  213. package/dist/tui/ui/widgets/runs.d.ts.map +1 -0
  214. package/dist/tui/ui/widgets/runs.js +86 -0
  215. package/dist/tui/ui/widgets/runs.js.map +1 -0
  216. package/dist/tui/ui/widgets/tree.d.ts +149 -0
  217. package/dist/tui/ui/widgets/tree.d.ts.map +1 -0
  218. package/dist/tui/ui/widgets/tree.js +584 -0
  219. package/dist/tui/ui/widgets/tree.js.map +1 -0
  220. package/package.json +22 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/tui/controller.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,EAAE,aAAa,EAAY,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAuD,MAAM,oBAAoB,CAAC;AACpI,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAyCnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAoB;IAChE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC;AAsCD,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,kDAAkD;AAClD,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACjD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,MAAM,GAA8B,IAAI,CAAC;IAE7C,MAAM,KAAK,GAAG,GAAa,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,GAAkB,EAAE;QAClC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC;QAChC,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;QAC7G,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAQ,EAAE;QAClC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QACtD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;YAC1G,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvH,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,UAAU,GAAe;QAC3B,IAAI;QACJ,QAAQ;QACR,KAAK;QACL,SAAS;QACT,KAAK,CAAC,KAAK,EAAE,GAAG;YACZ,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,qEAAqE;gBACrE,IAAI,KAAK,EAAE,CAAC,KAAK;oBAAE,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;wBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO;YACX,CAAC;YACD,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,GAAG,GAAe;gBACpB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;gBAC3B,WAAW,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;gBACrD,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM;oBACnF,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;wBACvF,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM;4BAC7B,CAAC,CAAC,MAAM;gBACZ,QAAQ,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO;gBAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvG,UAAU,EAAE,CAAC,CAAC,UAAU;aAC3B,CAAC;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO;YAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI;gBAAE,OAAO;YAC7D,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACjB,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBACpC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3E,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,UAAU,CAAC,KAAK,CAAC,gBAAgB,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;oBACpD,OAAO;gBACX,CAAC;gBACD,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvC,OAAO;YACX,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACb,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO;YACX,CAAC;YACD,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC;gBACD,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,WAAW,OAAO,YAAY,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7D,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK;YAC3B,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;YACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7H,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7E,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,CAAC;QACD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK;YACvB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,QAAQ;YAC7B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtD,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpC,OAAO;YACX,CAAC;YACD,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAChH,WAAW,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC;QACzD,CAAC;QACD,SAAS,CAAC,EAAE,EAAE,IAAI;YACd,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC;YACvB,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAC5G,WAAW,CAAC,UAAU,EAAE,EAAE,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,aAAa,CAAC,EAAE;YACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3F,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI;YACA,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBACpC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,KAAK;YACN,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAClC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,KAAK,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;gBACpJ,OAAO;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,IAAI;YACR,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC;YAC7B,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,YAAY,CAAC,MAAM;YACf,MAAM,GAAG,MAAM,CAAC;YAChB,KAAK,MAAM,CAAC;QAChB,CAAC;QACD,gBAAgB;YACZ,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC;KACJ,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE;QACvC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAiB,EAAE,CAAW,EAAE,SAAgC,EAAQ,EAAE;QAC5F,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO;YAC5C,KAAK,MAAM;gBAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAAC,OAAO;YAC/F,KAAK,MAAM;gBAAE,UAAU,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YACvC,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO;YAC7C,KAAK,MAAM;gBAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO;YAC9C,KAAK,SAAS;gBAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO;YACjD,KAAK,SAAS;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC1E,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;oBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;;oBAClF,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3D,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,MAAM;oBAAE,KAAK,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjE,OAAO;YACX,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACT,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC,CAAC;gBACtF,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;gBACzG,CAAC;gBACD,OAAO;YACX,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChF,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC/D,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnD,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAE,EAAE,CAAC,CAAC;gBACzG,CAAC;gBACD,OAAO;YACX,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;oBAC1F,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM;wBAAE,OAAO;oBACvD,OAAO,KAAK,CAAC,CAAC;gBAClB,CAAC;gBACD,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI;oBAAE,OAAO;gBAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3B,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3F,OAAO;YACX,CAAC;YACD,KAAK,MAAM;gBAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAAC,OAAO;YACtD,KAAK,QAAQ,CAAC;YAAC,KAAK,UAAU,CAAC;YAAC,KAAK,QAAQ,CAAC;YAAC,KAAK,cAAc,CAAC;YAAC,KAAK,MAAM,CAAC;YAAC,KAAK,MAAM,CAAC;YAAC,KAAK,MAAM;gBACrG,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBACzC,OAAO;YACX,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;oBAAE,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3F,OAAO;YACX,CAAC;YACD,gEAAgE;YAChE,KAAK,UAAU;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAAC,OAAO;YAChH,KAAK,eAAe,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChF,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACxC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,KAAK,YAAY;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAAC,OAAO;YAC/F,KAAK,UAAU;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC1E,KAAK,WAAW;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC5E,KAAK,UAAU;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC1E,KAAK,SAAS;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAAC,OAAO;YACxE,KAAK,QAAQ;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC/E,KAAK,UAAU;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO;YAChF,KAAK,YAAY;gBAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBAAC,OAAO;YAC/D,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxC,MAAM,IAAI,GAAG,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtD,UAAU,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC7D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;oBACpC,KAAK,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjC,OAAO;gBACX,CAAC;gBACD,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;gBACxC,MAAM,IAAI,GAAG,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjD,+EAA+E;gBAC/E,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjJ,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrC,OAAO;gBACX,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC3G,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC5C,sEAAsE;oBACtE,IAAI,MAAM,CAAC,EAAE,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC5E,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACrC,OAAO;oBACX,CAAC;gBACL,CAAC;gBACD,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,OAAO;YACX,CAAC;YACD;gBACI,OAAO;QACf,CAAC;IACL,CAAC,CAAC;IAEF,sEAAsE;IACtE,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,mEAAmE;IACnE,MAAM,OAAO,GAAG,CAAC,CAAW,EAAU,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/F,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3G,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1C,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAE,EAAuC,EAAQ,EAAE;QAC5E,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI;YAAE,OAAO;QACzE,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC;IAEF,uEAAuE;IACvE,uEAAuE;IACvE,uBAAuB;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAA4B,IAAI,CAAC;IAC/C,MAAM,UAAU,GAAG,GAAS,EAAE;QAC1B,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,cAAc,CAAC,UAAU,CAAC,CAAC;YAC3B,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,SAAS,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,KAAK,CAAC;YAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAY,EAAQ,EAAE;QACjC,SAAS,IAAI,IAAI,CAAC;QAClB,IAAI,UAAU,KAAK,IAAI;YAAE,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAQ,EAAE;QACxC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9D,0DAA0D;QAC1D,UAAU,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAAC,QAAQ,GAAG,KAAK,CAAC;YAAC,OAAO;QAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,OAAO;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9I,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI;YAAE,OAAO;QACtE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3B,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnG,OAAO;YACX,CAAC;YACD,KAAK,KAAK;gBAAE,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;gBAAC,OAAO;YACrF,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI;wBAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;;wBACnH,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBAC7G,CAAC;qBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;oBACvB,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;wBAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO;YACX,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;oBAAE,WAAW,CAAC,OAAO,CAAC,CAAC;qBAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;oBAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;;oBACnD,KAAK,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO;YACX,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,IAAI,KAAK,SAAS;oBAAE,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7D,OAAO;YACX,CAAC;YACD;gBACI,OAAO;QACf,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAW,EAAU,EAAE;QAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,CAAC,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClG,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,EAAE,EAAE,IAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/J,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,qFAAqF;IACrF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjH,MAAM,UAAU,GAAG,KAAK,EAAE,OAAsB,EAAE,IAAY,EAAiB,EAAE;QAC7E,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnE,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,KAAK,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtR,OAAO;QACX,CAAC;QACD,IAAI,SAAS,EAAE,OAAO,KAAK,SAAS,IAAI,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC;YAAE,OAAO;QAChG,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChF,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO;YACX,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChF,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO;YACX,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChF,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,KAAK,KAAK,IAAI;oBAAE,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;qBACnD,IAAI,IAAI,KAAK,IAAI;oBAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;;oBACrD,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,mCAAmC,EAAE,MAAM,CAAC,CAAC;gBAC1E,OAAO;YACX,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBAChC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChE,UAAU,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;oBAC3D,OAAO;gBACX,CAAC;gBACD,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO;YACX,CAAC;YACD,KAAK,YAAY;gBAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBAAC,OAAO;YAC/H,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,2CAA2C,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAClH,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBAC1F,OAAO;YACX,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,KAAK,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,0BAA0B,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;oBACzM,OAAO;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtC,OAAO;YACX,CAAC;YACD,KAAK,OAAO;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAAC,OAAO;YACpD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAClF,MAAM,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACrH,OAAO;YACX,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAClF,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAClC,OAAO;YACX,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChF,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;gBAClE,OAAO;YACX,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAChF,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC9C,OAAO;YACX,CAAC;YACD,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAAC,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;gBAAC,OAAO;YACjG,KAAK,MAAM;gBAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAAC,OAAO;YAC/F,KAAK,OAAO;gBAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;gBAAC,OAAO;YACnE,KAAK,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO;YACpD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3C,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;oBAAE,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvE,OAAO;YACX,CAAC;YACD;gBACI,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAC/D,OAAO;QACf,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,UAAU,CAAC;AACtB,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import type { Controller } from '../controller.js';
6
+ import type { Glyphs } from '../render/glyphs.js';
7
+ import type { TuiState } from '../state/actions.js';
8
+ /** A workspace lock's holder, as the status / the locked error report it. */
9
+ export interface LockHolder {
10
+ pid: bigint;
11
+ acquiredAt: string;
12
+ command: {
13
+ type: 'some';
14
+ value: string;
15
+ } | {
16
+ type: 'none';
17
+ value: null;
18
+ };
19
+ }
20
+ /**
21
+ * Whether a run is live in a workspace: running, launched and not yet seen
22
+ * running (settling), or cancelled and not yet seen stopped (stopping).
23
+ *
24
+ * @param state - The store state
25
+ * @param ws - The workspace
26
+ * @returns `true` while live
27
+ */
28
+ export declare function isRunLive(state: TuiState, ws: string): boolean;
29
+ /**
30
+ * The lock holder line: `pid 4242 · e3 dataflow run · 12s ago`.
31
+ *
32
+ * @param holder - The holder
33
+ * @param now - Epoch milliseconds
34
+ * @param g - The glyph set
35
+ * @returns The text
36
+ */
37
+ export declare function lockHolderText(holder: LockHolder, now: number, g: Glyphs): string;
38
+ /**
39
+ * The toast for a failed launch: the lock holder for `workspace_locked`,
40
+ * else the formatted error.
41
+ *
42
+ * @param err - The error
43
+ * @param ws - The workspace
44
+ * @param now - Epoch milliseconds
45
+ * @param g - The glyph set
46
+ * @returns The toast text
47
+ */
48
+ export declare function launchFailureText(err: unknown, ws: string, now: number, g: Glyphs): string;
49
+ /**
50
+ * Starts the dataflow in a workspace.
51
+ *
52
+ * @param controller - The controller
53
+ * @param ws - The workspace
54
+ * @param options - `--force`, `--filter`, `--concurrency`
55
+ */
56
+ export declare function startRun(controller: Controller, ws: string, options: {
57
+ force: boolean;
58
+ filter: string | undefined;
59
+ concurrency: number | undefined;
60
+ }): Promise<void>;
61
+ /**
62
+ * Cancels the dataflow running in a workspace.
63
+ *
64
+ * @param controller - The controller
65
+ * @param ws - The workspace
66
+ */
67
+ export declare function cancelRun(controller: Controller, ws: string): Promise<void>;
68
+ //# sourceMappingURL=dataflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../../src/tui/data/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,CAAC;CAC5E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGjF;AAUD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ1F;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B1K;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjF"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { apiCode, describeError } from '../api.js';
6
+ import { timeAgo } from '../render/text.js';
7
+ /**
8
+ * Whether a run is live in a workspace: running, launched and not yet seen
9
+ * running (settling), or cancelled and not yet seen stopped (stopping).
10
+ *
11
+ * @param state - The store state
12
+ * @param ws - The workspace
13
+ * @returns `true` while live
14
+ */
15
+ export function isRunLive(state, ws) {
16
+ const execution = state.data.execution[ws];
17
+ return execution !== undefined && (execution.state?.status.type === 'running' || execution.settling || execution.stopping);
18
+ }
19
+ /**
20
+ * The lock holder line: `pid 4242 · e3 dataflow run · 12s ago`.
21
+ *
22
+ * @param holder - The holder
23
+ * @param now - Epoch milliseconds
24
+ * @param g - The glyph set
25
+ * @returns The text
26
+ */
27
+ export function lockHolderText(holder, now, g) {
28
+ const command = holder.command.type === 'some' ? holder.command.value : 'another process';
29
+ return `pid ${holder.pid} ${g.sep} ${command} ${g.sep} ${timeAgo(holder.acquiredAt, now)}`;
30
+ }
31
+ /** The message of an error's details (`{ message }` or a string). */
32
+ function detailMessage(err) {
33
+ const details = err.details;
34
+ if (typeof details === 'string')
35
+ return details;
36
+ if (typeof details === 'object' && details !== null && typeof details.message === 'string')
37
+ return details.message;
38
+ return '';
39
+ }
40
+ /**
41
+ * The toast for a failed launch: the lock holder for `workspace_locked`,
42
+ * else the formatted error.
43
+ *
44
+ * @param err - The error
45
+ * @param ws - The workspace
46
+ * @param now - Epoch milliseconds
47
+ * @param g - The glyph set
48
+ * @returns The toast text
49
+ */
50
+ export function launchFailureText(err, ws, now, g) {
51
+ if (apiCode(err) === 'workspace_locked') {
52
+ const details = err.details;
53
+ const holder = details?.holder;
54
+ if (holder !== undefined && holder.type === 'known' && holder.value !== null)
55
+ return `workspace ${ws} is locked by ${lockHolderText(holder.value, now, g)}`;
56
+ return `workspace ${ws} is locked by another process`;
57
+ }
58
+ return describeError(err);
59
+ }
60
+ /**
61
+ * Starts the dataflow in a workspace.
62
+ *
63
+ * @param controller - The controller
64
+ * @param ws - The workspace
65
+ * @param options - `--force`, `--filter`, `--concurrency`
66
+ */
67
+ export async function startRun(controller, ws, options) {
68
+ const s = controller.state();
69
+ const g = controller.deps.glyphs;
70
+ if (isRunLive(s, ws)) {
71
+ controller.toast('a run is already in progress — /stop first', 'warn');
72
+ return;
73
+ }
74
+ const api = controller.deps.api();
75
+ if (api === null) {
76
+ controller.toast('no session is open', 'neg');
77
+ return;
78
+ }
79
+ const dataflowOptions = { force: options.force };
80
+ if (options.filter !== undefined)
81
+ dataflowOptions.filter = options.filter;
82
+ if (options.concurrency !== undefined)
83
+ dataflowOptions.concurrency = options.concurrency;
84
+ controller.dispatch({ type: 'data/executionFlag', ws, settling: true });
85
+ try {
86
+ await api.dataflowExecuteLaunch(ws, dataflowOptions);
87
+ }
88
+ catch (err) {
89
+ controller.dispatch({ type: 'data/executionFlag', ws, settling: false });
90
+ controller.deps.log(`run ${ws} failed: ${describeError(err)}`);
91
+ controller.toast(launchFailureText(err, ws, controller.deps.now(), g), 'neg');
92
+ return;
93
+ }
94
+ const taskCount = s.data.status[ws]?.result.tasks.length ?? 0;
95
+ const queued = options.filter !== undefined ? `tasks matching ${options.filter} queued` : `${taskCount} task${taskCount === 1 ? '' : 's'} queued`;
96
+ controller.toast(`Dataflow started ${g.sep} ${ws} ${g.sep} ${queued}`, 'pos');
97
+ controller.deps.feeds.fire(`execution:${ws}`);
98
+ controller.deps.feeds.fire(`status:${ws}`);
99
+ }
100
+ /**
101
+ * Cancels the dataflow running in a workspace.
102
+ *
103
+ * @param controller - The controller
104
+ * @param ws - The workspace
105
+ */
106
+ export async function cancelRun(controller, ws) {
107
+ const s = controller.state();
108
+ const g = controller.deps.glyphs;
109
+ if (!isRunLive(s, ws)) {
110
+ controller.toast('no run in progress', 'warn');
111
+ return;
112
+ }
113
+ const api = controller.deps.api();
114
+ if (api === null) {
115
+ controller.toast('no session is open', 'neg');
116
+ return;
117
+ }
118
+ controller.dispatch({ type: 'data/executionFlag', ws, stopping: true });
119
+ try {
120
+ await api.dataflowCancel(ws);
121
+ }
122
+ catch (err) {
123
+ controller.dispatch({ type: 'data/executionFlag', ws, stopping: false });
124
+ controller.deps.log(`stop ${ws} failed: ${describeError(err)}`);
125
+ if (apiCode(err) === 'internal' && /no active execution/i.test(detailMessage(err))) {
126
+ controller.toast('nothing to cancel here — the run was started by another server process; stop it from there', 'warn');
127
+ }
128
+ else {
129
+ controller.toast(describeError(err), 'neg');
130
+ }
131
+ return;
132
+ }
133
+ controller.toast('Dataflow cancelled', 'warn', g.square);
134
+ controller.deps.feeds.fire(`execution:${ws}`);
135
+ controller.deps.feeds.fire(`status:${ws}`);
136
+ }
137
+ //# sourceMappingURL=dataflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../../src/tui/data/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAU5C;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe,EAAE,EAAU;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC/H,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB,EAAE,GAAW,EAAE,CAAS;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC1F,OAAO,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CAAC,GAAY;IAC/B,MAAM,OAAO,GAAI,GAA6B,CAAC,OAAO,CAAC;IACvD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAQ,OAAiC,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAQ,OAA+B,CAAC,OAAO,CAAC;IACvK,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,EAAU,EAAE,GAAW,EAAE,CAAS;IAC9E,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,kBAAkB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAI,GAA6E,CAAC,OAAO,CAAC;QACvG,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,aAAa,EAAE,iBAAiB,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5J,OAAO,aAAa,EAAE,+BAA+B,CAAC;IAC1D,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAsB,EAAE,EAAU,EAAE,OAAwF;IACvJ,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACnB,UAAU,CAAC,KAAK,CAAC,4CAA4C,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO;IACX,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO;IACX,CAAC;IACD,MAAM,eAAe,GAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC1E,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;QAAE,eAAe,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzF,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC;QACD,MAAM,GAAG,CAAC,qBAAqB,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/D,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO;IACX,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,QAAQ,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAClJ,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9E,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAsB,EAAE,EAAU;IAC9D,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACpB,UAAU,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO;IACX,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO;IACX,CAAC;IACD,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC;QACD,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjF,UAAU,CAAC,KAAK,CAAC,4FAA4F,EAAE,MAAM,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,OAAO;IACX,CAAC;IACD,UAAU,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Dataset content — what the value tree shows for one dataset path.
7
+ *
8
+ * `tick` polls `datasetGetStatus` (every 5 s while the dataset is on
9
+ * screen) and, on a new content hash, decides how the value is shown, as
10
+ * the web preview does: no value → *unset* / *null*; a collection root
11
+ * (Array / Set / Dict) → *paged* through `datasetGetPage` in 500-row
12
+ * windows, read-only, at every size; any other root ≤ 200 KB → fetched
13
+ * whole, decoded and materialized into the tree (*inline*); larger → *too
14
+ * large* (`/save` still works). The server's refusals map to states:
15
+ * `dataset_not_indexed` (a legacy blob) → *not indexed* with a `⏎ load
16
+ * whole value` fallback up to 64 MB, `dataset_too_large` → *too large*,
17
+ * `dataset_hash_mismatch` → the status is refetched.
18
+ *
19
+ * Pages are keyed `(ws, path, hash, page)`: raw bytes stay in a small
20
+ * cache so a page that was evicted from the eight retained around the
21
+ * window re-materializes without a request; one fetch is in flight per
22
+ * key. Decoding and materializing yield to the renderer first.
23
+ *
24
+ * @packageDocumentation
25
+ */
26
+ import { type EastTypeValue } from '@elaraai/east';
27
+ import { type DatasetKeyMatchRange, type DatasetKeyQuery, type ValueTreePagedRow } from '@elaraai/east-ui/internal';
28
+ import { type Api } from '../api.js';
29
+ import { PAGE_SIZE, collectionKeys, isCollectionType, keyTypeOf, viewDataset } from '../model/tree.js';
30
+ import type { Store } from '../state/store.js';
31
+ export { PAGE_SIZE, collectionKeys, isCollectionType, keyTypeOf, viewDataset };
32
+ /** Non-collection values up to this many bytes are fetched whole. */
33
+ export declare const INLINE_LIMIT: number;
34
+ /** `⏎ load whole value` on a not-indexed collection is offered up to this size. */
35
+ export declare const WHOLE_LIMIT: number;
36
+ /** Loaded pages retained around the window. */
37
+ export declare const MAX_RETAINED_PAGES = 8;
38
+ /** Raw page bytes kept per session (a return re-materializes without a request). */
39
+ export declare const MAX_CACHED_PAGES = 32;
40
+ /**
41
+ * Materializes one decoded page into the tree's paged-row contract (the
42
+ * web preview's `pageRows`).
43
+ *
44
+ * @param type - The dataset's root type
45
+ * @param decoded - The decoded page (a value of the root type)
46
+ * @param offset - The global row of the page's first element
47
+ * @returns The rows
48
+ */
49
+ export declare function pageRows(type: EastTypeValue, decoded: unknown, offset: number): ValueTreePagedRow[];
50
+ /** What the loader needs. */
51
+ export interface DatasetLoaderDeps {
52
+ store: Store;
53
+ api: () => Api | null;
54
+ log?: ((line: string) => void) | undefined;
55
+ }
56
+ /** The dataset loader. */
57
+ export interface DatasetLoader {
58
+ /** Polls the status and (re)loads the content on a new hash (`force` also past a pending edit's conflict). */
59
+ tick(ws: string, path: string, force?: boolean): Promise<void>;
60
+ /** Reloads the content now, past any conflict (`/reload`). */
61
+ reload(ws: string, path: string): Promise<void>;
62
+ /** Requests the pages covering root rows `[startRow, endRow)` (with retention). */
63
+ needRows(ws: string, path: string, startRow: number, endRow: number): void;
64
+ /** `⏎ load whole value` on a not-indexed collection. */
65
+ loadWhole(ws: string, path: string): Promise<void>;
66
+ /** Locates a key query: server-side for a paged value, in memory for an inline one. */
67
+ findKey(ws: string, path: string, query: DatasetKeyQuery): Promise<DatasetKeyMatchRange>;
68
+ /** The stored bytes (`/save`). */
69
+ bytes(ws: string, path: string): Promise<Uint8Array>;
70
+ /** Drops the caches and in-flight bookkeeping. */
71
+ reset(): void;
72
+ }
73
+ /**
74
+ * Creates the loader.
75
+ *
76
+ * @param deps - The store, the API accessor, the log
77
+ * @returns The loader
78
+ */
79
+ export declare function createDatasetLoader(deps: DatasetLoaderDeps): DatasetLoader;
80
+ //# sourceMappingURL=dataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../../src/tui/data/dataset.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAqC,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACvJ,OAAO,EAAsC,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,SAAS,EAA8B,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEnI,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAE/E,qEAAqE;AACrE,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,mFAAmF;AACnF,eAAO,MAAM,WAAW,QAAmB,CAAC;AAC5C,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAInC;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAgBnG;AAED,6BAA6B;AAC7B,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC1B,8GAA8G;IAC9G,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,8DAA8D;IAC9D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mFAAmF;IACnF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,wDAAwD;IACxD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,uFAAuF;IACvF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzF,kCAAkC;IAClC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,kDAAkD;IAClD,KAAK,IAAI,IAAI,CAAC;CACjB;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAmM1E"}