@angflow/angular 0.0.19 → 0.3.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 (234) hide show
  1. package/README.md +108 -15
  2. package/dist/base.css +8 -0
  3. package/dist/esm/index.d.ts +0 -1
  4. package/dist/esm/lib/agent/agent-bridge.service.d.ts +3 -1
  5. package/dist/esm/lib/agent/agent-bridge.service.js +130 -23
  6. package/dist/esm/lib/agent/agent-bridge.service.js.map +1 -1
  7. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts +0 -1
  8. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts +0 -1
  9. package/dist/esm/lib/agent/chat/agent-chat.service.js +11 -2
  10. package/dist/esm/lib/agent/chat/agent-chat.service.js.map +1 -1
  11. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts +1 -2
  12. package/dist/esm/lib/agent/chat/default-system-prompt.js +2 -1
  13. package/dist/esm/lib/agent/chat/default-system-prompt.js.map +1 -1
  14. package/dist/esm/lib/agent/chat/index.d.ts +0 -1
  15. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts +0 -1
  16. package/dist/esm/lib/agent/chat/types.d.ts +0 -1
  17. package/dist/esm/lib/agent/history.d.ts +0 -1
  18. package/dist/esm/lib/agent/index.d.ts +0 -1
  19. package/dist/esm/lib/agent/provide-agent-bridge.d.ts +0 -1
  20. package/dist/esm/lib/agent/tool-schemas.d.ts +0 -1
  21. package/dist/esm/lib/agent/tool-schemas.js +3 -1
  22. package/dist/esm/lib/agent/tool-schemas.js.map +1 -1
  23. package/dist/esm/lib/agent/transports/websocket.d.ts +8 -1
  24. package/dist/esm/lib/agent/transports/websocket.js +14 -2
  25. package/dist/esm/lib/agent/transports/websocket.js.map +1 -1
  26. package/dist/esm/lib/agent/transports/window.d.ts +0 -1
  27. package/dist/esm/lib/agent/transports/window.js +2 -1
  28. package/dist/esm/lib/agent/transports/window.js.map +1 -1
  29. package/dist/esm/lib/agent/types.d.ts +0 -1
  30. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts +0 -1
  31. package/dist/esm/lib/components/attribution/attribution.component.d.ts +0 -1
  32. package/dist/esm/lib/components/background/background.component.d.ts +0 -1
  33. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts +0 -1
  34. package/dist/esm/lib/components/controls/controls.component.d.ts +0 -1
  35. package/dist/esm/lib/components/controls/controls.component.js +2 -1
  36. package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
  37. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts +0 -1
  38. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +7 -2
  39. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +11 -4
  40. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
  41. package/dist/esm/lib/components/edges/base-edge.component.d.ts +0 -1
  42. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts +0 -1
  43. package/dist/esm/lib/components/edges/bezier-edge.component.js +2 -1
  44. package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
  45. package/dist/esm/lib/components/edges/edge-text.component.d.ts +0 -1
  46. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts +0 -1
  47. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +2 -1
  48. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
  49. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts +0 -1
  50. package/dist/esm/lib/components/edges/smooth-step-edge.component.js +2 -1
  51. package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
  52. package/dist/esm/lib/components/edges/step-edge.component.d.ts +0 -1
  53. package/dist/esm/lib/components/edges/step-edge.component.js +2 -1
  54. package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
  55. package/dist/esm/lib/components/edges/straight-edge.component.d.ts +0 -1
  56. package/dist/esm/lib/components/edges/straight-edge.component.js +2 -1
  57. package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
  58. package/dist/esm/lib/components/handle/handle.component.d.ts +1 -1
  59. package/dist/esm/lib/components/handle/handle.component.js +13 -1
  60. package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
  61. package/dist/esm/lib/components/handle-group/handle-group.component.d.ts +0 -1
  62. package/dist/esm/lib/components/handle-group/handle-row.component.d.ts +0 -1
  63. package/dist/esm/lib/components/minimap/minimap.component.d.ts +19 -17
  64. package/dist/esm/lib/components/minimap/minimap.component.js +143 -183
  65. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
  66. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts +13 -5
  67. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +13 -4
  68. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
  69. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +2 -1
  70. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +43 -26
  71. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
  72. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +0 -1
  73. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +1 -1
  74. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
  75. package/dist/esm/lib/components/nodes/default-node.component.d.ts +6 -15
  76. package/dist/esm/lib/components/nodes/default-node.component.js +13 -22
  77. package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
  78. package/dist/esm/lib/components/nodes/group-node.component.d.ts +5 -16
  79. package/dist/esm/lib/components/nodes/group-node.component.js +8 -16
  80. package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
  81. package/dist/esm/lib/components/nodes/input-node.component.d.ts +6 -15
  82. package/dist/esm/lib/components/nodes/input-node.component.js +11 -20
  83. package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
  84. package/dist/esm/lib/components/nodes/output-node.component.d.ts +6 -15
  85. package/dist/esm/lib/components/nodes/output-node.component.js +11 -20
  86. package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
  87. package/dist/esm/lib/components/nodes/template-node.component.d.ts +2 -14
  88. package/dist/esm/lib/components/nodes/template-node.component.js +16 -26
  89. package/dist/esm/lib/components/nodes/template-node.component.js.map +1 -1
  90. package/dist/esm/lib/components/panel/panel.component.d.ts +0 -1
  91. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts +11 -1
  92. package/dist/esm/lib/components/selection-box/selection-box.component.js +108 -3
  93. package/dist/esm/lib/components/selection-box/selection-box.component.js.map +1 -1
  94. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts +0 -1
  95. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts +27 -3
  96. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +151 -61
  97. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
  98. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +4 -8
  99. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +151 -54
  100. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
  101. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +7 -1
  102. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +70 -14
  103. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
  104. package/dist/esm/lib/container/pane/pane.component.d.ts +0 -1
  105. package/dist/esm/lib/container/pane/pane.component.js +23 -3
  106. package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
  107. package/dist/esm/lib/container/viewport/viewport.component.d.ts +0 -1
  108. package/dist/esm/lib/directives/drag.directive.d.ts +1 -2
  109. package/dist/esm/lib/directives/drag.directive.js +1 -1
  110. package/dist/esm/lib/directives/drag.directive.js.map +1 -1
  111. package/dist/esm/lib/directives/drop-zone.directive.d.ts +0 -1
  112. package/dist/esm/lib/directives/key-handler.directive.d.ts +0 -1
  113. package/dist/esm/lib/directives/key-handler.directive.js +6 -2
  114. package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
  115. package/dist/esm/lib/directives/node-type.directive.d.ts +0 -1
  116. package/dist/esm/lib/graph/collapse.d.ts +35 -0
  117. package/dist/esm/lib/graph/collapse.js +102 -0
  118. package/dist/esm/lib/graph/collapse.js.map +1 -0
  119. package/dist/esm/lib/graph/group-bounds.d.ts +42 -0
  120. package/dist/esm/lib/graph/group-bounds.js +34 -0
  121. package/dist/esm/lib/graph/group-bounds.js.map +1 -0
  122. package/dist/esm/lib/layout/dagre-layout.d.ts +0 -1
  123. package/dist/esm/lib/layout/index.d.ts +1 -2
  124. package/dist/esm/lib/layout/index.js.map +1 -1
  125. package/dist/esm/lib/layout/layout-nodes.d.ts +39 -5
  126. package/dist/esm/lib/layout/layout-nodes.js +94 -7
  127. package/dist/esm/lib/layout/layout-nodes.js.map +1 -1
  128. package/dist/esm/lib/public-api.d.ts +4 -2
  129. package/dist/esm/lib/public-api.js +2 -1
  130. package/dist/esm/lib/public-api.js.map +1 -1
  131. package/dist/esm/lib/services/flow-store.service.d.ts +25 -2
  132. package/dist/esm/lib/services/flow-store.service.js +101 -14
  133. package/dist/esm/lib/services/flow-store.service.js.map +1 -1
  134. package/dist/esm/lib/services/ng-flow.service.d.ts +82 -7
  135. package/dist/esm/lib/services/ng-flow.service.js +210 -26
  136. package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
  137. package/dist/esm/lib/services/tokens.d.ts +0 -1
  138. package/dist/esm/lib/types/edges.d.ts +0 -1
  139. package/dist/esm/lib/types/general.d.ts +0 -1
  140. package/dist/esm/lib/types/index.d.ts +0 -1
  141. package/dist/esm/lib/types/node-template.d.ts +2 -1
  142. package/dist/esm/lib/types/nodes.d.ts +4 -1
  143. package/dist/esm/lib/types/store.d.ts +0 -1
  144. package/dist/esm/lib/utils/changes.d.ts +28 -2
  145. package/dist/esm/lib/utils/changes.js +57 -1
  146. package/dist/esm/lib/utils/changes.js.map +1 -1
  147. package/dist/esm/lib/utils/index.d.ts +2 -2
  148. package/dist/esm/lib/utils/index.js +2 -1
  149. package/dist/esm/lib/utils/index.js.map +1 -1
  150. package/dist/esm/lib/utils/inject-flow-store.d.ts +16 -0
  151. package/dist/esm/lib/utils/inject-flow-store.js +23 -0
  152. package/dist/esm/lib/utils/inject-flow-store.js.map +1 -0
  153. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts +0 -1
  154. package/dist/esm/lib/utils/position-tween.d.ts +0 -1
  155. package/dist/esm/lib/utils/template-interpolation.d.ts +0 -1
  156. package/dist/esm/lib/utils/type-guards.d.ts +0 -1
  157. package/dist/esm/lib/utils/type-guards.js +2 -0
  158. package/dist/esm/lib/utils/type-guards.js.map +1 -1
  159. package/dist/esm/test-setup.d.ts +0 -1
  160. package/dist/style.css +8 -0
  161. package/package.json +83 -78
  162. package/dist/esm/index.d.ts.map +0 -1
  163. package/dist/esm/lib/agent/agent-bridge.service.d.ts.map +0 -1
  164. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts.map +0 -1
  165. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts.map +0 -1
  166. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts.map +0 -1
  167. package/dist/esm/lib/agent/chat/index.d.ts.map +0 -1
  168. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts.map +0 -1
  169. package/dist/esm/lib/agent/chat/types.d.ts.map +0 -1
  170. package/dist/esm/lib/agent/history.d.ts.map +0 -1
  171. package/dist/esm/lib/agent/index.d.ts.map +0 -1
  172. package/dist/esm/lib/agent/provide-agent-bridge.d.ts.map +0 -1
  173. package/dist/esm/lib/agent/tool-schemas.d.ts.map +0 -1
  174. package/dist/esm/lib/agent/transports/websocket.d.ts.map +0 -1
  175. package/dist/esm/lib/agent/transports/window.d.ts.map +0 -1
  176. package/dist/esm/lib/agent/types.d.ts.map +0 -1
  177. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts.map +0 -1
  178. package/dist/esm/lib/components/attribution/attribution.component.d.ts.map +0 -1
  179. package/dist/esm/lib/components/background/background.component.d.ts.map +0 -1
  180. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts.map +0 -1
  181. package/dist/esm/lib/components/controls/controls.component.d.ts.map +0 -1
  182. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts.map +0 -1
  183. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts.map +0 -1
  184. package/dist/esm/lib/components/edges/base-edge.component.d.ts.map +0 -1
  185. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts.map +0 -1
  186. package/dist/esm/lib/components/edges/edge-text.component.d.ts.map +0 -1
  187. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts.map +0 -1
  188. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts.map +0 -1
  189. package/dist/esm/lib/components/edges/step-edge.component.d.ts.map +0 -1
  190. package/dist/esm/lib/components/edges/straight-edge.component.d.ts.map +0 -1
  191. package/dist/esm/lib/components/handle/handle.component.d.ts.map +0 -1
  192. package/dist/esm/lib/components/handle-group/handle-group.component.d.ts.map +0 -1
  193. package/dist/esm/lib/components/handle-group/handle-row.component.d.ts.map +0 -1
  194. package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +0 -1
  195. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts.map +0 -1
  196. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +0 -1
  197. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +0 -1
  198. package/dist/esm/lib/components/nodes/default-node.component.d.ts.map +0 -1
  199. package/dist/esm/lib/components/nodes/group-node.component.d.ts.map +0 -1
  200. package/dist/esm/lib/components/nodes/input-node.component.d.ts.map +0 -1
  201. package/dist/esm/lib/components/nodes/output-node.component.d.ts.map +0 -1
  202. package/dist/esm/lib/components/nodes/template-node.component.d.ts.map +0 -1
  203. package/dist/esm/lib/components/panel/panel.component.d.ts.map +0 -1
  204. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts.map +0 -1
  205. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts.map +0 -1
  206. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +0 -1
  207. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +0 -1
  208. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +0 -1
  209. package/dist/esm/lib/container/pane/pane.component.d.ts.map +0 -1
  210. package/dist/esm/lib/container/viewport/viewport.component.d.ts.map +0 -1
  211. package/dist/esm/lib/directives/drag.directive.d.ts.map +0 -1
  212. package/dist/esm/lib/directives/drop-zone.directive.d.ts.map +0 -1
  213. package/dist/esm/lib/directives/key-handler.directive.d.ts.map +0 -1
  214. package/dist/esm/lib/directives/node-type.directive.d.ts.map +0 -1
  215. package/dist/esm/lib/layout/dagre-layout.d.ts.map +0 -1
  216. package/dist/esm/lib/layout/index.d.ts.map +0 -1
  217. package/dist/esm/lib/layout/layout-nodes.d.ts.map +0 -1
  218. package/dist/esm/lib/public-api.d.ts.map +0 -1
  219. package/dist/esm/lib/services/flow-store.service.d.ts.map +0 -1
  220. package/dist/esm/lib/services/ng-flow.service.d.ts.map +0 -1
  221. package/dist/esm/lib/services/tokens.d.ts.map +0 -1
  222. package/dist/esm/lib/types/edges.d.ts.map +0 -1
  223. package/dist/esm/lib/types/general.d.ts.map +0 -1
  224. package/dist/esm/lib/types/index.d.ts.map +0 -1
  225. package/dist/esm/lib/types/node-template.d.ts.map +0 -1
  226. package/dist/esm/lib/types/nodes.d.ts.map +0 -1
  227. package/dist/esm/lib/types/store.d.ts.map +0 -1
  228. package/dist/esm/lib/utils/changes.d.ts.map +0 -1
  229. package/dist/esm/lib/utils/index.d.ts.map +0 -1
  230. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts.map +0 -1
  231. package/dist/esm/lib/utils/position-tween.d.ts.map +0 -1
  232. package/dist/esm/lib/utils/template-interpolation.d.ts.map +0 -1
  233. package/dist/esm/lib/utils/type-guards.d.ts.map +0 -1
  234. package/dist/esm/test-setup.d.ts.map +0 -1
@@ -2,7 +2,24 @@ import { Injectable, signal, computed } from '@angular/core';
2
2
  import { adoptUserNodes, updateAbsolutePositions, panBy as panBySystem, updateNodeInternals as updateNodeInternalsSystem, updateConnectionLookup, handleExpandParent, fitViewport, getHandlePosition, infiniteExtent, ConnectionMode, initialConnection, devWarn, defaultAriaLabelConfig, Position, getNodesInside, } from '@angflow/system';
3
3
  import { applyNodeChanges, applyEdgeChanges, createSelectionChange, getSelectionChanges } from '../utils/changes';
4
4
  import { sampleTween, prefersReducedMotion } from '../utils/position-tween';
5
+ import { getCollapsedHiddenIds, rewriteEdgesForCollapse } from '../graph/collapse';
5
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * Content equality for derived string-id sets. Used as a computed `equal` so
9
+ * a recompute that lands on identical membership keeps the previous Set
10
+ * identity and does not notify consumers. Exported for tests.
11
+ */
12
+ export function stringSetEquals(a, b) {
13
+ if (a === b)
14
+ return true;
15
+ if (a.size !== b.size)
16
+ return false;
17
+ for (const v of a) {
18
+ if (!b.has(v))
19
+ return false;
20
+ }
21
+ return true;
22
+ }
6
23
  export class FlowStore {
7
24
  constructor() {
8
25
  // ── Writable signals ──────────────────────────────────────────────────
@@ -25,6 +42,13 @@ export class FlowStore {
25
42
  this.paneDragging = signal(false, ...(ngDevMode ? [{ debugName: "paneDragging" }] : /* istanbul ignore next */ []));
26
43
  this.nodesSelectionActive = signal(false, ...(ngDevMode ? [{ debugName: "nodesSelectionActive" }] : /* istanbul ignore next */ []));
27
44
  this.userSelectionActive = signal(false, ...(ngDevMode ? [{ debugName: "userSelectionActive" }] : /* istanbul ignore next */ []));
45
+ /**
46
+ * Transient flag set by PaneComponent.onMouseUp after a completed marquee
47
+ * drag. Consumed (and reset to false) by NgFlowComponent.onPaneClick so the
48
+ * click synthesised from the same mouseup does not clear the selection box.
49
+ * Ported from React's `selectionInProgress` ref in Pane/index.tsx.
50
+ */
51
+ this.selectionInProgress = signal(false, ...(ngDevMode ? [{ debugName: "selectionInProgress" }] : /* istanbul ignore next */ []));
28
52
  /** Id of the node currently showing Stage 2 floating-drop feedback during a connection drag.
29
53
  * Null when no candidate is active or when Stage 1 owns the drop target. */
30
54
  this.connectionTargetNodeId = signal(null, ...(ngDevMode ? [{ debugName: "connectionTargetNodeId" }] : /* istanbul ignore next */ []));
@@ -125,8 +149,11 @@ export class FlowStore {
125
149
  // ── Callback references ───────────────────────────────────────────────
126
150
  this.onNodesChange = null;
127
151
  this.onEdgesChange = null;
128
- // A version counter bumped on every visual change to trigger recomputation
129
- // of visibleNodes/visibleEdges without rebuilding the full nodeLookup
152
+ // A version counter bumped on graph changes (node/edge add/remove/move,
153
+ // selection, measurement) to trigger recomputation of visibleNodes /
154
+ // visibleEdges without rebuilding the full nodeLookup. Deliberately NOT
155
+ // bumped on transform (pan/zoom) writes — transform consumers read
156
+ // this.transform() directly.
130
157
  this.version = signal(0, ...(ngDevMode ? [{ debugName: "version" }] : /* istanbul ignore next */ []));
131
158
  this.batchDepth = 0;
132
159
  this.batchDirty = false;
@@ -137,15 +164,25 @@ export class FlowStore {
137
164
  }, ...(ngDevMode ? [{ debugName: "viewport" }] : /* istanbul ignore next */ []));
138
165
  this.selectedNodes = computed(() => this.nodes().filter((n) => n.selected), ...(ngDevMode ? [{ debugName: "selectedNodes" }] : /* istanbul ignore next */ []));
139
166
  this.selectedEdges = computed(() => this.edges().filter((e) => e.selected), ...(ngDevMode ? [{ debugName: "selectedEdges" }] : /* istanbul ignore next */ []));
167
+ this.collapsedHiddenIds = computed(() => {
168
+ this.version();
169
+ return getCollapsedHiddenIds(this.nodeLookup);
170
+ }, { ...(ngDevMode ? { debugName: "collapsedHiddenIds" } : /* istanbul ignore next */ {}), equal: stringSetEquals });
140
171
  this.visibleNodes = computed(() => {
141
172
  // Read version to trigger recomputation on any visual change (drag, add, remove)
142
173
  this.version();
143
- if (!this.onlyRenderVisibleElements()) {
144
- return Array.from(this.nodeLookup.values());
145
- }
146
- const t = this.transform();
147
- return getNodesInside(this.nodeLookup, { x: 0, y: 0, width: this.width(), height: this.height() }, t, true);
174
+ const hidden = this.collapsedHiddenIds();
175
+ const base = !this.onlyRenderVisibleElements()
176
+ ? Array.from(this.nodeLookup.values())
177
+ : getNodesInside(this.nodeLookup, { x: 0, y: 0, width: this.width(), height: this.height() }, this.transform(), true);
178
+ return hidden.size ? base.filter((n) => !hidden.has(n.id)) : base;
148
179
  }, ...(ngDevMode ? [{ debugName: "visibleNodes" }] : /* istanbul ignore next */ []));
180
+ this.displayEdges = computed(() => {
181
+ this.version();
182
+ const edges = this.edges();
183
+ const hidden = this.collapsedHiddenIds();
184
+ return hidden.size ? rewriteEdgesForCollapse(edges, this.nodeLookup, hidden) : edges;
185
+ }, ...(ngDevMode ? [{ debugName: "displayEdges" }] : /* istanbul ignore next */ []));
149
186
  this.visibleEdgeIds = computed(() => {
150
187
  // Read version + edges signal
151
188
  this.version();
@@ -157,7 +194,7 @@ export class FlowStore {
157
194
  return new Set(edges
158
195
  .filter((e) => visibleNodeIds.has(e.source) && visibleNodeIds.has(e.target))
159
196
  .map((e) => e.id));
160
- }, ...(ngDevMode ? [{ debugName: "visibleEdgeIds" }] : /* istanbul ignore next */ []));
197
+ }, { ...(ngDevMode ? { debugName: "visibleEdgeIds" } : /* istanbul ignore next */ {}), equal: stringSetEquals });
161
198
  // ── Position tweening ───────────────────────────────────────────────────
162
199
  // One shared rAF loop interpolates every active tween and pushes plain
163
200
  // position changes through triggerNodeChanges, so nodes AND edges re-render
@@ -251,7 +288,10 @@ export class FlowStore {
251
288
  this.nodesSelectionActive.set(nextNodesSelectionActive);
252
289
  this.nodes.set(nodes);
253
290
  this.bumpVersion();
254
- if (this.fitViewQueued() && nodesInitialized) {
291
+ // Only drain the queue once panZoom exists — otherwise resolveFitView()
292
+ // no-ops against a null panZoom and we would silently lose the request.
293
+ // setPanZoom() drains the queue when panZoom is created later.
294
+ if (this.fitViewQueued() && nodesInitialized && this.panZoom()) {
255
295
  this.resolveFitView();
256
296
  this.fitViewQueued.set(false);
257
297
  this.fitViewOptions.set(undefined);
@@ -272,6 +312,7 @@ export class FlowStore {
272
312
  this.hasDefaultEdges.set(true);
273
313
  }
274
314
  }
315
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
275
316
  updateNodeInternals(updates) {
276
317
  const { changes, updatedInternals } = updateNodeInternalsSystem(updates, this.nodeLookup, this.parentLookup, this.domNode(), this.nodeOrigin(), this.nodeExtent(), this.zIndexMode());
277
318
  if (!updatedInternals) {
@@ -282,7 +323,7 @@ export class FlowStore {
282
323
  nodeExtent: this.nodeExtent(),
283
324
  zIndexMode: this.zIndexMode(),
284
325
  });
285
- if (this.fitViewQueued()) {
326
+ if (this.fitViewQueued() && this.panZoom()) {
286
327
  this.resolveFitView();
287
328
  this.fitViewQueued.set(false);
288
329
  this.fitViewOptions.set(undefined);
@@ -293,6 +334,7 @@ export class FlowStore {
293
334
  this.triggerNodeChanges(changes);
294
335
  }
295
336
  }
337
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
296
338
  updateNodePositions(nodeDragItems, dragging = false) {
297
339
  const parentExpandChildren = [];
298
340
  const changes = [];
@@ -446,7 +488,9 @@ export class FlowStore {
446
488
  if (allPosition) {
447
489
  // Update user nodes array with new positions (cheap shallow copy)
448
490
  const currentNodes = this.nodes();
491
+ const storeOrigin = this.nodeOrigin();
449
492
  let nodesChanged = false;
493
+ let needsAbsoluteRecompute = false;
450
494
  for (const change of changes) {
451
495
  if (change.type !== 'position')
452
496
  continue;
@@ -460,6 +504,19 @@ export class FlowStore {
460
504
  if (internalNode.internals) {
461
505
  internalNode.internals.positionAbsolute = change.position;
462
506
  }
507
+ // The verbatim `positionAbsolute = change.position` assignment above is
508
+ // only correct for a top-level, origin-[0,0], childless node. It is wrong
509
+ // and needs a full recompute when the moved node:
510
+ // - is parented (its absolute depends on the parent chain), or
511
+ // - is itself a parent (children's absolutes shift with it), or
512
+ // - has a non-zero effective origin (absolute = position − dims·origin).
513
+ const origin = internalNode.origin ?? storeOrigin;
514
+ if (internalNode.parentId ||
515
+ this.parentLookup.has(change.id) ||
516
+ origin[0] !== 0 ||
517
+ origin[1] !== 0) {
518
+ needsAbsoluteRecompute = true;
519
+ }
463
520
  mutated = true;
464
521
  }
465
522
  if (change.dragging !== undefined) {
@@ -481,13 +538,26 @@ export class FlowStore {
481
538
  nodesChanged = true;
482
539
  }
483
540
  }
541
+ // Recompute absolute positions when the verbatim assignment above is not
542
+ // sufficient (parented nodes, group/parent moves, or non-default origins).
543
+ // This walks the whole lookup, so it's gated to those runs — plain
544
+ // top-level, origin-[0,0], childless drags keep the O(changes) fast path.
545
+ if (needsAbsoluteRecompute) {
546
+ updateAbsolutePositions(this.nodeLookup, this.parentLookup, {
547
+ nodeOrigin: this.nodeOrigin(),
548
+ nodeExtent: this.nodeExtent(),
549
+ zIndexMode: this.zIndexMode(),
550
+ });
551
+ }
484
552
  if (nodesChanged) {
485
553
  // Bump version to trigger template re-render without full rebuild
486
554
  this.bumpVersion();
487
555
  // Re-emit the nodes signal so any downstream effect (e.g. the agent
488
556
  // bridge watcher) that depends on `nodes()` observes the drag. Objects
489
557
  // are mutated in place above so identity is preserved for templates;
490
- // we only swap the array reference.
558
+ // parented nodes are the exception (updateAbsolutePositions swaps a fresh
559
+ // lookup entry), but templates re-read the lookup so that churn is fine.
560
+ // We only swap the array reference.
491
561
  this.nodes.set([...currentNodes]);
492
562
  }
493
563
  }
@@ -583,6 +653,21 @@ export class FlowStore {
583
653
  }, options);
584
654
  return true;
585
655
  }
656
+ /**
657
+ * Set the panZoom instance and drain any fitView queued before it existed.
658
+ * Init order is setNodes (ngOnInit) → panZoom (ngAfterViewInit); a flow whose
659
+ * nodes carry explicit dimensions reports nodesInitialized on that first
660
+ * setNodes, so the queued fit must wait here for panZoom rather than firing
661
+ * against null. Signal-write-driven (no timer): the queue drains exactly once.
662
+ */
663
+ setPanZoom(panZoom) {
664
+ this.panZoom.set(panZoom);
665
+ if (panZoom && this.fitViewQueued() && this.nodesInitialized()) {
666
+ this.resolveFitView();
667
+ this.fitViewQueued.set(false);
668
+ this.fitViewOptions.set(undefined);
669
+ }
670
+ }
586
671
  async setCenter(x, y, options) {
587
672
  const pz = this.panZoom();
588
673
  if (!pz)
@@ -592,7 +677,7 @@ export class FlowStore {
592
677
  x: this.width() / 2 - x * nextZoom,
593
678
  y: this.height() / 2 - y * nextZoom,
594
679
  zoom: nextZoom,
595
- }, { duration: options?.duration, ease: options?.ease });
680
+ }, { duration: options?.duration, ease: options?.ease, interpolate: options?.interpolate });
596
681
  return true;
597
682
  }
598
683
  async setViewport(viewport, options) {
@@ -749,8 +834,10 @@ export class FlowStore {
749
834
  onSelectionDragStop: this.onSelectionDragStop ?? undefined,
750
835
  // Store-bound callbacks for system subsystems
751
836
  panBy: (delta) => this.panBy(delta),
752
- updateNodePositions: (items, dragging) => this.updateNodePositions(items, dragging),
753
- unselectNodesAndEdges: (params) => this.unselectNodesAndEdges(params),
837
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
838
+ updateNodePositions: (items, dragging) => this.updateNodePositions(items, dragging), // store API boundary
839
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
840
+ unselectNodesAndEdges: (params) => this.unselectNodesAndEdges(params), // store API boundary
754
841
  addSelectedNodes: (ids) => this.addSelectedNodes(ids),
755
842
  addSelectedEdges: (ids) => this.addSelectedEdges(ids),
756
843
  updateConnection: (conn) => this.updateConnection(conn),
@@ -1 +1 @@
1
- {"version":3,"file":"flow-store.service.js","sourceRoot":"","sources":["../../../../src/lib/services/flow-store.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-store.service.js","sourceRoot":"","sources":["../../../../src/lib/services/flow-store.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,EAAE,QAAQ,EAAoC,MAAM,eAAe,CAAC;AAC1G,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,KAAK,IAAI,WAAW,EACpB,mBAAmB,IAAI,yBAAyB,EAChD,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,sBAAsB,EACtB,QAAQ,EACR,cAAc,GAuBf,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAmB,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAoB,MAAM,mBAAmB,CAAC;;AAErG;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,CAAsB,EAAE,CAAsB;IAC5E,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,SAAS;IADtB;QAEE,yEAAyE;QAEhE,SAAI,GAAG,MAAM,CAAC,GAAG,2EAAC,CAAC;QACnB,UAAK,GAAG,MAAM,CAAC,CAAC,4EAAC,CAAC;QAClB,WAAM,GAAG,MAAM,CAAC,CAAC,6EAAC,CAAC;QACnB,cAAS,GAA8B,MAAM,CAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gFAAC,CAAC;QAE7E,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,mBAAmB;QACF,gBAAW,GAAG,MAAM,CAAuB,IAAI,GAAG,EAAE,kFAAC,CAAC;QAEvE,2FAA2F;QAClF,uBAAkB,GAAiC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAsCjF,UAAK,GAA+B,MAAM,CAAa,EAAE,4EAAC,CAAC;QAC3D,UAAK,GAA+B,MAAM,CAAa,EAAE,4EAAC,CAAC;QAE3D,qBAAgB,GAAG,MAAM,CAAC,KAAK,uFAAC,CAAC;QAEjC,oBAAe,GAAG,MAAM,CAAC,KAAK,sFAAC,CAAC;QAChC,oBAAe,GAAG,MAAM,CAAC,KAAK,sFAAC,CAAC;QAEhC,iBAAY,GAAG,MAAM,CAAC,KAAK,mFAAC,CAAC;QAC7B,yBAAoB,GAAG,MAAM,CAAC,KAAK,2FAAC,CAAC;QACrC,wBAAmB,GAAG,MAAM,CAAC,KAAK,0FAAC,CAAC;QAE7C;;;;;WAKG;QACM,wBAAmB,GAAG,MAAM,CAAC,KAAK,0FAAC,CAAC;QAE7C;qFAC6E;QACpE,2BAAsB,GAAG,MAAM,CAAgB,IAAI,6FAAC,CAAC;QACrD,sBAAiB,GAAG,MAAM,CAAuB,IAAI,wFAAC,CAAC;QACvD,yBAAoB,GAAG,MAAM,CAAC,KAAK,2FAAC,CAAC;QACrC,uBAAkB,GAAG,MAAM,CAAC,KAAK,yFAAC,CAAC;QAEnC,YAAO,GAAG,MAAM,CAAyB,IAAI,8EAAC,CAAC;QAC/C,YAAO,GAAG,MAAM,CAAC,GAAG,8EAAC,CAAC;QACtB,YAAO,GAAG,MAAM,CAAC,CAAC,8EAAC,CAAC;QACpB,oBAAe,GAAG,MAAM,CAAmB,cAAc,sFAAC,CAAC;QAC3D,eAAU,GAAG,MAAM,CAAmB,cAAc,iFAAC,CAAC;QAEtD,YAAO,GAAG,MAAM,CAAwB,IAAI,8EAAC,CAAC;QAC9C,oBAAe,GAAG,MAAM,CAAC,QAAQ,sFAAC,CAAC;QACnC,qBAAgB,GAAG,MAAM,CAAC,SAAS,uFAAC,CAAC;QACrC,mBAAc,GAAG,MAAM,CAAC,OAAO,qFAAC,CAAC;QAEjC,eAAU,GAAG,MAAM,CAAa,CAAC,CAAC,EAAE,CAAC,CAAC,iFAAC,CAAC;QACxC,sBAAiB,GAAG,MAAM,CAAC,CAAC,wFAAC,CAAC;QAC9B,4BAAuB,GAAG,MAAM,CAAC,CAAC,8FAAC,CAAC;QACpC,sBAAiB,GAAG,MAAM,CAAC,CAAC,wFAAC,CAAC;QAC9B,sBAAiB,GAAG,MAAM,CAAC,CAAC,wFAAC,CAAC;QAC9B,aAAQ,GAAG,MAAM,CAAW,CAAC,EAAE,EAAE,EAAE,CAAC,+EAAC,CAAC;QACtC,eAAU,GAAG,MAAM,CAAC,KAAK,iFAAC,CAAC;QAE3B,mBAAc,GAAG,MAAM,CAAC,IAAI,qFAAC,CAAC;QAC9B,qBAAgB,GAAG,MAAM,CAAC,IAAI,uFAAC,CAAC;QAChC,mBAAc,GAAG,MAAM,CAAC,IAAI,qFAAC,CAAC;QAC9B,mBAAc,GAAG,MAAM,CAAC,IAAI,qFAAC,CAAC;QAC9B,uBAAkB,GAAG,MAAM,CAAC,IAAI,yFAAC,CAAC;QAClC,uBAAkB,GAAG,MAAM,CAAC,IAAI,yFAAC,CAAC;QAClC,yBAAoB,GAAG,MAAM,CAAC,IAAI,2FAAC,CAAC;QACpC,yBAAoB,GAAG,MAAM,CAAC,IAAI,2FAAC,CAAC;QACpC,sBAAiB,GAAG,MAAM,CAAC,IAAI,wFAAC,CAAC;QAE1C,wEAAwE;QACxE,+EAA+E;QACtE,kBAAa,GAAG,MAAM,CAAwC,IAAI,GAAG,EAAE,oFAAC,CAAC;QAClF,8EAA8E;QACrE,sBAAiB,GAAG,MAAM,CAAW,EAAE,wFAAC,CAAC;QAClD,8EAA8E;QACrE,sBAAiB,GAAG,MAAM,CAAW,EAAE,wFAAC,CAAC;QAClD,kFAAkF;QACzE,6BAAwB,GAAG,MAAM,CAAW,EAAE,+FAAC,CAAC;QAEhD,mBAAc,GAAG,MAAM,CAAiB,cAAc,CAAC,MAAM,qFAAC,CAAC;QAC/D,eAAU,GAAG,MAAM,CAAkB,EAAE,GAAG,iBAAiB,EAAE,iFAAC,CAAC;QAC/D,+BAA0B,GAAG,MAAM,CAAiG,IAAI,iGAAC,CAAC;QAC1I,mBAAc,GAAG,MAAM,CAAC,IAAI,qFAAC,CAAC;QAC9B,qBAAgB,GAAG,MAAM,CAAC,EAAE,uFAAC,CAAC;QAE9B,kBAAa,GAAG,MAAM,CAAC,KAAK,oFAAC,CAAC;QAC9B,mBAAc,GAAG,MAAM,CAA2C,SAAS,qFAAC,CAAC;QAE7E,qBAAgB,GAAG,MAAM,CAAC,IAAI,uFAAC,CAAC;QAChC,sBAAiB,GAAG,MAAM,CAAC,IAAI,wFAAC,CAAC;QACjC,uBAAkB,GAAG,MAAM,CAAC,IAAI,yFAAC,CAAC;QAClC,iBAAY,GAAG,MAAM,CAAC,EAAE,mFAAC,CAAC;QAE1B,sBAAiB,GAAG,MAAM,CAAyF,SAAS,wFAAC,CAAC;QAC9H,YAAO,GAAG,MAAM,CAAU,OAAO,8EAAC,CAAC;QAEnC,QAAG,GAAG,MAAM,CAAC,IAAI,0EAAC,CAAC;QACnB,UAAK,GAAG,MAAM,CAAC,KAAK,4EAAC,CAAC;QACtB,eAAU,GAAG,MAAM,CAAa,OAAO,iFAAC,CAAC;QACzC,oBAAe,GAAG,MAAM,CAAkB,sBAAsB,sFAAC,CAAC;QAElE,8BAAyB,GAAG,MAAM,CAAC,KAAK,gGAAC,CAAC;QACnD;;;;;WAKG;QACM,aAAQ,GAAG,MAAM,CAAyB,SAAS,+EAAC,CAAC;QAE9D;;;;WAIG;QACM,YAAO,GAAG,MAAM,CAAkC,KAAK,8EAAC,CAAC;QAczD,oBAAe,GAAG,MAAM,CAAC,EAAE,sFAAC,CAAC;QAEtC,sEAAsE;QAC7D,uBAAkB,GAAG,MAAM,CAAoD,SAAS,yFAAC,CAAC;QAEnG,sEAAsE;QACtE,cAAS,GAAwE,IAAI,CAAC;QACtF,mBAAc,GAA8G,IAAI,CAAC;QACjI,iBAAY,GAAsD,IAAI,CAAC;QACvE,wBAAmB,GAAiG,IAAI,CAAC;QACzH,sBAAiB,GAAyC,IAAI,CAAC;QAE/D,qEAAqE;QACrE,mBAAc,GAA8F,IAAI,CAAC;QAEjH,yEAAyE;QACzE,oBAAe,GAA4E,IAAI,CAAC;QAChG,eAAU,GAA4E,IAAI,CAAC;QAC3F,mBAAc,GAA4E,IAAI,CAAC;QAC/F,yBAAoB,GAA4D,IAAI,CAAC;QACrF,oBAAe,GAA4D,IAAI,CAAC;QAChF,wBAAmB,GAA4D,IAAI,CAAC;QAEpF,sEAAsE;QAC7D,0BAAqB,GAAG,IAAI,GAAG,EAAuE,CAAC;QACvG,0BAAqB,GAAG,IAAI,GAAG,EAAuE,CAAC;QAEhH,yEAAyE;QAEhE,eAAU,GAA2C,IAAI,GAAG,EAAE,CAAC;QAC/D,iBAAY,GAA6C,IAAI,GAAG,EAAE,CAAC;QACnE,eAAU,GAAyB,IAAI,GAAG,EAAE,CAAC;QAC7C,qBAAgB,GAAyE,IAAI,GAAG,EAAE,CAAC;QAE5G,yEAAyE;QAEzE,kBAAa,GAAuD,IAAI,CAAC;QACzE,kBAAa,GAAuD,IAAI,CAAC;QAEzE,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,6BAA6B;QACpB,YAAO,GAAG,MAAM,CAAC,CAAC,8EAAC,CAAC;QACrB,eAAU,GAAG,CAAC,CAAC;QACf,eAAU,GAAG,KAAK,CAAC;QA2B3B,yEAAyE;QAEhE,aAAQ,GAAqB,QAAQ,CAAC,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,CAAC,+EAAC,CAAC;QAEM,kBAAa,GAAuB,QAAQ,CAAC,GAAG,EAAE,CACzD,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,oFACvC,CAAC;QAEO,kBAAa,GAAuB,QAAQ,CAAC,GAAG,EAAE,CACzD,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,oFACvC,CAAC;QAEO,uBAAkB,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC,0FAAI,KAAK,EAAE,eAAe,GAAG,CAAC;QAEtB,iBAAY,GAAyC,QAAQ,CAAC,GAAG,EAAE;YAC1E,iFAAiF;YACjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YACxH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC,mFAAC,CAAC;QAEM,iBAAY,GAAG,QAAQ,CAA0B,GAAG,EAAE;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAE,KAAiC,CAAC;QACpH,CAAC,mFAAC,CAAC;QAEM,mBAAc,GAAwB,QAAQ,CAAC,GAAG,EAAE;YAC3D,8BAA8B;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE3B,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;gBACtC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,GAAG,CACZ,KAAK;iBACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;iBAC3E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpB,CAAC;QACJ,CAAC,sFAAI,KAAK,EAAE,eAAe,GAAG,CAAC;QA2I/B,2EAA2E;QAC3E,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,qEAAqE;QAEpD,mBAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;QACxD,iBAAY,GAAqD,EAAE,CAAC;QACpE,eAAU,GAAkB,IAAI,CAAC;QACjC,mBAAc,GAAG,KAAK,CAAC;KAihBhC;IAz7BS,SAAS,CAAC,MAAc,EAAE,QAAuB,EAAE,IAAgB;QACzE,OAAO,GAAG,MAAM,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,mFAAmF;IACnF,kBAAkB,CAAC,MAAc,EAAE,QAAuB,EAAE,IAAgB,EAAE,IAAa;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO;YAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,OAAO;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,qEAAqE;IACrE,oBAAoB,CAAC,MAAc,EAAE,QAAuB,EAAE,IAAgB;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,wEAAwE;IACxE,aAAa,CAAC,MAAc,EAAE,QAAuB,EAAE,IAAgB;QACrE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IA0GD,yEAAyE;IACzE,gBAAgB;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC1F,CAAC;IAED,+CAA+C;IAC/C,iBAAiB;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,CAAC;IAkDD,WAAW;QACT,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,EAAc;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,EAAE,EAAE,CAAC;QACP,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAuDD,yEAAyE;IAEzE,QAAQ,CAAC,KAAiB;QACxB,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE;YACvG,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACjD,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,gBAAgB,CAAC;QAEjF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,wEAAwE;QACxE,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAiB;QACxB,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,uBAAuB,CAAC,KAAkB,EAAE,KAAkB;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,mBAAmB,CAAC,OAAyB;QAC3C,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,CAC7D,OAAO,EACP,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE;YAC1D,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SAC9B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,mBAAmB,CAAC,aAA+B,EAAE,QAAQ,GAAG,KAAK;QACnE,MAAM,oBAAoB,GAAwB,EAAE,CAAC;QACrD,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;YAC3C,sEAAsE;YACtE,0EAA0E;YAC1E,qEAAqE;YACrE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC;gBAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEpF,MAAM,MAAM,GAAe;gBACzB,EAAE;gBACF,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,YAAY;oBACpB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAC9E,CAAC,CAAC,QAAQ,CAAC,QAAQ;gBACrB,QAAQ;aACT,CAAC;YAEF,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC7D,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClF,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,YAAY,IAAI,IAAK,CAAC,QAAQ,EAAE,CAAC;gBACnC,oBAAoB,CAAC,IAAI,CAAC;oBACxB,EAAE;oBACF,QAAQ,EAAE,IAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE;wBACJ,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB;wBACtC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;wBACnC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,mBAAmB,GAAG,kBAAkB,CAC5C,oBAAoB,EACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,OAAiC,CAAC,CAAC;IAC7D,CAAC;IAaD;;;;;;;;OAQG;IACH,kBAAkB,CAAC,SAAmD,EAAE,QAAgB;QACtF,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,iEAAiE;YACjE,kEAAkE;YAClE,IAAI,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAC5B,0EAA0E;YAC1E,yEAAyE;YACzE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,mEAAmE;YACnE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sEAAsE;IACtE,mBAAmB,CAAC,EAAU;QAC5B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO;QACrC,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,IAAI,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,QAAQ;gBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,OAAiC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtF,CAAC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACjD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC/C,CAAC;YACD,CAAC,CAAC,OAAO,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB,CAAC,OAA+B;QAChD,IAAI,CAAC,OAAO,EAAE,MAAM;YAAE,OAAO;QAE7B,4BAA4B;QAC5B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7D,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,MAAM;gBAAE,OAAO;QAC/B,CAAC;QAED,0EAA0E;QAC1E,gDAAgD;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAE9D,IAAI,WAAW,EAAE,CAAC;YAChB,kEAAkE;YAClE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,sBAAsB,GAAG,KAAK,CAAC;YAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;oBAAE,SAAS;gBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,YAAY;oBAAE,SAAS;gBAE5B,IAAI,OAAO,GAAG,KAAK,CAAC;gBAEpB,gDAAgD;gBAChD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACxC,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;wBAC3B,YAAY,CAAC,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC5D,CAAC;oBACD,wEAAwE;oBACxE,0EAA0E;oBAC1E,kDAAkD;oBAClD,iEAAiE;oBACjE,kEAAkE;oBAClE,2EAA2E;oBAC3E,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,WAAW,CAAC;oBAClD,IACE,YAAY,CAAC,QAAQ;wBACrB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAChC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;wBACf,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EACf,CAAC;wBACD,sBAAsB,GAAG,IAAI,CAAC;oBAChC,CAAC;oBACD,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAClC,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACxC,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBAED,kEAAkE;gBAClE,+DAA+D;gBAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,QAE5B,CAAC;gBACd,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACpB,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACtC,CAAC;oBACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAClC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBACtC,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,2EAA2E;YAC3E,mEAAmE;YACnE,0EAA0E;YAC1E,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE;oBAC1D,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;oBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;oBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,kEAAkE;gBAClE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,oEAAoE;gBACpE,uEAAuE;gBACvE,qEAAqE;gBACrE,0EAA0E;gBAC1E,yEAAyE;gBACzE,oCAAoC;gBACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,kBAAkB,CAAC,OAA+B;QAChD,IAAI,CAAC,OAAO,EAAE,MAAM;YAAE,OAAO;QAE7B,4BAA4B;QAC5B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7D,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,MAAM;gBAAE,OAAO;QAC/B,CAAC;QAED,gEAAgE;QAChE,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAC,eAAyB;QACxC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,kBAAkB,CAAC,WAAqC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,CACrB,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,IAAI,CAA2B,CACpG,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAA2B,CAAC,CAAC;IAC1F,CAAC;IAED,gBAAgB,CAAC,eAAyB;QACxC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,kBAAkB,CAAC,YAAsC,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,CACrB,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAA2B,CAC9F,CAAC;QACF,IAAI,CAAC,kBAAkB,CACrB,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAA2B,CAChF,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,SAAqD,EAAE;QAC3E,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAErD,MAAM,WAAW,GAA0B,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;YAChC,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAwB,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,WAAW,GAA0B,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAC7B,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAwB,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,WAAqC,CAAC,CAAC;QAC/D,IAAI,CAAC,kBAAkB,CAAC,WAAqC,CAAC,CAAC;IACjE,CAAC;IAED,yEAAyE;IAEzE,KAAK,CAAC,KAA+B;QACnC,OAAO,WAAW,CAAC;YACjB,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAsC;QAClD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAEtB,MAAM,WAAW,CACf;YACE,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;SACxB,EACD,OAAO,CACR,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,OAA+B;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,OAA+G;QACnJ,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAEtB,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAEjD,MAAM,EAAE,CAAC,WAAW,CAClB;YACE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ;YAClC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ;YACnC,IAAI,EAAE,QAAQ;SACf,EACD,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CACxF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAkB,EAAE,OAA+B;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA+B;QAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,OAA+B;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB,CAAC,MAAwB;QACzC,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,MAAwB;QACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5B,8DAA8D;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE;YAC/D,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,UAAU,EAAE,MAAM;YAClB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACjD,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SAC9B,CAAC,CAAC;QAEH,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE;YAC1D,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,yEAAyE;IAEzE,gBAAgB;QACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,eAAgC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IAED,yEAAyE;IAEzE,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,yEAAyE;IAEjE,KAAK,CAAC,cAAc;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,WAAW,CACf;YACE,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;SACxB,EACD,IAAI,CAAC,cAAc,EAAE,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACjD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACjD,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC3C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACjD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACzC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE;YACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAC7C,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACjC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;YACvC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAEzC,sDAAsD;YACtD,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;YAClD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;YACxC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;YAChD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,IAAI,SAAS;YAC5D,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;YAClD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,SAAS;YAE1D,8CAA8C;YAC9C,KAAK,EAAE,CAAC,KAA+B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC7D,8DAA8D;YAC9D,mBAAmB,EAAE,CAAC,KAAuB,EAAE,QAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,qBAAqB;YACtI,8DAA8D;YAC9D,qBAAqB,EAAE,CAAC,MAAY,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,qBAAqB;YAClG,gBAAgB,EAAE,CAAC,GAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAC/D,gBAAgB,EAAE,CAAC,GAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAC/D,gBAAgB,EAAE,CAAC,IAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACxE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC/C,kBAAkB,EAAE,CAAC,OAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAiC,CAAC;YACzG,kBAAkB,EAAE,CAAC,OAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAiC,CAAC;SAC1G,CAAC;IACJ,CAAC;+GAz8BU,SAAS;mHAAT,SAAS;;4FAAT,SAAS;kBADrB,UAAU"}
@@ -2,6 +2,7 @@ import { type Signal } from '@angular/core';
2
2
  import { type XYPosition, type SnapGrid, type Viewport, type Rect, type FitViewOptionsBase, type HandleConnection, type ConnectionState, type HandleType } from '@angflow/system';
3
3
  import type { Node, Edge, InternalNode, DeleteElementsOptions } from '../types';
4
4
  import type { NodeTemplateSpec } from '../types/node-template';
5
+ import { type GroupBoundsOptions } from '../graph/group-bounds';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Imperative API for controlling a flow instance: zoom, pan, fit-view,
@@ -20,6 +21,7 @@ import * as i0 from "@angular/core";
20
21
  export declare class NgFlowService<NodeType extends Node = Node, EdgeType extends Edge = Edge> {
21
22
  private store;
22
23
  private destroyRef;
24
+ private readonly doc;
23
25
  /** Reactive access to all nodes. */
24
26
  readonly nodes: Signal<NodeType[]>;
25
27
  /** Reactive access to all edges. */
@@ -108,6 +110,28 @@ export declare class NgFlowService<NodeType extends Node = Node, EdgeType extend
108
110
  * `updateNode(id, n => ({ data: { ...n.data, ...dataUpdate } }))`.
109
111
  */
110
112
  updateNodeData(id: string, dataUpdate: Record<string, unknown> | ((data: NodeType['data']) => Record<string, unknown>)): void;
113
+ /**
114
+ * Size and position a group node to wrap its direct children (nodes with
115
+ * `parentId === groupId`), keeping the children visually fixed. Sets the
116
+ * group's `width`/`height` and moves its top-left to the wrapping box (with
117
+ * `opts.padding`/`headerHeight`/`minWidth`/`minHeight`). No-op if the group has
118
+ * no children. Immediate (not animated).
119
+ *
120
+ * Resolves the box-origin ↔ child-coordinate feedback loop by capturing the
121
+ * children's absolute positions, then applying one combined absolute map (the
122
+ * group's new position + those child absolutes) — `setNodePositions` resolves
123
+ * each child against the group's NEW position from the same map, so the
124
+ * children's parent-relative positions shift to keep them visually pinned.
125
+ */
126
+ sizeGroupToChildren(groupId: string, opts?: GroupBoundsOptions): Promise<void>;
127
+ /**
128
+ * Set a (group/parent) node's `collapsed` state. Emits a `replace` node change
129
+ * so controlled apps can journal it. angflow derives descendant hiding and
130
+ * crossing-edge rerouting from this flag.
131
+ */
132
+ setNodeCollapsed(id: string, collapsed: boolean): void;
133
+ /** Flip a node's `collapsed` state. No-op for unknown ids. */
134
+ toggleNodeCollapsed(id: string): void;
111
135
  /**
112
136
  * Move many nodes at once from a position map (e.g. the result of
113
137
  * `layoutNodes`). Unknown ids are skipped. Animation defaults to the flow's
@@ -116,6 +140,10 @@ export declare class NgFlowService<NodeType extends Node = Node, EdgeType extend
116
140
  * animating, immediately otherwise.
117
141
  *
118
142
  * Positions are in `node.position` space (parent-relative for child nodes).
143
+ *
144
+ * Pass `opts.coordinateSpace: 'absolute'` to provide flow-absolute coordinates
145
+ * instead; parented nodes are translated to their parent-relative space
146
+ * internally (top-level nodes are unaffected). Default is `'relative'`.
119
147
  */
120
148
  setNodePositions(positions: Record<string, {
121
149
  x: number;
@@ -124,7 +152,29 @@ export declare class NgFlowService<NodeType extends Node = Node, EdgeType extend
124
152
  animate?: boolean | {
125
153
  duration?: number;
126
154
  };
155
+ coordinateSpace?: 'relative' | 'absolute';
127
156
  }): Promise<void>;
157
+ /**
158
+ * Convert a flow-absolute position map into the store's `node.position` space
159
+ * (parent-relative for parented nodes). Inverts the store's child transform
160
+ * (`updateChildNode` → `calculateChildXYZ` → `getNodePositionWithOrigin`):
161
+ * `relative = absolute − parentAbs + dims·origin`, using the child's origin
162
+ * (`node.origin ?? store.nodeOrigin`) and resolved dimensions.
163
+ *
164
+ * `parentAbs` is the parent's NEW absolute position when the SAME map also
165
+ * moves the parent (`positions[parentId]`) — exactly what compound
166
+ * `layoutNodes` returns, which moves a group and its members together. Because
167
+ * the incoming map is already in absolute space, the parent's own entry IS its
168
+ * new absolute, so no recursion is needed. When the map does not move the
169
+ * parent, we fall back to the parent's current `internals.positionAbsolute`.
170
+ * This avoids resolving the child against the parent's *pre-move* absolute,
171
+ * which would offset children by the parent's movement delta (compounding for
172
+ * nested groups).
173
+ *
174
+ * Top-level nodes, unknown ids, and nodes whose parent is missing pass through
175
+ * unchanged. The store re-applies extent clamping on write, so we don't clamp.
176
+ */
177
+ private toRelativePositions;
128
178
  /**
129
179
  * One-call auto-layout: reads the current nodes/edges, runs `layoutFn`
130
180
  * (e.g. `layoutNodes` from `@angflow/angular/layout` — passed in, not
@@ -142,11 +192,11 @@ export declare class NgFlowService<NodeType extends Node = Node, EdgeType extend
142
192
  *
143
193
  * Positions are in `node.position` space (parent-relative for child nodes).
144
194
  *
145
- * Note: flat layout functions like `layoutNodes` emit positions in one
146
- * global space; nodes with a `parentId` would be mis-placed because
147
- * positions are written parent-relative. Sub-flow layout is not supported —
148
- * lay out top-level nodes only, or supply a layout fn that emits
149
- * parent-relative coordinates.
195
+ * Sub-flow note: `layoutNodes` and other flat layout fns emit positions in one
196
+ * global (absolute) space. To place parented nodes from such a fn, pass
197
+ * `opts.coordinateSpace: 'absolute'` angflow then translates each parented
198
+ * node into its parent-relative space on apply. (Group-aware *layout* itself
199
+ * clustering children within a box — is separate.)
150
200
  */
151
201
  applyLayout<O extends Record<string, unknown>>(layoutFn: (nodes: InternalNode<NodeType>[], edges: EdgeType[], opts?: O) => Record<string, {
152
202
  x: number;
@@ -158,7 +208,30 @@ export declare class NgFlowService<NodeType extends Node = Node, EdgeType extend
158
208
  animate?: boolean | {
159
209
  duration?: number;
160
210
  };
211
+ coordinateSpace?: 'relative' | 'absolute';
161
212
  }): Promise<void>;
213
+ /**
214
+ * Override each node's `measured` from its live rendered element
215
+ * (`.xy-flow__node[data-id]`) when present. `offsetWidth/Height` are intrinsic
216
+ * layout dims, unaffected by the pane's CSS scale — no zoom math. Reads only;
217
+ * returns shallow clones so store objects are never mutated. Nodes with no
218
+ * element (hidden / SSR / not-yet-rendered) or zero size pass through unchanged
219
+ * so `layoutNodes`' measured→width→initial→default fallback still applies.
220
+ */
221
+ private withLiveMeasurements;
222
+ /**
223
+ * Fill each edge's `labelWidth`/`labelHeight` from its live label element
224
+ * (`.xy-flow__edge-label[data-id]`) when present, so `layoutNodes` can reserve
225
+ * dagre space for the label. Reads only; returns shallow clones. Edges with no
226
+ * rendered label pass through unchanged.
227
+ */
228
+ private withLiveEdgeLabels;
229
+ /**
230
+ * Escape a string for use in a CSS attribute selector value.
231
+ * Uses the native `CSS.escape` when available (browser), and falls back to a
232
+ * minimal implementation for SSR / jsdom environments.
233
+ */
234
+ private static cssEscapeId;
162
235
  /** Look up an edge by id. */
163
236
  getEdge(id: string): EdgeType | undefined;
164
237
  /** Return the current edges array. */
@@ -297,9 +370,12 @@ export declare class NgFlowService<NodeType extends Node = Node, EdgeType extend
297
370
  nodes: NodeType[];
298
371
  edges: EdgeType[];
299
372
  }>;
373
+ private readonly keyPressedSignals;
300
374
  /**
301
375
  * Returns a signal that tracks whether a specific key (or any key in an array) is currently pressed.
302
- * Equivalent to React's `useKeyPress()`.
376
+ * Equivalent to React's `useKeyPress()`. Signals are cached per key set, so
377
+ * repeated calls don't stack document listeners. SSR-safe: returns an inert
378
+ * `false` signal when `document` is unavailable.
303
379
  * Automatically cleaned up when the service is destroyed.
304
380
  */
305
381
  selectKeyPressed(keyCode: string | string[]): Signal<boolean>;
@@ -382,4 +458,3 @@ export declare class NgFlowService<NodeType extends Node = Node, EdgeType extend
382
458
  static ɵfac: i0.ɵɵFactoryDeclaration<NgFlowService<any, any>, never>;
383
459
  static ɵprov: i0.ɵɵInjectableDeclaration<NgFlowService<any, any>>;
384
460
  }
385
- //# sourceMappingURL=ng-flow.service.d.ts.map