@foblex/flow 17.9.81 → 18.0.0

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 (742) hide show
  1. package/LICENSE +1 -1
  2. package/domain/css-cls.d.ts +0 -3
  3. package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.d.ts +3 -3
  4. package/domain/f-connection/add-connection-for-create-to-store/{add-connection-for-create-to-store.execution.d.ts → add-connection-for-create-to-store.d.ts} +4 -4
  5. package/domain/f-connection/add-connection-for-create-to-store/index.d.ts +1 -1
  6. package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.d.ts +3 -3
  7. package/domain/f-connection/add-connection-marker-to-store/{add-connection-marker-to-store.execution.d.ts → add-connection-marker-to-store.d.ts} +4 -4
  8. package/domain/f-connection/add-connection-marker-to-store/index.d.ts +1 -1
  9. package/domain/f-connection/add-connection-to-store/add-connection-to-store-request.d.ts +3 -3
  10. package/domain/f-connection/add-connection-to-store/{add-connection-to-store.execution.d.ts → add-connection-to-store.d.ts} +4 -4
  11. package/domain/f-connection/add-connection-to-store/index.d.ts +1 -1
  12. package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.d.ts +3 -3
  13. package/domain/f-connection/add-snap-connection-to-store/{add-snap-connection-to-store.execution.d.ts → add-snap-connection-to-store.d.ts} +4 -4
  14. package/domain/f-connection/add-snap-connection-to-store/index.d.ts +1 -1
  15. package/domain/f-connection/create-connection-markers/create-connection-markers-request.d.ts +3 -3
  16. package/domain/f-connection/create-connection-markers/{create-connection-markers.execution.d.ts → create-connection-markers.d.ts} +7 -8
  17. package/domain/f-connection/create-connection-markers/index.d.ts +1 -1
  18. package/domain/f-connection/index.d.ts +1 -1
  19. package/domain/f-connection/providers.d.ts +11 -11
  20. package/domain/f-connection/redraw-connections/redraw-connections.d.ts +6 -4
  21. package/domain/f-connection/remove-connection-for-create-from-store/index.d.ts +1 -1
  22. package/domain/f-connection/remove-connection-for-create-from-store/{remove-connection-for-create-from-store.execution.d.ts → remove-connection-for-create-from-store.d.ts} +4 -4
  23. package/domain/f-connection/remove-connection-from-store/index.d.ts +1 -1
  24. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.d.ts +3 -3
  25. package/domain/f-connection/remove-connection-from-store/{remove-connection-from-store.execution.d.ts → remove-connection-from-store.d.ts} +4 -5
  26. package/domain/f-connection/remove-connection-marker-from-store/index.d.ts +1 -1
  27. package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.d.ts +3 -3
  28. package/domain/f-connection/remove-connection-marker-from-store/{remove-connection-marker-from-store.execution.d.ts → remove-connection-marker-from-store.d.ts} +4 -4
  29. package/domain/f-connection/remove-connection-waypoint/index.d.ts +2 -0
  30. package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.d.ts +6 -0
  31. package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.d.ts +11 -0
  32. package/domain/f-connection/remove-snap-connection-from-store/index.d.ts +1 -1
  33. package/domain/f-connection/remove-snap-connection-from-store/{remove-snap-connection-from-store.execution.d.ts → remove-snap-connection-from-store.d.ts} +4 -4
  34. package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +1 -1
  35. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +1 -1
  36. package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.d.ts +3 -0
  37. package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.d.ts +14 -0
  38. package/domain/f-flow/calculate-flow-state/calculate-connections-state/index.d.ts +2 -0
  39. package/domain/f-flow/calculate-flow-state/calculate-flow-state-request.d.ts +3 -0
  40. package/domain/f-flow/calculate-flow-state/calculate-flow-state.d.ts +17 -0
  41. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.d.ts +6 -0
  42. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.d.ts +15 -0
  43. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.d.ts +2 -0
  44. package/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.d.ts +13 -0
  45. package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state-connector.d.ts +1 -1
  46. package/domain/f-flow/{get-flow-state → calculate-flow-state}/index.d.ts +4 -4
  47. package/domain/f-flow/calculate-flow-state/providers.d.ts +7 -0
  48. package/domain/f-flow/index.d.ts +1 -1
  49. package/domain/f-flow/providers.d.ts +1 -1
  50. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +1 -1
  51. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +1 -1
  52. package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +1 -1
  53. package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +1 -1
  54. package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +1 -1
  55. package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +1 -1
  56. package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +1 -1
  57. package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +1 -1
  58. package/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.d.ts +3 -0
  59. package/domain/f-selection/{get-can-be-selected-items/get-can-be-selected-items.execution.d.ts → calculate-selectable-items/calculate-selectable-items.d.ts} +8 -8
  60. package/domain/f-selection/calculate-selectable-items/index.d.ts +3 -0
  61. package/domain/f-selection/index.d.ts +1 -1
  62. package/domain/f-selection/providers.d.ts +2 -2
  63. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +2 -2
  64. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.d.ts +12 -0
  65. package/domain/f-zoom/add-zoom-to-store/index.d.ts +1 -1
  66. package/domain/f-zoom/providers.d.ts +5 -5
  67. package/domain/f-zoom/remove-zoom-from-store/index.d.ts +1 -1
  68. package/domain/f-zoom/remove-zoom-from-store/{remove-zoom-from-store.execution.d.ts → remove-zoom-from-store.d.ts} +3 -3
  69. package/domain/f-zoom/reset-zoom/index.d.ts +1 -1
  70. package/domain/f-zoom/reset-zoom/reset-zoom.d.ts +13 -0
  71. package/domain/f-zoom/set-zoom/index.d.ts +1 -1
  72. package/domain/f-zoom/set-zoom/{set-zoom.execution.d.ts → set-zoom.d.ts} +6 -6
  73. package/domain/index.d.ts +0 -1
  74. package/domain/providers.d.ts +1 -1
  75. package/drag-toolkit/pointer-events/i-pointer-event.d.ts +6 -4
  76. package/esm2022/domain/css-cls.mjs +1 -4
  77. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +4 -4
  78. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.mjs +25 -0
  79. package/esm2022/domain/f-connection/add-connection-for-create-to-store/index.mjs +2 -2
  80. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +4 -4
  81. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.mjs +25 -0
  82. package/esm2022/domain/f-connection/add-connection-marker-to-store/index.mjs +2 -2
  83. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +4 -4
  84. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.mjs +26 -0
  85. package/esm2022/domain/f-connection/add-connection-to-store/index.mjs +2 -2
  86. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +4 -4
  87. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.mjs +25 -0
  88. package/esm2022/domain/f-connection/add-snap-connection-to-store/index.mjs +2 -2
  89. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers-request.mjs +4 -4
  90. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.mjs +64 -0
  91. package/esm2022/domain/f-connection/create-connection-markers/index.mjs +2 -2
  92. package/esm2022/domain/f-connection/index.mjs +2 -2
  93. package/esm2022/domain/f-connection/providers.mjs +21 -21
  94. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +24 -21
  95. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/index.mjs +2 -2
  96. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.mjs +25 -0
  97. package/esm2022/domain/f-connection/remove-connection-from-store/index.mjs +2 -2
  98. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +4 -4
  99. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.mjs +33 -0
  100. package/esm2022/domain/f-connection/remove-connection-marker-from-store/index.mjs +2 -2
  101. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +4 -4
  102. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.mjs +25 -0
  103. package/esm2022/domain/f-connection/remove-connection-waypoint/index.mjs +3 -0
  104. package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.mjs +10 -0
  105. package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.mjs +40 -0
  106. package/esm2022/domain/f-connection/remove-snap-connection-from-store/index.mjs +2 -2
  107. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.mjs +25 -0
  108. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +1 -1
  109. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +1 -1
  110. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
  111. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
  112. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.mjs +1 -1
  113. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +3 -5
  114. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.mjs +4 -0
  115. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.mjs +38 -0
  116. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/index.mjs +3 -0
  117. package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state-request.mjs +4 -0
  118. package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state.mjs +45 -0
  119. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.mjs +8 -0
  120. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.mjs +58 -0
  121. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.mjs +3 -0
  122. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.mjs +2 -0
  123. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connector.mjs +2 -0
  124. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-node.mjs +2 -0
  125. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state.mjs +2 -0
  126. package/esm2022/domain/f-flow/calculate-flow-state/index.mjs +10 -0
  127. package/esm2022/domain/f-flow/calculate-flow-state/providers.mjs +12 -0
  128. package/esm2022/domain/f-flow/index.mjs +2 -2
  129. package/esm2022/domain/f-flow/providers.mjs +2 -2
  130. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +1 -1
  131. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +2 -2
  132. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +2 -2
  133. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +2 -2
  134. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +1 -1
  135. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +2 -2
  136. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +2 -2
  137. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +1 -1
  138. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +1 -1
  139. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +2 -2
  140. package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.mjs +4 -0
  141. package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items.mjs +70 -0
  142. package/esm2022/domain/f-selection/calculate-selectable-items/i-can-be-selected-element-and-rect.mjs +2 -0
  143. package/esm2022/domain/f-selection/calculate-selectable-items/index.mjs +4 -0
  144. package/esm2022/domain/f-selection/clear-selection/clear-selection.request.mjs +1 -1
  145. package/esm2022/domain/f-selection/index.mjs +2 -2
  146. package/esm2022/domain/f-selection/providers.mjs +3 -3
  147. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +4 -4
  148. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.mjs +28 -0
  149. package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +2 -2
  150. package/esm2022/domain/f-zoom/providers.mjs +6 -11
  151. package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +2 -2
  152. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.mjs +28 -0
  153. package/esm2022/domain/f-zoom/reset-zoom/index.mjs +2 -2
  154. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.mjs +30 -0
  155. package/esm2022/domain/f-zoom/set-zoom/index.mjs +2 -2
  156. package/esm2022/domain/f-zoom/set-zoom/set-zoom.mjs +54 -0
  157. package/esm2022/domain/index.mjs +1 -2
  158. package/esm2022/drag-toolkit/pointer-events/i-pointer-event.mjs +15 -10
  159. package/esm2022/f-canvas/domain/{f-canvas-change.event.mjs → f-canvas-change-event.mjs} +1 -1
  160. package/esm2022/f-canvas/domain/index.mjs +2 -2
  161. package/esm2022/f-canvas/f-canvas-base.mjs +7 -5
  162. package/esm2022/f-canvas/f-canvas.component.mjs +26 -36
  163. package/esm2022/f-connection/f-connection/f-connection.component.mjs +10 -24
  164. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +13 -18
  165. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +9 -15
  166. package/esm2022/f-connection/index.mjs +2 -7
  167. package/esm2022/f-connection/providers.mjs +9 -13
  168. package/esm2022/f-connection-v2/components/connection-content/f-connection-content.mjs +76 -0
  169. package/esm2022/f-connection-v2/components/connection-content/index.mjs +4 -0
  170. package/esm2022/f-connection-v2/components/connection-content/models/f-connection-content-base.mjs +10 -0
  171. package/esm2022/f-connection-v2/components/connection-content/models/index.mjs +2 -0
  172. package/esm2022/f-connection-v2/components/connection-content/utils/i-polyline-content.mjs +2 -0
  173. package/esm2022/f-connection-v2/components/connection-content/utils/index.mjs +6 -0
  174. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-align.mjs +6 -0
  175. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-layout-engine.mjs +25 -0
  176. package/esm2022/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.mjs +2 -2
  177. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-sampler-result.mjs +2 -0
  178. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-tangent.mjs +2 -0
  179. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/index.mjs +5 -0
  180. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline-sampler.mjs +143 -0
  181. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline.mjs +71 -0
  182. package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.mjs +35 -0
  183. package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.mjs +35 -0
  184. package/esm2022/f-connection-v2/components/connection-drag-handles/index.mjs +4 -0
  185. package/esm2022/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.mjs +17 -0
  186. package/esm2022/f-connection-v2/components/connection-drag-handles/models/index.mjs +2 -0
  187. package/esm2022/f-connection-v2/components/connection-gradient/f-connection-gradient.mjs +54 -0
  188. package/esm2022/f-connection-v2/components/connection-gradient/index.mjs +3 -0
  189. package/esm2022/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.mjs +6 -0
  190. package/esm2022/f-connection-v2/components/connection-gradient/models/index.mjs +2 -0
  191. package/esm2022/f-connection-v2/components/connection-marker/enums/e-f-marker-type.mjs +8 -0
  192. package/esm2022/f-connection-v2/components/connection-marker/enums/index.mjs +2 -0
  193. package/esm2022/f-connection-v2/components/connection-marker/f-connection-marker.mjs +50 -0
  194. package/esm2022/f-connection-v2/components/connection-marker/index.mjs +4 -0
  195. package/esm2022/f-connection-v2/components/connection-marker/models/f-connection-marker-base.mjs +6 -0
  196. package/esm2022/f-connection-v2/components/connection-marker/models/index.mjs +2 -0
  197. package/esm2022/f-connection-v2/components/connection-path/f-connection-path.mjs +66 -0
  198. package/esm2022/f-connection-v2/components/connection-path/index.mjs +3 -0
  199. package/esm2022/f-connection-v2/components/connection-path/models/f-connection-path-base.mjs +6 -0
  200. package/esm2022/f-connection-v2/components/connection-path/models/index.mjs +2 -0
  201. package/esm2022/f-connection-v2/components/connection-selection/f-connection-selection.mjs +34 -0
  202. package/esm2022/f-connection-v2/components/connection-selection/index.mjs +3 -0
  203. package/esm2022/f-connection-v2/components/connection-selection/models/f-connection-selection-base.mjs +6 -0
  204. package/esm2022/f-connection-v2/components/connection-selection/models/index.mjs +2 -0
  205. package/esm2022/f-connection-v2/components/connection-waypoints/f-connection-waypoints.mjs +50 -0
  206. package/esm2022/f-connection-v2/components/connection-waypoints/index.mjs +4 -0
  207. package/esm2022/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.mjs +27 -0
  208. package/esm2022/f-connection-v2/components/connection-waypoints/models/index.mjs +2 -0
  209. package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.mjs +7 -0
  210. package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.mjs +7 -0
  211. package/esm2022/f-connection-v2/components/connection-waypoints/utils/index.mjs +5 -0
  212. package/esm2022/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.mjs +4 -0
  213. package/esm2022/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.mjs +16 -0
  214. package/esm2022/f-connection-v2/components/f-connection-base.mjs +112 -0
  215. package/esm2022/f-connection-v2/components/index.mjs +9 -0
  216. package/esm2022/f-connection-v2/enums/e-f-connectable-side.mjs +12 -0
  217. package/esm2022/f-connection-v2/enums/e-f-connection-type.mjs +8 -0
  218. package/esm2022/f-connection-v2/enums/index.mjs +3 -0
  219. package/esm2022/f-connection-v2/index.mjs +5 -0
  220. package/esm2022/f-connection-v2/models/f-connection-components-parent.mjs +5 -0
  221. package/esm2022/f-connection-v2/models/f-connection-waypoints-changed-event.mjs +9 -0
  222. package/esm2022/f-connection-v2/models/index.mjs +3 -0
  223. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.mjs +15 -0
  224. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.mjs +136 -0
  225. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-behavior.mjs +7 -0
  226. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-connectable-side.mjs +12 -0
  227. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/index.mjs +3 -0
  228. package/esm2022/f-connection-v2/utils/connection-behaviour/index.mjs +6 -0
  229. package/esm2022/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.mjs +2 -0
  230. package/esm2022/f-connection-v2/utils/connection-behaviour/models/index.mjs +2 -0
  231. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-center-behavior.mjs +12 -0
  232. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-outbound-behavior.mjs +31 -0
  233. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/floating-behavior.mjs +22 -0
  234. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/index.mjs +4 -0
  235. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.mjs +74 -0
  236. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.mjs +2 -0
  237. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.mjs +49 -0
  238. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.mjs +2 -0
  239. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/index.mjs +6 -0
  240. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.mjs +50 -0
  241. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.mjs +106 -0
  242. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.mjs +46 -0
  243. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.mjs +4 -0
  244. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.mjs +28 -0
  245. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.mjs +2 -0
  246. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.mjs +4 -0
  247. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.mjs +8 -0
  248. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.mjs +7 -0
  249. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.mjs +39 -0
  250. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/index.mjs +9 -0
  251. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.mjs +12 -0
  252. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.mjs +28 -0
  253. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.mjs +30 -0
  254. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.mjs +37 -0
  255. package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.mjs +9 -0
  256. package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder.mjs +50 -0
  257. package/esm2022/f-connection-v2/utils/connection-line-builder/index.mjs +6 -0
  258. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-request.mjs +2 -0
  259. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-response.mjs +2 -0
  260. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder.mjs +2 -0
  261. package/esm2022/f-connection-v2/utils/connection-line-builder/models/index.mjs +4 -0
  262. package/esm2022/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.mjs +3 -0
  263. package/esm2022/f-connection-v2/utils/connection-line-builder/providers/index.mjs +2 -0
  264. package/esm2022/f-connection-v2/utils/create-connection-dom-identifier.mjs +5 -0
  265. package/esm2022/f-connection-v2/utils/create-connection-selection-dom-identifier.mjs +5 -0
  266. package/esm2022/f-connection-v2/utils/create-gradient-dom-identifier.mjs +5 -0
  267. package/esm2022/f-connection-v2/utils/create-gradient-dom-url.mjs +5 -0
  268. package/esm2022/f-connection-v2/utils/index.mjs +7 -0
  269. package/esm2022/f-connectors/f-connector-base.mjs +2 -2
  270. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +2 -2
  271. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
  272. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +2 -2
  273. package/esm2022/f-connectors/f-source-connector-base.mjs +8 -1
  274. package/esm2022/f-connectors/index.mjs +1 -2
  275. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +1 -1
  276. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +1 -8
  277. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +8 -6
  278. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +6 -3
  279. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +8 -5
  280. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +8 -5
  281. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +1 -1
  282. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +22 -27
  283. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +8 -7
  284. package/esm2022/f-draggable/f-connection/index.mjs +2 -1
  285. package/esm2022/f-draggable/f-connection/move-connection-waypoint/index.mjs +4 -0
  286. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.mjs +3 -0
  287. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.mjs +8 -0
  288. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.mjs +32 -0
  289. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.mjs +49 -0
  290. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.mjs +3 -0
  291. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.mjs +10 -0
  292. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.mjs +65 -0
  293. package/esm2022/f-draggable/f-connection/providers.mjs +5 -2
  294. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
  295. package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
  296. package/esm2022/f-draggable/f-draggable.directive.mjs +20 -9
  297. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +6 -3
  298. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +1 -1
  299. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +1 -1
  300. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +1 -1
  301. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +1 -1
  302. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +1 -1
  303. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +1 -1
  304. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +7 -5
  305. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +19 -14
  306. package/esm2022/f-draggable/f-node-move/move-preparation/index.mjs +3 -3
  307. package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation-request.mjs +10 -0
  308. package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation.mjs +81 -0
  309. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +1 -1
  310. package/esm2022/f-draggable/f-node-move/providers.mjs +3 -3
  311. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +1 -1
  312. package/esm2022/f-draggable/index.mjs +3 -2
  313. package/esm2022/f-draggable/pinch-to-zoom/constants/constants.mjs +6 -0
  314. package/esm2022/f-draggable/pinch-to-zoom/constants/index.mjs +2 -0
  315. package/esm2022/f-draggable/pinch-to-zoom/finalize/index.mjs +3 -0
  316. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.mjs +8 -0
  317. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.mjs +31 -0
  318. package/esm2022/f-draggable/pinch-to-zoom/index.mjs +7 -0
  319. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.mjs +68 -0
  320. package/esm2022/f-draggable/pinch-to-zoom/preparation/index.mjs +3 -0
  321. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.mjs +8 -0
  322. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.mjs +42 -0
  323. package/esm2022/f-draggable/pinch-to-zoom/providers.mjs +4 -0
  324. package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-center.mjs +10 -0
  325. package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.mjs +9 -0
  326. package/esm2022/f-draggable/pinch-to-zoom/utils/index.mjs +3 -0
  327. package/esm2022/f-draggable/providers.mjs +4 -2
  328. package/esm2022/f-draggable/single-select/index.mjs +4 -0
  329. package/esm2022/f-draggable/single-select/providers.mjs +3 -0
  330. package/esm2022/f-draggable/single-select/single-select-request.mjs +10 -0
  331. package/esm2022/f-draggable/single-select/single-select.mjs +139 -0
  332. package/esm2022/f-flow/f-flow.component.mjs +39 -26
  333. package/esm2022/f-flow.module.mjs +38 -37
  334. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
  335. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +10 -17
  336. package/esm2022/f-minimap/f-minimap.component.mjs +8 -9
  337. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +21 -19
  338. package/esm2022/f-storage/f-components-store.mjs +1 -1
  339. package/esm2022/f-storage/features/listen-components-data-changed/index.mjs +2 -2
  340. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes-request.mjs +1 -1
  341. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.mjs +23 -0
  342. package/esm2022/f-storage/features/listen-count-changes/index.mjs +2 -2
  343. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes-request.mjs +1 -1
  344. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.mjs +23 -0
  345. package/esm2022/f-storage/features/listen-transform-changes/index.mjs +3 -3
  346. package/esm2022/f-storage/features/listen-transform-changes/{listen-transform-changes.request.mjs → listen-transform-changes-request.mjs} +1 -1
  347. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.mjs +23 -0
  348. package/esm2022/f-storage/features/notify-data-changed/index.mjs +2 -2
  349. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed-request.mjs +1 -1
  350. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.mjs +22 -0
  351. package/esm2022/f-storage/features/notify-transform-changed/index.mjs +3 -3
  352. package/esm2022/f-storage/features/notify-transform-changed/{notify-transform-changed.request.mjs → notify-transform-changed-request.mjs} +1 -1
  353. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.mjs +22 -0
  354. package/esm2022/f-storage/index.mjs +1 -2
  355. package/esm2022/f-storage/providers.mjs +11 -11
  356. package/esm2022/f-zoom/f-zoom.directive.mjs +3 -13
  357. package/esm2022/public-api.mjs +2 -1
  358. package/esm2022/reactivity/debounce-time.mjs +16 -5
  359. package/esm2022/reactivity/f-channel-hub.mjs +33 -9
  360. package/esm2022/reactivity/index.mjs +2 -1
  361. package/esm2022/reactivity/notify-on-start.mjs +12 -4
  362. package/esm2022/reactivity/take-one.mjs +17 -0
  363. package/esm2022/reactivity/types.mjs +1 -1
  364. package/esm2022/utils/calculate-pointer-in-flow.mjs +9 -0
  365. package/esm2022/utils/index.mjs +2 -1
  366. package/f-canvas/domain/index.d.ts +1 -1
  367. package/f-canvas/f-canvas-base.d.ts +2 -2
  368. package/f-canvas/f-canvas.component.d.ts +2 -9
  369. package/f-connection/f-connection/f-connection.component.d.ts +2 -7
  370. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -6
  371. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -6
  372. package/f-connection/index.d.ts +1 -6
  373. package/f-connection/providers.d.ts +3 -4
  374. package/{f-connection/f-connection-content → f-connection-v2/components/connection-content}/f-connection-content.d.ts +3 -30
  375. package/f-connection-v2/components/connection-content/index.d.ts +3 -0
  376. package/f-connection-v2/components/connection-content/models/f-connection-content-base.d.ts +36 -0
  377. package/f-connection-v2/components/connection-content/models/index.d.ts +1 -0
  378. package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-layout-engine.d.ts +1 -9
  379. package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.d.ts +8 -0
  380. package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.d.ts +8 -0
  381. package/f-connection-v2/components/connection-drag-handles/index.d.ts +3 -0
  382. package/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.d.ts +11 -0
  383. package/f-connection-v2/components/connection-drag-handles/models/index.d.ts +1 -0
  384. package/{f-connection/common/f-gradient/f-connection-gradient.component.d.ts → f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts} +5 -6
  385. package/f-connection-v2/components/connection-gradient/index.d.ts +2 -0
  386. package/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.d.ts +8 -0
  387. package/f-connection-v2/components/connection-gradient/models/index.d.ts +1 -0
  388. package/f-connection-v2/components/connection-marker/enums/index.d.ts +1 -0
  389. package/f-connection-v2/components/connection-marker/f-connection-marker.d.ts +17 -0
  390. package/f-connection-v2/components/connection-marker/index.d.ts +3 -0
  391. package/{f-connection/f-marker/f-marker-base.d.ts → f-connection-v2/components/connection-marker/models/f-connection-marker-base.d.ts} +3 -4
  392. package/f-connection-v2/components/connection-marker/models/index.d.ts +1 -0
  393. package/f-connection-v2/components/connection-path/f-connection-path.d.ts +14 -0
  394. package/f-connection-v2/components/connection-path/index.d.ts +2 -0
  395. package/f-connection-v2/components/connection-path/models/f-connection-path-base.d.ts +9 -0
  396. package/f-connection-v2/components/connection-path/models/index.d.ts +1 -0
  397. package/f-connection-v2/components/connection-selection/f-connection-selection.d.ts +9 -0
  398. package/f-connection-v2/components/connection-selection/index.d.ts +2 -0
  399. package/f-connection-v2/components/connection-selection/models/f-connection-selection-base.d.ts +6 -0
  400. package/f-connection-v2/components/connection-selection/models/index.d.ts +1 -0
  401. package/f-connection-v2/components/connection-waypoints/f-connection-waypoints.d.ts +19 -0
  402. package/f-connection-v2/components/connection-waypoints/index.d.ts +3 -0
  403. package/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.d.ts +16 -0
  404. package/f-connection-v2/components/connection-waypoints/models/index.d.ts +1 -0
  405. package/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.d.ts +6 -0
  406. package/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.d.ts +6 -0
  407. package/f-connection-v2/components/connection-waypoints/utils/index.d.ts +4 -0
  408. package/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.d.ts +2 -0
  409. package/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.d.ts +17 -0
  410. package/{f-connection/common → f-connection-v2/components}/f-connection-base.d.ts +14 -31
  411. package/f-connection-v2/components/index.d.ts +8 -0
  412. package/f-connection-v2/enums/index.d.ts +2 -0
  413. package/f-connection-v2/index.d.ts +4 -0
  414. package/f-connection-v2/models/f-connection-components-parent.d.ts +15 -0
  415. package/f-connection-v2/models/f-connection-waypoints-changed-event.d.ts +6 -0
  416. package/f-connection-v2/models/index.d.ts +2 -0
  417. package/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.d.ts +11 -0
  418. package/{domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts → f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.d.ts} +5 -6
  419. package/f-connection-v2/utils/connection-behaviour/enums/index.d.ts +2 -0
  420. package/f-connection-v2/utils/connection-behaviour/index.d.ts +5 -0
  421. package/{domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts → f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.d.ts} +2 -2
  422. package/f-connection-v2/utils/connection-behaviour/models/index.d.ts +1 -0
  423. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-center-behavior.d.ts +2 -2
  424. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-outbound-behavior.d.ts +2 -2
  425. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/floating-behavior.d.ts +2 -2
  426. package/f-connection-v2/utils/connection-behaviour/utils/index.d.ts +3 -0
  427. package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.d.ts +8 -0
  428. package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.d.ts +1 -0
  429. package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.d.ts +4 -0
  430. package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.d.ts +1 -0
  431. package/f-connection-v2/utils/connection-line-builder/builders/index.d.ts +5 -0
  432. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.d.ts +17 -0
  433. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.d.ts +6 -0
  434. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.d.ts +2 -0
  435. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.d.ts +3 -0
  436. package/{f-connection/common/domain/f-straight.path-builder.d.ts → f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.d.ts} +2 -2
  437. package/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.d.ts +1 -0
  438. package/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.d.ts +2 -0
  439. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.d.ts +2 -0
  440. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.d.ts +3 -0
  441. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.d.ts +2 -0
  442. package/f-connection-v2/utils/connection-line-builder/builders/utils/index.d.ts +8 -0
  443. package/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.d.ts +2 -0
  444. package/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.d.ts +10 -0
  445. package/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.d.ts +2 -0
  446. package/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.d.ts +24 -0
  447. package/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.d.ts +7 -0
  448. package/f-connection-v2/utils/connection-line-builder/connection-line-builder.d.ts +13 -0
  449. package/f-connection-v2/utils/connection-line-builder/index.d.ts +5 -0
  450. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-request.d.ts +2 -1
  451. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-response.d.ts +2 -2
  452. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder.d.ts +1 -2
  453. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/index.d.ts +1 -4
  454. package/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.d.ts +4 -0
  455. package/f-connection-v2/utils/connection-line-builder/providers/index.d.ts +1 -0
  456. package/f-connection-v2/utils/create-connection-dom-identifier.d.ts +1 -0
  457. package/f-connection-v2/utils/create-connection-selection-dom-identifier.d.ts +1 -0
  458. package/f-connection-v2/utils/create-gradient-dom-identifier.d.ts +1 -0
  459. package/f-connection-v2/utils/create-gradient-dom-url.d.ts +1 -0
  460. package/f-connection-v2/utils/index.d.ts +6 -0
  461. package/f-connectors/f-connector-base.d.ts +1 -1
  462. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  463. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  464. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  465. package/f-connectors/f-source-connector-base.d.ts +3 -0
  466. package/f-connectors/index.d.ts +0 -1
  467. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -0
  468. package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +2 -1
  469. package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +4 -2
  470. package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +4 -2
  471. package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +1 -1
  472. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +6 -7
  473. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +2 -2
  474. package/f-draggable/f-connection/index.d.ts +1 -0
  475. package/f-draggable/f-connection/move-connection-waypoint/index.d.ts +3 -0
  476. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.d.ts +2 -0
  477. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.d.ts +6 -0
  478. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.d.ts +11 -0
  479. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.d.ts +20 -0
  480. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.d.ts +2 -0
  481. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.d.ts +8 -0
  482. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.d.ts +19 -0
  483. package/f-draggable/f-connection/providers.d.ts +3 -2
  484. package/f-draggable/f-drag-handler/i-f-drag-handler.d.ts +2 -1
  485. package/f-draggable/f-draggable-base.d.ts +3 -1
  486. package/f-draggable/f-draggable.directive.d.ts +5 -1
  487. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -1
  488. package/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.d.ts +1 -1
  489. package/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.d.ts +1 -1
  490. package/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.d.ts +1 -1
  491. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.d.ts +1 -1
  492. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +1 -1
  493. package/f-draggable/f-node-move/move-drag-handler.d.ts +2 -2
  494. package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +1 -1
  495. package/f-draggable/f-node-move/move-preparation/index.d.ts +2 -2
  496. package/f-draggable/f-node-move/move-preparation/{f-node-move-preparation.request.d.ts → move-node-preparation-request.d.ts} +3 -3
  497. package/f-draggable/f-node-move/move-preparation/move-node-preparation.d.ts +17 -0
  498. package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +3 -3
  499. package/f-draggable/f-node-move/providers.d.ts +2 -2
  500. package/f-draggable/index.d.ts +2 -1
  501. package/f-draggable/pinch-to-zoom/constants/constants.d.ts +5 -0
  502. package/f-draggable/pinch-to-zoom/constants/index.d.ts +1 -0
  503. package/f-draggable/pinch-to-zoom/finalize/index.d.ts +2 -0
  504. package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.d.ts +6 -0
  505. package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.d.ts +11 -0
  506. package/f-draggable/pinch-to-zoom/index.d.ts +6 -0
  507. package/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.d.ts +21 -0
  508. package/f-draggable/pinch-to-zoom/preparation/index.d.ts +2 -0
  509. package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.d.ts +6 -0
  510. package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.d.ts +13 -0
  511. package/f-draggable/pinch-to-zoom/providers.d.ts +3 -0
  512. package/f-draggable/pinch-to-zoom/utils/calculate-touch-center.d.ts +2 -0
  513. package/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.d.ts +1 -0
  514. package/f-draggable/pinch-to-zoom/utils/index.d.ts +2 -0
  515. package/f-draggable/providers.d.ts +1 -1
  516. package/f-draggable/single-select/index.d.ts +3 -0
  517. package/f-draggable/single-select/providers.d.ts +2 -0
  518. package/f-draggable/single-select/single-select-request.d.ts +8 -0
  519. package/f-draggable/{f-single-select/f-single-select.execution.d.ts → single-select/single-select.d.ts} +7 -6
  520. package/f-flow/f-flow.component.d.ts +1 -1
  521. package/f-flow.module.d.ts +36 -37
  522. package/f-line-alignment/f-line-alignment-base.d.ts +3 -4
  523. package/f-line-alignment/f-line-alignment.component.d.ts +3 -4
  524. package/f-minimap/f-minimap.component.d.ts +2 -2
  525. package/f-selection-area/domain/selection-area.drag-handle.d.ts +6 -5
  526. package/f-storage/f-components-store.d.ts +3 -4
  527. package/f-storage/features/listen-components-data-changed/index.d.ts +1 -1
  528. package/f-storage/features/listen-components-data-changed/{listen-data-changes.execution.d.ts → listen-data-changes.d.ts} +3 -3
  529. package/f-storage/features/listen-count-changes/index.d.ts +1 -1
  530. package/f-storage/features/listen-count-changes/{listen-count-changes.execution.d.ts → listen-count-changes.d.ts} +3 -3
  531. package/f-storage/features/listen-transform-changes/index.d.ts +2 -2
  532. package/f-storage/features/listen-transform-changes/{listen-transform-changes.execution.d.ts → listen-transform-changes.d.ts} +4 -4
  533. package/f-storage/features/notify-data-changed/index.d.ts +1 -1
  534. package/f-storage/features/notify-data-changed/{notify-data-changed.execution.d.ts → notify-data-changed.d.ts} +3 -3
  535. package/f-storage/features/notify-transform-changed/index.d.ts +2 -2
  536. package/f-storage/features/notify-transform-changed/{notify-transform-changed.execution.d.ts → notify-transform-changed.d.ts} +4 -4
  537. package/f-storage/index.d.ts +0 -1
  538. package/f-storage/providers.d.ts +6 -6
  539. package/f-zoom/f-zoom.directive.d.ts +0 -4
  540. package/fesm2022/foblex-flow.mjs +4296 -3863
  541. package/fesm2022/foblex-flow.mjs.map +1 -1
  542. package/package.json +1 -1
  543. package/public-api.d.ts +1 -0
  544. package/reactivity/index.d.ts +1 -0
  545. package/reactivity/take-one.d.ts +2 -0
  546. package/reactivity/types.d.ts +6 -1
  547. package/utils/calculate-pointer-in-flow.d.ts +4 -0
  548. package/utils/index.d.ts +1 -0
  549. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +0 -12
  550. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +0 -6
  551. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.d.ts +0 -3
  552. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +0 -14
  553. package/domain/f-flow/get-flow-state/get-flow-state-connections/index.d.ts +0 -2
  554. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +0 -6
  555. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +0 -15
  556. package/domain/f-flow/get-flow-state/get-flow-state-nodes/index.d.ts +0 -2
  557. package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +0 -15
  558. package/domain/f-flow/get-flow-state/get-flow-state.request.d.ts +0 -3
  559. package/domain/f-flow/get-flow-state/i-f-flow-state-connection.d.ts +0 -9
  560. package/domain/f-flow/get-flow-state/providers.d.ts +0 -7
  561. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.d.ts +0 -3
  562. package/domain/f-selection/get-can-be-selected-items/index.d.ts +0 -3
  563. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +0 -12
  564. package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +0 -13
  565. package/domain/i-map.d.ts +0 -1
  566. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.mjs +0 -25
  567. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.mjs +0 -25
  568. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +0 -26
  569. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.mjs +0 -25
  570. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +0 -16
  571. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +0 -145
  572. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +0 -7
  573. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +0 -2
  574. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +0 -12
  575. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +0 -31
  576. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +0 -22
  577. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +0 -65
  578. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.mjs +0 -25
  579. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +0 -33
  580. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.mjs +0 -25
  581. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.mjs +0 -25
  582. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -4
  583. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -35
  584. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/index.mjs +0 -3
  585. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -8
  586. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -58
  587. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/index.mjs +0 -3
  588. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +0 -39
  589. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.request.mjs +0 -4
  590. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connection.mjs +0 -2
  591. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connector.mjs +0 -2
  592. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +0 -2
  593. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state.mjs +0 -2
  594. package/esm2022/domain/f-flow/get-flow-state/index.mjs +0 -10
  595. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +0 -12
  596. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -4
  597. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -66
  598. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +0 -2
  599. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +0 -4
  600. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +0 -28
  601. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +0 -28
  602. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +0 -30
  603. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +0 -54
  604. package/esm2022/domain/i-map.mjs +0 -2
  605. package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +0 -201
  606. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +0 -10
  607. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +0 -12
  608. package/esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs +0 -3
  609. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +0 -8
  610. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -35
  611. package/esm2022/f-connection/common/domain/calculate-connection-center/index.mjs +0 -3
  612. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +0 -58
  613. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +0 -161
  614. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +0 -16
  615. package/esm2022/f-connection/common/domain/index.mjs +0 -7
  616. package/esm2022/f-connection/common/e-f-connection-behavior.mjs +0 -7
  617. package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +0 -12
  618. package/esm2022/f-connection/common/e-f-connection-type.mjs +0 -8
  619. package/esm2022/f-connection/common/f-connection-base.mjs +0 -121
  620. package/esm2022/f-connection/common/f-connection-identifiers.mjs +0 -22
  621. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -65
  622. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -57
  623. package/esm2022/f-connection/common/f-connection-text/i-connection-text.mjs +0 -3
  624. package/esm2022/f-connection/common/f-connection-text/index.mjs +0 -4
  625. package/esm2022/f-connection/common/f-connection.injection-token.mjs +0 -3
  626. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +0 -37
  627. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +0 -37
  628. package/esm2022/f-connection/common/f-drag-handle/index.mjs +0 -3
  629. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -55
  630. package/esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs +0 -3
  631. package/esm2022/f-connection/common/f-gradient/index.mjs +0 -3
  632. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +0 -45
  633. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +0 -14
  634. package/esm2022/f-connection/common/f-path/i-connection-path.mjs +0 -3
  635. package/esm2022/f-connection/common/f-path/index.mjs +0 -4
  636. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -24
  637. package/esm2022/f-connection/common/f-selection/index.mjs +0 -2
  638. package/esm2022/f-connection/common/i-has-connection-color.mjs +0 -2
  639. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +0 -2
  640. package/esm2022/f-connection/common/i-has-connection-text.mjs +0 -2
  641. package/esm2022/f-connection/common/index.mjs +0 -15
  642. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +0 -3
  643. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +0 -26
  644. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +0 -2
  645. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +0 -2
  646. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs +0 -2
  647. package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +0 -2
  648. package/esm2022/f-connection/f-connection-builder/index.mjs +0 -7
  649. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +0 -30
  650. package/esm2022/f-connection/f-connection-center/index.mjs +0 -2
  651. package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +0 -102
  652. package/esm2022/f-connection/f-connection-content/index.mjs +0 -3
  653. package/esm2022/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.mjs +0 -2
  654. package/esm2022/f-connection/f-connection-content/polyline-content-engine/index.mjs +0 -6
  655. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.mjs +0 -6
  656. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +0 -28
  657. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.mjs +0 -2
  658. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.mjs +0 -2
  659. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.mjs +0 -5
  660. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.mjs +0 -143
  661. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.mjs +0 -68
  662. package/esm2022/f-connection/f-marker/e-f-marker-type.mjs +0 -8
  663. package/esm2022/f-connection/f-marker/f-marker-base.mjs +0 -5
  664. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +0 -51
  665. package/esm2022/f-connection/f-marker/index.mjs +0 -4
  666. package/esm2022/f-connectors/e-f-connectable-side.mjs +0 -12
  667. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +0 -82
  668. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +0 -10
  669. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +0 -138
  670. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +0 -10
  671. package/esm2022/f-draggable/f-single-select/index.mjs +0 -4
  672. package/esm2022/f-draggable/f-single-select/providers.mjs +0 -5
  673. package/esm2022/f-storage/f-connectors-store.mjs +0 -11
  674. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +0 -23
  675. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +0 -23
  676. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +0 -23
  677. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +0 -22
  678. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +0 -22
  679. package/f-connection/common/domain/adaptive-curve-builder.d.ts +0 -102
  680. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +0 -7
  681. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +0 -6
  682. package/f-connection/common/domain/calculate-center-between-points/index.d.ts +0 -2
  683. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +0 -6
  684. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +0 -8
  685. package/f-connection/common/domain/calculate-connection-center/index.d.ts +0 -2
  686. package/f-connection/common/domain/f-bezier.path-builder.d.ts +0 -6
  687. package/f-connection/common/domain/f-segment.path-builder.d.ts +0 -11
  688. package/f-connection/common/domain/index.d.ts +0 -6
  689. package/f-connection/common/f-connection-identifiers.d.ts +0 -8
  690. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +0 -18
  691. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +0 -16
  692. package/f-connection/common/f-connection-text/i-connection-text.d.ts +0 -7
  693. package/f-connection/common/f-connection-text/index.d.ts +0 -3
  694. package/f-connection/common/f-connection.injection-token.d.ts +0 -2
  695. package/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.d.ts +0 -13
  696. package/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.d.ts +0 -13
  697. package/f-connection/common/f-drag-handle/index.d.ts +0 -2
  698. package/f-connection/common/f-gradient/i-connection-gradient.d.ts +0 -8
  699. package/f-connection/common/f-gradient/index.d.ts +0 -2
  700. package/f-connection/common/f-path/f-connection-path.component.d.ts +0 -15
  701. package/f-connection/common/f-path/get-path-marker-id.d.ts +0 -4
  702. package/f-connection/common/f-path/i-connection-path.d.ts +0 -9
  703. package/f-connection/common/f-path/index.d.ts +0 -3
  704. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +0 -10
  705. package/f-connection/common/f-selection/index.d.ts +0 -1
  706. package/f-connection/common/i-has-connection-color.d.ts +0 -5
  707. package/f-connection/common/i-has-connection-from-to.d.ts +0 -6
  708. package/f-connection/common/i-has-connection-text.d.ts +0 -4
  709. package/f-connection/common/index.d.ts +0 -14
  710. package/f-connection/f-connection-builder/f-connection-builders.d.ts +0 -4
  711. package/f-connection/f-connection-builder/f-connection-factory.d.ts +0 -9
  712. package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +0 -6
  713. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +0 -10
  714. package/f-connection/f-connection-center/index.d.ts +0 -1
  715. package/f-connection/f-connection-content/index.d.ts +0 -2
  716. package/f-connection/f-marker/f-marker.directive.d.ts +0 -18
  717. package/f-connection/f-marker/index.d.ts +0 -3
  718. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +0 -20
  719. package/f-draggable/f-single-select/f-single-select.request.d.ts +0 -8
  720. package/f-draggable/f-single-select/index.d.ts +0 -3
  721. package/f-draggable/f-single-select/providers.d.ts +0 -2
  722. package/f-storage/f-connectors-store.d.ts +0 -6
  723. /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state-node.d.ts +0 -0
  724. /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state.d.ts +0 -0
  725. /package/domain/f-selection/{get-can-be-selected-items → calculate-selectable-items}/i-can-be-selected-element-and-rect.d.ts +0 -0
  726. /package/f-canvas/domain/{f-canvas-change.event.d.ts → f-canvas-change-event.d.ts} +0 -0
  727. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/i-polyline-content.d.ts +0 -0
  728. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/index.d.ts +0 -0
  729. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-align.d.ts +0 -0
  730. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.d.ts +0 -0
  731. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-sampler-result.d.ts +0 -0
  732. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-tangent.d.ts +0 -0
  733. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/index.d.ts +0 -0
  734. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline-sampler.d.ts +0 -0
  735. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline.d.ts +0 -0
  736. /package/{f-connection/f-marker → f-connection-v2/components/connection-marker/enums}/e-f-marker-type.d.ts +0 -0
  737. /package/{f-connectors → f-connection-v2/enums}/e-f-connectable-side.d.ts +0 -0
  738. /package/{f-connection/common → f-connection-v2/enums}/e-f-connection-type.d.ts +0 -0
  739. /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-behavior.d.ts +0 -0
  740. /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-connectable-side.d.ts +0 -0
  741. /package/f-storage/features/listen-transform-changes/{listen-transform-changes.request.d.ts → listen-transform-changes-request.d.ts} +0 -0
  742. /package/f-storage/features/notify-transform-changed/{notify-transform-changed.request.d.ts → notify-transform-changed-request.d.ts} +0 -0
@@ -1,12 +1,12 @@
1
- import { booleanAttribute, ContentChildren, Directive, EventEmitter, inject, input, Input, numberAttribute, Output, } from '@angular/core';
1
+ import { booleanAttribute, ContentChildren, Directive, EventEmitter, inject, input, Input, numberAttribute, output, Output, } from '@angular/core';
2
2
  import { FDraggableBase } from './f-draggable-base';
3
- import { FNodeMoveFinalizeRequest, FNodeMovePreparationRequest, } from './f-node-move';
3
+ import { FNodeMoveFinalizeRequest, MoveNodePreparationRequest, } from './f-node-move';
4
4
  import { FCanvasMoveFinalizeRequest, FCanvasMovePreparationRequest } from './f-canvas';
5
- import { FCreateConnectionFinalizeRequest, CreateConnectionPreparationRequest, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationRequest, } from './f-connection';
5
+ import { CreateConnectionPreparationRequest, FCreateConnectionFinalizeRequest, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationRequest, MoveConnectionWaypointFinalizeRequest, MoveConnectionWaypointPreparationRequest, } from './f-connection';
6
6
  import { FMediator } from '@foblex/mediator';
7
- import { AddDndToStoreRequest, defaultEventTrigger, EmitSelectionChangeEventRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest, PrepareDragSequenceRequest, DragRectCache, RemoveDndFromStoreRequest, } from '../domain';
7
+ import { AddDndToStoreRequest, defaultEventTrigger, DragRectCache, EmitSelectionChangeEventRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, } from '../domain';
8
8
  import { FExternalItemFinalizeRequest, FExternalItemPreparationRequest, PreventDefaultIsExternalItemRequest, } from '../f-external-item';
9
- import { FSingleSelectRequest } from './f-single-select';
9
+ import { SingleSelectRequest } from './single-select';
10
10
  import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './f-node-resize';
11
11
  import { F_AFTER_MAIN_PLUGIN, F_BEFORE_MAIN_PLUGIN, } from './i-f-drag-and-drop-plugin';
12
12
  import { EOperationSystem, PlatformService } from '@foblex/platform';
@@ -14,6 +14,7 @@ import { FDragHandlerResult } from './f-drag-handler';
14
14
  import { DropToGroupFinalizeRequest, DropToGroupPreparationRequest, } from './f-drop-to-group';
15
15
  import { FNodeRotateFinalizeRequest, FNodeRotatePreparationRequest } from './f-node-rotate';
16
16
  import { isDragBlocker } from './is-drag-blocker';
17
+ import { PinchToZoomFinalizeRequest, PinchToZoomPreparationRequest } from './pinch-to-zoom';
17
18
  import * as i0 from "@angular/core";
18
19
  // ┌──────────────────────────────┐
19
20
  // │ Angular Realm │
@@ -76,6 +77,8 @@ export class FDraggableDirective extends FDraggableBase {
76
77
  };
77
78
  fReassignConnectionTrigger = defaultEventTrigger;
78
79
  fCreateConnectionTrigger = defaultEventTrigger;
80
+ fConnectionWaypointsTrigger = input(defaultEventTrigger);
81
+ fMoveControlPointTrigger = defaultEventTrigger;
79
82
  fNodeResizeTrigger = defaultEventTrigger;
80
83
  fNodeRotateTrigger = defaultEventTrigger;
81
84
  fNodeMoveTrigger = defaultEventTrigger;
@@ -88,6 +91,7 @@ export class FDraggableDirective extends FDraggableBase {
88
91
  fMoveNodes = new EventEmitter();
89
92
  fReassignConnection = new EventEmitter();
90
93
  fCreateConnection = new EventEmitter();
94
+ fConnectionWaypointsChanged = output();
91
95
  fDropToGroup = new EventEmitter();
92
96
  /**
93
97
  * Defines the vertical cell size for the grid.
@@ -130,9 +134,12 @@ export class FDraggableDirective extends FDraggableBase {
130
134
  this._result.clear();
131
135
  this._mediator.execute(new InitializeDragSequenceRequest());
132
136
  this._beforePlugins.forEach((p) => p.onPointerDown?.(event));
133
- this._mediator.execute(new FSingleSelectRequest(event, this.fMultiSelectTrigger));
137
+ this._mediator.execute(new PinchToZoomPreparationRequest(event));
138
+ this._mediator.execute(new SingleSelectRequest(event, this.fMultiSelectTrigger));
134
139
  this._mediator.execute(new FReassignConnectionPreparationRequest(event, this.fReassignConnectionTrigger));
135
140
  this._mediator.execute(new CreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
141
+ this._mediator.execute(new CreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
142
+ this._mediator.execute(new MoveConnectionWaypointPreparationRequest(event, this.fConnectionWaypointsTrigger()));
136
143
  this._afterPlugins.forEach((p) => p.onPointerDown?.(event));
137
144
  const isMouseLeftOrTouch = event.isMouseLeftButton();
138
145
  if (!isMouseLeftOrTouch) {
@@ -144,7 +151,7 @@ export class FDraggableDirective extends FDraggableBase {
144
151
  this._beforePlugins.forEach((p) => p.prepareDragSequence?.(event));
145
152
  this._mediator.execute(new NodeResizePreparationRequest(event, this.fNodeResizeTrigger));
146
153
  this._mediator.execute(new FNodeRotatePreparationRequest(event, this.fNodeRotateTrigger));
147
- this._mediator.execute(new FNodeMovePreparationRequest(event, this.fNodeMoveTrigger));
154
+ this._mediator.execute(new MoveNodePreparationRequest(event, this.fNodeMoveTrigger));
148
155
  this._mediator.execute(new FExternalItemPreparationRequest(event, this.fExternalItemTrigger));
149
156
  this._mediator.execute(new DropToGroupPreparationRequest(event));
150
157
  this._mediator.execute(new FCanvasMovePreparationRequest(event, this.fCanvasMoveTrigger));
@@ -168,6 +175,8 @@ export class FDraggableDirective extends FDraggableBase {
168
175
  this._mediator.execute(new DropToGroupFinalizeRequest(event));
169
176
  this._mediator.execute(new FCanvasMoveFinalizeRequest(event));
170
177
  this._afterPlugins.forEach((x) => x.onPointerUp?.(event));
178
+ this._mediator.execute(new PinchToZoomFinalizeRequest(event));
179
+ this._mediator.execute(new MoveConnectionWaypointFinalizeRequest(event));
171
180
  this._mediator.execute(new EndDragSequenceRequest());
172
181
  }
173
182
  finalizeDragSequence() {
@@ -180,7 +189,7 @@ export class FDraggableDirective extends FDraggableBase {
180
189
  super.unsubscribe();
181
190
  }
182
191
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FDraggableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
183
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: { classPropertyName: "disabled", publicName: "fDraggableDisabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, fMultiSelectTrigger: { classPropertyName: "fMultiSelectTrigger", publicName: "fMultiSelectTrigger", isSignal: false, isRequired: false, transformFunction: null }, fReassignConnectionTrigger: { classPropertyName: "fReassignConnectionTrigger", publicName: "fReassignConnectionTrigger", isSignal: false, isRequired: false, transformFunction: null }, fCreateConnectionTrigger: { classPropertyName: "fCreateConnectionTrigger", publicName: "fCreateConnectionTrigger", isSignal: false, isRequired: false, transformFunction: null }, fNodeResizeTrigger: { classPropertyName: "fNodeResizeTrigger", publicName: "fNodeResizeTrigger", isSignal: false, isRequired: false, transformFunction: null }, fNodeRotateTrigger: { classPropertyName: "fNodeRotateTrigger", publicName: "fNodeRotateTrigger", isSignal: false, isRequired: false, transformFunction: null }, fNodeMoveTrigger: { classPropertyName: "fNodeMoveTrigger", publicName: "fNodeMoveTrigger", isSignal: false, isRequired: false, transformFunction: null }, fCanvasMoveTrigger: { classPropertyName: "fCanvasMoveTrigger", publicName: "fCanvasMoveTrigger", isSignal: false, isRequired: false, transformFunction: null }, fExternalItemTrigger: { classPropertyName: "fExternalItemTrigger", publicName: "fExternalItemTrigger", isSignal: false, isRequired: false, transformFunction: null }, fEmitOnNodeIntersect: { classPropertyName: "fEmitOnNodeIntersect", publicName: "fEmitOnNodeIntersect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, vCellSize: { classPropertyName: "vCellSize", publicName: "vCellSize", isSignal: true, isRequired: false, transformFunction: null }, hCellSize: { classPropertyName: "hCellSize", publicName: "hCellSize", isSignal: true, isRequired: false, transformFunction: null }, fCellSizeWhileDragging: { classPropertyName: "fCellSizeWhileDragging", publicName: "fCellSizeWhileDragging", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fMoveNodes: "fMoveNodes", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup", fDragStarted: "fDragStarted", fDragEnded: "fDragEnded" }, providers: [FDragHandlerResult], queries: [{ propertyName: "_beforePlugins", predicate: F_BEFORE_MAIN_PLUGIN, descendants: true }, { propertyName: "_afterPlugins", predicate: F_AFTER_MAIN_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
192
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: { classPropertyName: "disabled", publicName: "fDraggableDisabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, fMultiSelectTrigger: { classPropertyName: "fMultiSelectTrigger", publicName: "fMultiSelectTrigger", isSignal: false, isRequired: false, transformFunction: null }, fReassignConnectionTrigger: { classPropertyName: "fReassignConnectionTrigger", publicName: "fReassignConnectionTrigger", isSignal: false, isRequired: false, transformFunction: null }, fCreateConnectionTrigger: { classPropertyName: "fCreateConnectionTrigger", publicName: "fCreateConnectionTrigger", isSignal: false, isRequired: false, transformFunction: null }, fConnectionWaypointsTrigger: { classPropertyName: "fConnectionWaypointsTrigger", publicName: "fConnectionWaypointsTrigger", isSignal: true, isRequired: false, transformFunction: null }, fMoveControlPointTrigger: { classPropertyName: "fMoveControlPointTrigger", publicName: "fMoveControlPointTrigger", isSignal: false, isRequired: false, transformFunction: null }, fNodeResizeTrigger: { classPropertyName: "fNodeResizeTrigger", publicName: "fNodeResizeTrigger", isSignal: false, isRequired: false, transformFunction: null }, fNodeRotateTrigger: { classPropertyName: "fNodeRotateTrigger", publicName: "fNodeRotateTrigger", isSignal: false, isRequired: false, transformFunction: null }, fNodeMoveTrigger: { classPropertyName: "fNodeMoveTrigger", publicName: "fNodeMoveTrigger", isSignal: false, isRequired: false, transformFunction: null }, fCanvasMoveTrigger: { classPropertyName: "fCanvasMoveTrigger", publicName: "fCanvasMoveTrigger", isSignal: false, isRequired: false, transformFunction: null }, fExternalItemTrigger: { classPropertyName: "fExternalItemTrigger", publicName: "fExternalItemTrigger", isSignal: false, isRequired: false, transformFunction: null }, fEmitOnNodeIntersect: { classPropertyName: "fEmitOnNodeIntersect", publicName: "fEmitOnNodeIntersect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, vCellSize: { classPropertyName: "vCellSize", publicName: "vCellSize", isSignal: true, isRequired: false, transformFunction: null }, hCellSize: { classPropertyName: "hCellSize", publicName: "hCellSize", isSignal: true, isRequired: false, transformFunction: null }, fCellSizeWhileDragging: { classPropertyName: "fCellSizeWhileDragging", publicName: "fCellSizeWhileDragging", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fMoveNodes: "fMoveNodes", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fConnectionWaypointsChanged: "fConnectionWaypointsChanged", fDropToGroup: "fDropToGroup", fDragStarted: "fDragStarted", fDragEnded: "fDragEnded" }, providers: [FDragHandlerResult], queries: [{ propertyName: "_beforePlugins", predicate: F_BEFORE_MAIN_PLUGIN, descendants: true }, { propertyName: "_afterPlugins", predicate: F_AFTER_MAIN_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
184
193
  }
185
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FDraggableDirective, decorators: [{
186
195
  type: Directive,
@@ -198,6 +207,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
198
207
  type: Input
199
208
  }], fCreateConnectionTrigger: [{
200
209
  type: Input
210
+ }], fMoveControlPointTrigger: [{
211
+ type: Input
201
212
  }], fNodeResizeTrigger: [{
202
213
  type: Input
203
214
  }], fNodeRotateTrigger: [{
@@ -236,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
236
247
  type: ContentChildren,
237
248
  args: [F_AFTER_MAIN_PLUGIN, { descendants: true }]
238
249
  }] } });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBRUwsd0JBQXdCLEVBQ3hCLDJCQUEyQixHQUM1QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkYsT0FBTyxFQUVMLGdDQUFnQyxFQUNoQyxrQ0FBa0MsRUFFbEMsa0NBQWtDLEVBQ2xDLHFDQUFxQyxHQUN0QyxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQiwrQkFBK0IsRUFDL0Isc0JBQXNCLEVBR3RCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYix5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUVMLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsbUNBQW1DLEdBQ3BDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUYs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aUJBQWlCO3NCQURoQyxNQUFNO2dCQUlTLFlBQVk7c0JBRDNCLE1BQU07Z0JBK0JTLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsVUFBVTtzQkFEekIsTUFBTTtnQkFJQyxjQUFjO3NCQURyQixlQUFlO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJcEQsYUFBYTtzQkFEcEIsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuL2YtZHJhZ2dhYmxlLWJhc2UnO1xuaW1wb3J0IHtcbiAgRk1vdmVOb2Rlc0V2ZW50LFxuICBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9mLW5vZGUtbW92ZSc7XG5pbXBvcnQgeyBGQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdCwgRkNhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2YtY2FudmFzJztcbmltcG9ydCB7XG4gIEZDcmVhdGVDb25uZWN0aW9uRXZlbnQsXG4gIEZDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG59IGZyb20gJy4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkRG5kVG9TdG9yZVJlcXVlc3QsXG4gIGRlZmF1bHRFdmVudFRyaWdnZXIsXG4gIEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEZFdmVudFRyaWdnZXIsXG4gIEZUcmlnZ2VyRXZlbnQsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIERyYWdSZWN0Q2FjaGUsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBGRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0LFxuICBGRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdCxcbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IEZTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9mLXNpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCwgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLXJlc2l6ZSc7XG5pbXBvcnQge1xuICBGX0FGVEVSX01BSU5fUExVR0lOLFxuICBGX0JFRk9SRV9NQUlOX1BMVUdJTixcbiAgSUZEcmFnQW5kRHJvcFBsdWdpbixcbn0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgRU9wZXJhdGlvblN5c3RlbSwgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBGRHJhZ1N0YXJ0ZWRFdmVudCwgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZEcmFnSGFuZGxlclJlc3VsdCB9IGZyb20gJy4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtcbiAgRkRyb3BUb0dyb3VwRXZlbnQsXG4gIERyb3BUb0dyb3VwRmluYWxpemVSZXF1ZXN0LFxuICBEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9mLWRyb3AtdG8tZ3JvdXAnO1xuaW1wb3J0IHsgRk5vZGVSb3RhdGVGaW5hbGl6ZVJlcXVlc3QsIEZOb2RlUm90YXRlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mLW5vZGUtcm90YXRlJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuLi9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgaXNEcmFnQmxvY2tlciB9IGZyb20gJy4vaXMtZHJhZy1ibG9ja2VyJztcblxuLy8g4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQXG4vLyDilIIgICAgICAgIEFuZ3VsYXIgUmVhbG0gICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUglxuLy8g4pSCICDilIIgIEZEcmFnZ2FibGVEaXJlY3RpdmUgICDilIIgIOKUglxuLy8g4pSCICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiBleHRlbmRzICAgICAgICDilIJcbi8vIOKUgiAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pa84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICDilIJcbi8vIOKUgiAg4pSCICAgICBGRHJhZ2dhYmxlQmFzZSAgICAg4pSCICDilIJcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICDilIJcbi8vIOKUgiAgICAgICAgICAgICDilIIgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAg4pSCIG92ZXJyaWRlcyAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilrzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUglxuLy8g4pSCICDilIIgICBEcmFnQW5kRHJvcEJhc2UgICAgICDilIIgIOKUglxuLy8g4pSCICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgIHN1YnNjcmliZXMgdG8gICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pa84pSA4pSA4pSA4pSA4pSQICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAg4pSCIERvY3VtZW504pSCICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUglxuLy8g4pSCICDilIIgICAgICAgRk1lZGlhdG9yICAgICAgICDilILil4TilIDilKzilIDilIDilIDilIDilJBcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICDilIIgICAg4pSCXG4vLyDilIIgICAgICAgIOKUgiAgICAgICAg4pSCICAgICAgICAgICAg4pSCICAgIOKUglxuLy8g4pSCICAgZXhlY3V0ZXMgICBleGVjdXRlcyAgICAgICAg4pSCICAgIOKUglxuLy8g4pSCICAgRipSZXF1ZXN0ICAgRipFdmVudCAgICAgICAg4pSCICAgIOKUglxuLy8g4pSCICAgICAgICDilIIgICAgICAgIOKUgiAgICAgICAgICAgIOKUgiAgICDilIJcbi8vIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUmFxuLy9cbi8vXG4vLyDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJBcbi8vIOKUgiAgICAgICBEcmFnICYgRHJvcCBSdW50aW1lIExheWVyICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICBFdmVudHMgZnJvbSBET006ICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAtIG1vdXNlZG93biAvIHRvdWNoc3RhcnQgICAgICAgICAg4pSCXG4vLyDilIIgICAgLSBtb3VzZW1vdmUgLyB0b3VjaG1vdmUgICAgICAgICAgIOKUglxuLy8g4pSCICAgIC0gcG9pbnRlcnVwICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgIOKGkyBSb3V0ZWQgdG8gICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSCXG4vLyDilIIgIOKUgiAgICAgRHJhZ0FuZERyb3BCYXNlICAgICAgICAgIOKUgiAgICDilIJcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUglxuLy8g4pSCICAgICAgICDilrIgICAgICAgICAgICAg4payICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgIOKUgiAgICAgICAgICAgICDilIIgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgIGNoZWNrRHJhZyAgICAgb25Qb2ludGVyTW92ZSAgICAgICAg4pSCXG4vLyDilIIgICBTZXF1ZW5jZSAgICAgICsgRmluYWxpemF0aW9uICAgICAgIOKUglxuLy8g4pSCICAgVG8gU3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmFxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnZi1mbG93W2ZEcmFnZ2FibGVdJyxcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJyxcbiAgcHJvdmlkZXJzOiBbRkRyYWdIYW5kbGVyUmVzdWx0XSxcbn0pXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIEZEcmFnZ2FibGVCYXNlXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzdWx0ID0gaW5qZWN0KEZEcmFnSGFuZGxlclJlc3VsdCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtU2VydmljZSk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLCBhbGlhczogJ2ZEcmFnZ2FibGVEaXNhYmxlZCcgfSlcbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZNdWx0aVNlbGVjdFRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSAoZXZlbnQ6IEZUcmlnZ2VyRXZlbnQpID0+IHtcbiAgICByZXR1cm4gdGhpcy5fcGxhdGZvcm0uZ2V0T1MoKSA9PT0gRU9wZXJhdGlvblN5c3RlbS5NQUNfT1MgPyBldmVudC5tZXRhS2V5IDogZXZlbnQuY3RybEtleTtcbiAgfTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZlJlYXNzaWduQ29ubmVjdGlvblRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTm9kZVJlc2l6ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTm9kZVJvdGF0ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTm9kZU1vdmVUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZkNhbnZhc01vdmVUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZkV4dGVybmFsSXRlbVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zPigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkVtaXRPbk5vZGVJbnRlcnNlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk1vdmVOb2RlcyA9IG5ldyBFdmVudEVtaXR0ZXI8Rk1vdmVOb2Rlc0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduQ29ubmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJvcFRvR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSB2ZXJ0aWNhbCBjZWxsIHNpemUgZm9yIHRoZSBncmlkLlxuICAgKiBUaGlzIHZhbHVlIGlzIHVzZWQgdG8gc25hcCBub2RlcyB0byBhIHZlcnRpY2FsIGdyaWQgd2hpbGUgZHJhZ2dpbmcuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGAxYCwgd2hpY2ggbWVhbnMgdGhhdCBub2RlcyB3aWxsIHNuYXAgdG8gZXZlcnkgcGl4ZWwgdmVydGljYWxseS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2Q2VsbFNpemUgPSBpbnB1dCgxLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IHVua25vd24pID0+IG51bWJlckF0dHJpYnV0ZSh2YWx1ZSwgMSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBob3Jpem9udGFsIGNlbGwgc2l6ZSBmb3IgdGhlIGdyaWQuXG4gICAqIFRoaXMgdmFsdWUgaXMgdXNlZCB0byBzbmFwIG5vZGVzIHRvIGEgaG9yaXpvbnRhbCBncmlkIHdoaWxlIGRyYWdnaW5nLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgMWAsIHdoaWNoIG1lYW5zIHRoYXQgbm9kZXMgd2lsbCBzbmFwIHRvIGV2ZXJ5IHBpeGVsIGhvcml6b250YWxseS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBoQ2VsbFNpemUgPSBpbnB1dCgxLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IHVua25vd24pID0+IG51bWJlckF0dHJpYnV0ZSh2YWx1ZSwgMSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNlbGwgc2l6ZSBzaG91bGQgYmUgYXBwbGllZCB3aGlsZSBkcmFnZ2luZy5cbiAgICogSWYgc2V0IHRvIGB0cnVlYCwgdGhlIGRyYWdnZWQgbm9kZXMgd2lsbCBzbmFwIHRvIHRoZSBncmlkIGRlZmluZWQgYnkgYHZDZWxsU2l6ZWAgYW5kIGBoQ2VsbFNpemVgLlxuICAgKiBJZiBzZXQgdG8gYGZhbHNlYCwgdGhlIG5vZGVzIHdpbGwgbW92ZSBmcmVlbHkgd2l0aG91dCBzbmFwcGluZyB0byB0aGUgZ3JpZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmQ2VsbFNpemVXaGlsZURyYWdnaW5nID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSksXG4gIH0pO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJhZ1N0YXJ0ZWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0JFRk9SRV9NQUlOX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9iZWZvcmVQbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9BRlRFUl9NQUlOX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9hZnRlclBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEFkZERuZFRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuICAgIGlmIChpc0RyYWdCbG9ja2VyKGV2ZW50LnRhcmdldEVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVzdWx0LmNsZWFyKCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcblxuICAgIHRoaXMuX2JlZm9yZVBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vblBvaW50ZXJEb3duPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZTaW5nbGVTZWxlY3RSZXF1ZXN0KGV2ZW50LCB0aGlzLmZNdWx0aVNlbGVjdFRyaWdnZXIpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICBuZXcgRlJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mUmVhc3NpZ25Db25uZWN0aW9uVHJpZ2dlciksXG4gICAgKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICBuZXcgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXIpLFxuICAgICk7XG5cbiAgICB0aGlzLl9hZnRlclBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vblBvaW50ZXJEb3duPy4oZXZlbnQpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0T3JUb3VjaCA9IGV2ZW50LmlzTW91c2VMZWZ0QnV0dG9uKCk7XG4gICAgaWYgKCFpc01vdXNlTGVmdE9yVG91Y2gpIHtcbiAgICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNNb3VzZUxlZnRPclRvdWNoO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQ6IElQb2ludGVyRXZlbnQpIHtcbiAgICB0aGlzLl9iZWZvcmVQbHVnaW5zLmZvckVhY2goKHApID0+IHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZOb2RlUmVzaXplVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVSb3RhdGVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZk5vZGVSb3RhdGVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZk5vZGVNb3ZlVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBGRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZFeHRlcm5hbEl0ZW1UcmlnZ2VyKSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRHJvcFRvR3JvdXBQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZDYW52YXNNb3ZlVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fYWZ0ZXJQbHVnaW5zLmZvckVhY2goKHApID0+IHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBQcmVwYXJlRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBPblBvaW50ZXJNb3ZlUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fYmVmb3JlUGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZVJvdGF0ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBEcm9wVG9Hcm91cEZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkNhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2FmdGVyUGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgRHJhZ1JlY3RDYWNoZS5pbnZhbGlkYXRlQWxsKCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcblxuICAgIHRoaXMuX3Jlc3VsdC5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QoKSk7XG4gICAgc3VwZXIudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUVMLHdCQUF3QixFQUN4QiwwQkFBMEIsR0FDM0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDZCQUE2QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxrQ0FBa0MsRUFFbEMsZ0NBQWdDLEVBRWhDLGtDQUFrQyxFQUNsQyxxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLHdDQUF3QyxHQUN6QyxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsK0JBQStCLEVBQy9CLHNCQUFzQixFQUd0Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQ3BCLDBCQUEwQixFQUMxQix5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUVMLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsbUNBQW1DLEdBQ3BDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFF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ZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGTW92ZU5vZGVzRXZlbnQsXG4gIEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCxcbiAgTW92ZU5vZGVQcmVwYXJhdGlvblJlcXVlc3QsXG59IGZyb20gJy4vZi1ub2RlLW1vdmUnO1xuaW1wb3J0IHsgRkNhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QsIEZDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mLWNhbnZhcyc7XG5pbXBvcnQge1xuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBGQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBNb3ZlQ29ubmVjdGlvbldheXBvaW50RmluYWxpemVSZXF1ZXN0LFxuICBNb3ZlQ29ubmVjdGlvbldheXBvaW50UHJlcGFyYXRpb25SZXF1ZXN0LFxufSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZERuZFRvU3RvcmVSZXF1ZXN0LFxuICBkZWZhdWx0RXZlbnRUcmlnZ2VyLFxuICBEcmFnUmVjdENhY2hlLFxuICBFbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnRSZXF1ZXN0LFxuICBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBGRXZlbnRUcmlnZ2VyLFxuICBGVHJpZ2dlckV2ZW50LFxuICBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgT25Qb2ludGVyTW92ZVJlcXVlc3QsXG4gIFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBSZW1vdmVEbmRGcm9tU3RvcmVSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZU5vZGVFdmVudCxcbiAgRkV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRkV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCxcbiAgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3QsXG59IGZyb20gJy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9zaW5nbGUtc2VsZWN0JztcbmltcG9ydCB7IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QsIE5vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2Ytbm9kZS1yZXNpemUnO1xuaW1wb3J0IHtcbiAgRl9BRlRFUl9NQUlOX1BMVUdJTixcbiAgRl9CRUZPUkVfTUFJTl9QTFVHSU4sXG4gIElGRHJhZ0FuZERyb3BQbHVnaW4sXG59IGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcbmltcG9ydCB7IEVPcGVyYXRpb25TeXN0ZW0sIFBsYXRmb3JtU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkRyYWdTdGFydGVkRXZlbnQsIEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZXJSZXN1bHQgfSBmcm9tICcuL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIERyb3BUb0dyb3VwRmluYWxpemVSZXF1ZXN0LFxuICBEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkRyb3BUb0dyb3VwRXZlbnQsXG59IGZyb20gJy4vZi1kcm9wLXRvLWdyb3VwJztcbmltcG9ydCB7IEZOb2RlUm90YXRlRmluYWxpemVSZXF1ZXN0LCBGTm9kZVJvdGF0ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLXJvdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnLi4vZHJhZy10b29sa2l0JztcbmltcG9ydCB7IGlzRHJhZ0Jsb2NrZXIgfSBmcm9tICcuL2lzLWRyYWctYmxvY2tlcic7XG5pbXBvcnQgeyBQaW5jaFRvWm9vbUZpbmFsaXplUmVxdWVzdCwgUGluY2hUb1pvb21QcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL3BpbmNoLXRvLXpvb20nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25XYXlwb2ludHNDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tdjInO1xuXG4vLyDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJBcbi8vIOKUgiAgICAgICAgQW5ndWxhciBSZWFsbSAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAg4pSCXG4vLyDilIIgIOKUgiAgRkRyYWdnYWJsZURpcmVjdGl2ZSAgIOKUgiAg4pSCXG4vLyDilIIgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAg4pSCXG4vLyDilIIgICAgICAgICAgICAg4pSCIGV4dGVuZHMgICAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilrzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUglxuLy8g4pSCICDilIIgICAgIEZEcmFnZ2FibGVCYXNlICAgICDilIIgIOKUglxuLy8g4pSCICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICDilIIgb3ZlcnJpZGVzICAgICAg4pSCXG4vLyDilIIgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKWvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAg4pSCXG4vLyDilIIgIOKUgiAgIERyYWdBbmREcm9wQmFzZSAgICAgIOKUgiAg4pSCXG4vLyDilIIgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAg4pSCXG4vLyDilIIgICAgICAgICAgICAg4pSCICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgc3Vic2NyaWJlcyB0byAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAg4pSCICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICDilIzilIDilIDilIDilIDilrzilIDilIDilIDilIDilJAgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICDilIIgRG9jdW1lbnTilIIgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAg4pSCXG4vLyDilIIgIOKUgiAgICAgICBGTWVkaWF0b3IgICAgICAgIOKUguKXhOKUgOKUrOKUgOKUgOKUgOKUgOKUkFxuLy8g4pSCICDilJTilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggIOKUgiAgICDilIJcbi8vIOKUgiAgICAgICAg4pSCICAgICAgICDilIIgICAgICAgICAgICDilIIgICAg4pSCXG4vLyDilIIgICBleGVjdXRlcyAgIGV4ZWN1dGVzICAgICAgICDilIIgICAg4pSCXG4vLyDilIIgICBGKlJlcXVlc3QgICBGKkV2ZW50ICAgICAgICDilIIgICAg4pSCXG4vLyDilIIgICAgICAgIOKUgiAgICAgICAg4pSCICAgICAgICAgICAg4pSCICAgIOKUglxuLy8g4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSYXG4vL1xuLy9cbi8vIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkFxuLy8g4pSCICAgICAgIERyYWcgJiBEcm9wIFJ1bnRpbWUgTGF5ZXIgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgIEV2ZW50cyBmcm9tIERPTTogICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgIC0gbW91c2Vkb3duIC8gdG91Y2hzdGFydCAgICAgICAgICDilIJcbi8vIOKUgiAgICAtIG1vdXNlbW92ZSAvIHRvdWNobW92ZSAgICAgICAgICAg4pSCXG4vLyDilIIgICAgLSBwb2ludGVydXAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAg4oaTIFJvdXRlZCB0byAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIJcbi8vIOKUgiAg4pSCICAgICBEcmFnQW5kRHJvcEJhc2UgICAgICAgICAg4pSCICAgIOKUglxuLy8g4pSCICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSCXG4vLyDilIIgICAgICAgIOKWsiAgICAgICAgICAgICDilrIgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAg4pSCICAgICAgICAgICAgIOKUgiAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgY2hlY2tEcmFnICAgICBvblBvaW50ZXJNb3ZlICAgICAgICDilIJcbi8vIOKUgiAgIFNlcXVlbmNlICAgICAgKyBGaW5hbGl6YXRpb24gICAgICAg4pSCXG4vLyDilIIgICBUbyBTdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdmLWZsb3dbZkRyYWdnYWJsZV0nLFxuICBleHBvcnRBczogJ2ZEcmFnZ2FibGUnLFxuICBwcm92aWRlcnM6IFtGRHJhZ0hhbmRsZXJSZXN1bHRdLFxufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGlyZWN0aXZlXG4gIGV4dGVuZHMgRkRyYWdnYWJsZUJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXN1bHQgPSBpbmplY3QoRkRyYWdIYW5kbGVyUmVzdWx0KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm1TZXJ2aWNlKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsIGFsaWFzOiAnZkRyYWdnYWJsZURpc2FibGVkJyB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZk11bHRpU2VsZWN0VHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IChldmVudDogRlRyaWdnZXJFdmVudCkgPT4ge1xuICAgIHJldHVybiB0aGlzLl9wbGF0Zm9ybS5nZXRPUygpID09PSBFT3BlcmF0aW9uU3lzdGVtLk1BQ19PUyA/IGV2ZW50Lm1ldGFLZXkgOiBldmVudC5jdHJsS2V5O1xuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmUmVhc3NpZ25Db25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgcHVibGljIGZDb25uZWN0aW9uV2F5cG9pbnRzVHJpZ2dlciA9IGlucHV0PEZFdmVudFRyaWdnZXI+KGRlZmF1bHRFdmVudFRyaWdnZXIpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTW92ZUNvbnRyb2xQb2ludFRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTm9kZVJlc2l6ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTm9kZVJvdGF0ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTm9kZU1vdmVUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZkNhbnZhc01vdmVUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZkV4dGVybmFsSXRlbVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zPigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkVtaXRPbk5vZGVJbnRlcnNlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk1vdmVOb2RlcyA9IG5ldyBFdmVudEVtaXR0ZXI8Rk1vdmVOb2Rlc0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduQ29ubmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uV2F5cG9pbnRzQ2hhbmdlZCA9IG91dHB1dDxGQ29ubmVjdGlvbldheXBvaW50c0NoYW5nZWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcm9wVG9Hcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8RkRyb3BUb0dyb3VwRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHZlcnRpY2FsIGNlbGwgc2l6ZSBmb3IgdGhlIGdyaWQuXG4gICAqIFRoaXMgdmFsdWUgaXMgdXNlZCB0byBzbmFwIG5vZGVzIHRvIGEgdmVydGljYWwgZ3JpZCB3aGlsZSBkcmFnZ2luZy5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDFgLCB3aGljaCBtZWFucyB0aGF0IG5vZGVzIHdpbGwgc25hcCB0byBldmVyeSBwaXhlbCB2ZXJ0aWNhbGx5LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZDZWxsU2l6ZSA9IGlucHV0KDEsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gbnVtYmVyQXR0cmlidXRlKHZhbHVlLCAxKSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGhvcml6b250YWwgY2VsbCBzaXplIGZvciB0aGUgZ3JpZC5cbiAgICogVGhpcyB2YWx1ZSBpcyB1c2VkIHRvIHNuYXAgbm9kZXMgdG8gYSBob3Jpem9udGFsIGdyaWQgd2hpbGUgZHJhZ2dpbmcuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGAxYCwgd2hpY2ggbWVhbnMgdGhhdCBub2RlcyB3aWxsIHNuYXAgdG8gZXZlcnkgcGl4ZWwgaG9yaXpvbnRhbGx5LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGhDZWxsU2l6ZSA9IGlucHV0KDEsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gbnVtYmVyQXR0cmlidXRlKHZhbHVlLCAxKSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgd2hldGhlciB0aGUgY2VsbCBzaXplIHNob3VsZCBiZSBhcHBsaWVkIHdoaWxlIGRyYWdnaW5nLlxuICAgKiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgZHJhZ2dlZCBub2RlcyB3aWxsIHNuYXAgdG8gdGhlIGdyaWQgZGVmaW5lZCBieSBgdkNlbGxTaXplYCBhbmQgYGhDZWxsU2l6ZWAuXG4gICAqIElmIHNldCB0byBgZmFsc2VgLCB0aGUgbm9kZXMgd2lsbCBtb3ZlIGZyZWVseSB3aXRob3V0IHNuYXBwaW5nIHRvIHRoZSBncmlkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZDZWxsU2l6ZVdoaWxlRHJhZ2dpbmcgPSBpbnB1dChmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBib29sZWFuQXR0cmlidXRlKHZhbHVlKSxcbiAgfSk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ1N0YXJ0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZEcmFnU3RhcnRlZEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfQkVGT1JFX01BSU5fUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgX2JlZm9yZVBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0FGVEVSX01BSU5fUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgX2FmdGVyUGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQWRkRG5kVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKGlzRHJhZ0Jsb2NrZXIoZXZlbnQudGFyZ2V0RWxlbWVudCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLl9yZXN1bHQuY2xlYXIoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5fYmVmb3JlUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uUG9pbnRlckRvd24/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUGluY2hUb1pvb21QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFNpbmdsZVNlbGVjdFJlcXVlc3QoZXZlbnQsIHRoaXMuZk11bHRpU2VsZWN0VHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBGUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZSZWFzc2lnbkNvbm5lY3Rpb25UcmlnZ2VyKSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlciksXG4gICAgKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICBuZXcgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXIpLFxuICAgICk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IE1vdmVDb25uZWN0aW9uV2F5cG9pbnRQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZkNvbm5lY3Rpb25XYXlwb2ludHNUcmlnZ2VyKCkpLFxuICAgICk7XG5cbiAgICB0aGlzLl9hZnRlclBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vblBvaW50ZXJEb3duPy4oZXZlbnQpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0T3JUb3VjaCA9IGV2ZW50LmlzTW91c2VMZWZ0QnV0dG9uKCk7XG4gICAgaWYgKCFpc01vdXNlTGVmdE9yVG91Y2gpIHtcbiAgICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNNb3VzZUxlZnRPclRvdWNoO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQ6IElQb2ludGVyRXZlbnQpIHtcbiAgICB0aGlzLl9iZWZvcmVQbHVnaW5zLmZvckVhY2goKHApID0+IHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZOb2RlUmVzaXplVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVSb3RhdGVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZk5vZGVSb3RhdGVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBNb3ZlTm9kZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mTm9kZU1vdmVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IEZFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZkV4dGVybmFsSXRlbVRyaWdnZXIpLFxuICAgICk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkNhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZkNhbnZhc01vdmVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9hZnRlclBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE9uUG9pbnRlck1vdmVSZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9iZWZvcmVQbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXA/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRlJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkNyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlUm90YXRlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IERyb3BUb0dyb3VwRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fYWZ0ZXJQbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXA/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUGluY2hUb1pvb21GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE1vdmVDb25uZWN0aW9uV2F5cG9pbnRGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgRHJhZ1JlY3RDYWNoZS5pbnZhbGlkYXRlQWxsKCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcblxuICAgIHRoaXMuX3Jlc3VsdC5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QoKSk7XG4gICAgc3VwZXIudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
@@ -1,11 +1,13 @@
1
1
  import { PointExtensions, RoundedRect } from '@foblex/2d';
2
2
  import { FMediator } from '@foblex/mediator';
3
- import { CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest, } from '../../../domain';
3
+ import { GetConnectorAndRectRequest } from '../../../domain';
4
4
  import { FComponentsStore } from '../../../f-storage';
5
+ import { ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, } from '../../../f-connection-v2';
5
6
  export class BaseConnectionDragHandler {
6
7
  fConnection;
7
8
  _mediator;
8
9
  _store;
10
+ _connectionBehaviour;
9
11
  _fOutputWithRect;
10
12
  _fInputWithRect;
11
13
  get _fOutput() {
@@ -27,6 +29,7 @@ export class BaseConnectionDragHandler {
27
29
  constructor(_injector, fConnection) {
28
30
  this.fConnection = fConnection;
29
31
  this._mediator = _injector.get(FMediator);
32
+ this._connectionBehaviour = _injector.get(ConnectionBehaviourBuilder);
30
33
  this._store = _injector.get(FComponentsStore);
31
34
  this._initialize();
32
35
  }
@@ -44,7 +47,7 @@ export class BaseConnectionDragHandler {
44
47
  this._redrawConnection(this._recalculateConnection());
45
48
  }
46
49
  _recalculateConnection() {
47
- return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide));
50
+ return this._connectionBehaviour.handle(new ConnectionBehaviourBuilderRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide));
48
51
  }
49
52
  _redrawConnection(line) {
50
53
  this.fConnection.setLine(line);
@@ -54,4 +57,4 @@ export class BaseConnectionDragHandler {
54
57
  return `ConnectionDragHandler Error: Connection From (fOutput)${this.fConnection.fOutputId} To (fInput)${this.fConnection.fInputId}. ${message}. Please ensure that all f-connections are associated with existing connectors`;
55
58
  }
56
59
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDBCQUEwQixHQUUzQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE1BQU0sT0FBTyx5QkFBeUI7SUFrQzNCO0lBakNRLFNBQVMsQ0FBWTtJQUNyQixNQUFNLENBQW1CO0lBRWxDLGdCQUFnQixDQUFxQjtJQUNyQyxlQUFlLENBQXFCO0lBRTVDLElBQVksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FDYixJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxZQUFZLENBQUMsQ0FDekYsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUNiLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLFlBQVksQ0FBQyxDQUN2RixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxpQkFBaUIsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakQsaUJBQWlCLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXpELFlBQ0UsU0FBbUIsRUFDWixXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFFbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzVDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUM5QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0MsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzdDLENBQUM7SUFDSixDQUFDO0lBRU0sbUJBQW1CLENBQUMsVUFBa0I7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsVUFBa0I7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRVMsTUFBTTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsSUFBSSx3Q0FBd0MsQ0FDMUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUN6RixXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUN4RixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDakQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVc7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sd0JBQXdCLENBQUMsT0FBZTtRQUM5QyxPQUFPLHlEQUF5RCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsZUFBZSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxPQUFPLGdGQUFnRixDQUFDO0lBQ2pPLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbiAgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JBbmRSZWN0LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcblxuICBwcml2YXRlIF9mT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcbiAgcHJpdmF0ZSBfZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcblxuICBwcml2YXRlIGdldCBfZk91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQoKSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgdGhpcy5fY29ubmVjdG9yTm90Rm91bmRQcmVmaXgoYGZPdXRwdXQgd2l0aCBpZCAke3RoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkfSBub3QgZm91bmRgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSW5wdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mSW5wdXRJZCgpKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICB0aGlzLl9jb25uZWN0b3JOb3RGb3VuZFByZWZpeChgZklucHV0IHdpdGggaWQgJHt0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkfSBub3QgZm91bmRgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX3NvdXJjZURpZmZlcmVuY2UgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIF90YXJnZXREaWZmZXJlbmNlID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHB1YmxpYyBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgICB0aGlzLl9tZWRpYXRvciA9IF9pbmplY3Rvci5nZXQoRk1lZGlhdG9yKTtcbiAgICB0aGlzLl9zdG9yZSA9IF9pbmplY3Rvci5nZXQoRkNvbXBvbmVudHNTdG9yZSk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihcbiAgICAgIG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mT3V0cHV0KSxcbiAgICApO1xuICAgIHRoaXMuX2ZJbnB1dFdpdGhSZWN0ID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdD4oXG4gICAgICBuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZklucHV0KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fc291cmNlRGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gIH1cblxuICBwdWJsaWMgc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl90YXJnZXREaWZmZXJlbmNlID0gZGlmZmVyZW5jZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVkcmF3Q29ubmVjdGlvbih0aGlzLl9yZWNhbGN1bGF0ZUNvbm5lY3Rpb24oKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWNhbGN1bGF0ZUNvbm5lY3Rpb24oKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLl9zb3VyY2VEaWZmZXJlbmNlKSxcbiAgICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuX2ZJbnB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLl90YXJnZXREaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5mQ29ubmVjdGlvbixcbiAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3Q29ubmVjdGlvbihsaW5lOiBJTGluZSk6IHZvaWQge1xuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2V0TGluZShsaW5lKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29ubmVjdG9yTm90Rm91bmRQcmVmaXgobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYENvbm5lY3Rpb25EcmFnSGFuZGxlciBFcnJvcjogQ29ubmVjdGlvbiBGcm9tIChmT3V0cHV0KSR7dGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWR9IFRvIChmSW5wdXQpJHt0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkfS4gJHttZXNzYWdlfS4gUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBmLWNvbm5lY3Rpb25zIGFyZSBhc3NvY2lhdGVkIHdpdGggZXhpc3RpbmcgY29ubmVjdG9yc2A7XG4gIH1cbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQXFCLE1BQU0saUJBQWlCLENBQUM7QUFFaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixpQ0FBaUMsR0FFbEMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxNQUFNLE9BQU8seUJBQXlCO0lBbUMzQjtJQWxDUSxTQUFTLENBQVk7SUFDckIsTUFBTSxDQUFtQjtJQUN6QixvQkFBb0IsQ0FBNkI7SUFFMUQsZ0JBQWdCLENBQXFCO0lBQ3JDLGVBQWUsQ0FBcUI7SUFFNUMsSUFBWSxRQUFRO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUNiLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLFlBQVksQ0FBQyxDQUN6RixDQUFDO1FBQ0osQ0FBQztRQUVE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QVEsS0FBSyxPQUFPLGdGQUFnRixDQUFDO0lBQ2pPLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QsIElDb25uZWN0b3JBbmRSZWN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25CZWhhdmlvdXJCdWlsZGVyLFxuICBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3QsXG4gIEZDb25uZWN0aW9uQmFzZSxcbn0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uLXYyJztcblxuZXhwb3J0IGNsYXNzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdGlvbkJlaGF2aW91cjogQ29ubmVjdGlvbkJlaGF2aW91ckJ1aWxkZXI7XG5cbiAgcHJpdmF0ZSBfZk91dHB1dFdpdGhSZWN0ITogSUNvbm5lY3RvckFuZFJlY3Q7XG4gIHByaXZhdGUgX2ZJbnB1dFdpdGhSZWN0ITogSUNvbm5lY3RvckFuZFJlY3Q7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZPdXRwdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguZklkKCkgPT09IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkKCkpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmT3V0cHV0IHdpdGggaWQgJHt0aGlzLmZDb25uZWN0aW9uLmZPdXRwdXRJZH0gbm90IGZvdW5kYCksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZklucHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9zdG9yZS5mSW5wdXRzLmZpbmQoKHgpID0+IHguZklkKCkgPT09IHRoaXMuZkNvbm5lY3Rpb24uZklucHV0SWQoKSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgdGhpcy5fY29ubmVjdG9yTm90Rm91bmRQcmVmaXgoYGZJbnB1dCB3aXRoIGlkICR7dGhpcy5mQ29ubmVjdGlvbi5mSW5wdXRJZH0gbm90IGZvdW5kYCksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9zb3VyY2VEaWZmZXJlbmNlID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgcHJpdmF0ZSBfdGFyZ2V0RGlmZmVyZW5jZSA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwdWJsaWMgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gICAgdGhpcy5fbWVkaWF0b3IgPSBfaW5qZWN0b3IuZ2V0KEZNZWRpYXRvcik7XG4gICAgdGhpcy5fY29ubmVjdGlvbkJlaGF2aW91ciA9IF9pbmplY3Rvci5nZXQoQ29ubmVjdGlvbkJlaGF2aW91ckJ1aWxkZXIpO1xuICAgIHRoaXMuX3N0b3JlID0gX2luamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KFxuICAgICAgbmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHRoaXMuX2ZPdXRwdXQpLFxuICAgICk7XG4gICAgdGhpcy5fZklucHV0V2l0aFJlY3QgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihcbiAgICAgIG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mSW5wdXQpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9zb3VyY2VEaWZmZXJlbmNlID0gZGlmZmVyZW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3RhcmdldERpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWRyYXdDb25uZWN0aW9uKHRoaXMuX3JlY2FsY3VsYXRlQ29ubmVjdGlvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlY2FsY3VsYXRlQ29ubmVjdGlvbigpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25CZWhhdmlvdXIuaGFuZGxlKFxuICAgICAgbmV3IENvbm5lY3Rpb25CZWhhdmlvdXJCdWlsZGVyUmVxdWVzdChcbiAgICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5fc291cmNlRGlmZmVyZW5jZSksXG4gICAgICAgIFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdCh0aGlzLl9mSW5wdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5fdGFyZ2V0RGlmZmVyZW5jZSksXG4gICAgICAgIHRoaXMuZkNvbm5lY3Rpb24sXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX2ZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhd0Nvbm5lY3Rpb24obGluZTogSUxpbmUpOiB2b2lkIHtcbiAgICB0aGlzLmZDb25uZWN0aW9uLnNldExpbmUobGluZSk7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgRXJyb3I6IENvbm5lY3Rpb24gRnJvbSAoZk91dHB1dCkke3RoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkfSBUbyAoZklucHV0KSR7dGhpcy5mQ29ubmVjdGlvbi5mSW5wdXRJZH0uICR7bWVzc2FnZX0uIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgZi1jb25uZWN0aW9ucyBhcmUgYXNzb2NpYXRlZCB3aXRoIGV4aXN0aW5nIGNvbm5lY3RvcnNgO1xuICB9XG59XG4iXX0=
@@ -8,4 +8,4 @@ export class SourceConnectionDragHandler extends BaseConnectionDragHandler {
8
8
  this.redraw();
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvc291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgU291cmNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGZDb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxufVxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvc291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFDeEUsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24tdjInO1xuXG5leHBvcnQgY2xhc3MgU291cmNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSkge1xuICAgIHN1cGVyKGluamVjdG9yLCBmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==
@@ -19,4 +19,4 @@ export class SourceTargetConnectionDragHandler extends BaseConnectionDragHandler
19
19
  }
20
20
  }
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3NvdXJjZS10YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLM0UsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHlCQUF5QjtJQUU3RCxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFFM0QsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIgZXh0ZW5kcyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jYWxsVHJhY2tlciA9IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSkge1xuICAgIHN1cGVyKGluamVjdG9yLCBmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMuX2NoZWNrQW5kVHJpZ2dlckFjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KSB7XG4gICAgc3VwZXIuc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcbiAgICB0aGlzLl9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQW5kVHJpZ2dlckFjdGlvbigpIHtcbiAgICBpZiAoWy4uLnRoaXMuX2NhbGxUcmFja2VyLnZhbHVlcygpXS5ldmVyeShCb29sZWFuKSkge1xuICAgICAgdGhpcy5fY2FsbFRyYWNrZXIuY2xlYXIoKTtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfVxuICB9XG59XG5cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3NvdXJjZS10YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLM0UsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHlCQUF5QjtJQUM3RCxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFFM0QsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbi12Mic7XG5cbmV4cG9ydCBjbGFzcyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIgZXh0ZW5kcyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2FsbFRyYWNrZXIgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpIHtcbiAgICBzdXBlcihpbmplY3RvciwgZkNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KSB7XG4gICAgc3VwZXIuc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcbiAgICB0aGlzLl9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5fY2hlY2tBbmRUcmlnZ2VyQWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKSB7XG4gICAgaWYgKFsuLi50aGlzLl9jYWxsVHJhY2tlci52YWx1ZXMoKV0uZXZlcnkoQm9vbGVhbikpIHtcbiAgICAgIHRoaXMuX2NhbGxUcmFja2VyLmNsZWFyKCk7XG4gICAgICB0aGlzLnJlZHJhdygpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -8,4 +8,4 @@ export class TargetConnectionDragHandler extends BaseConnectionDragHandler {
8
8
  this.redraw();
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSTNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGZDb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxufVxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFDeEUsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24tdjInO1xuXG5leHBvcnQgY2xhc3MgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSkge1xuICAgIHN1cGVyKGluamVjdG9yLCBmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==
@@ -56,4 +56,4 @@ export { CreateInputConnectionHandlerAndSetToNodeHandler };
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateInputConnectionHandlerAndSetToNodeHandler, decorators: [{
57
57
  type: Injectable
58
58
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci9jcmVhdGUtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNEQUFzRCxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0ksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHbEUsT0FBTyxFQUVMLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDNUIsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFJakMsSUFBTSwrQ0FBK0MsR0FBckQsTUFBTSwrQ0FBK0M7SUFHekMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUErRDtRQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsb0NBQW9DLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFdBQXNCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsV0FBc0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87YUFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxvQ0FBb0MsQ0FDMUMsVUFBMkIsRUFDM0IsT0FBK0Q7UUFFL0QsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQ3hELE9BQU8sQ0FBQywwQkFBMEIsRUFDbEMsVUFBVSxDQUNYLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNqRixPQUFPLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyw2QkFBNkIsQ0FDbkMsMEJBQXVELEVBQ3ZELFVBQTJCO1FBRTNCLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsU0FBbUIsRUFDbkIsVUFBMkI7UUFFM0IsSUFBSSxNQUE2QyxDQUFDO1FBQ2xELElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sR0FBRyxJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQTlEVSwrQ0FBK0M7NEdBQS9DLCtDQUErQzs7QUFBL0MsK0NBQStDO0lBRDNELGtCQUFrQixDQUFDLHNEQUFzRCxDQUFDO0dBQzlELCtDQUErQyxDQStEM0Q7OzRGQS9EWSwrQ0FBK0M7a0JBRjNELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQge1xuICBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyLFxuICBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIsXG4gIFRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlcixcbn0gZnJvbSAnLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlSW5wdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCwgdm9pZD5cbntcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIGdldCBfY29ubmVjdGlvbnMoKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldElucHV0Q29ubmVjdGlvbnMocmVxdWVzdC5kcmFnSGFuZGxlci5ub2RlT3JHcm91cCkuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgdGhpcy5fY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoY29ubmVjdGlvbiwgcmVxdWVzdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dENvbm5lY3Rpb25zKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldCh0aGlzLl9nZXROb2RlSW5wdXRJZHMobm9kZU9yR3JvdXApKTtcblxuICAgIHJldHVybiB0aGlzLl9jb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IGlkcy5oYXMoeC5mSW5wdXRJZCgpKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlSW5wdXRJZHMobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZklucHV0c1xuICAgICAgLmZpbHRlcigoeCkgPT4gbm9kZU9yR3JvdXAuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHJlcXVlc3Q6IENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCxcbiAgKTogdm9pZCB7XG4gICAgbGV0IGNvbm5lY3Rpb25IYW5kbGVyID0gdGhpcy5fZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihcbiAgICAgIHJlcXVlc3QuZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMsXG4gICAgICBjb25uZWN0aW9uLFxuICAgICk7XG4gICAgaWYgKCFjb25uZWN0aW9uSGFuZGxlcikge1xuICAgICAgY29ubmVjdGlvbkhhbmRsZXIgPSB0aGlzLl9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0Lm91dHB1dElkcywgY29ubmVjdGlvbik7XG4gICAgICByZXF1ZXN0LmV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJzLnB1c2goY29ubmVjdGlvbkhhbmRsZXIpO1xuICAgIH1cbiAgICByZXF1ZXN0LmRyYWdIYW5kbGVyLmZUYXJnZXRIYW5kbGVycy5wdXNoKGNvbm5lY3Rpb25IYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIoXG4gICAgZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVycy5maW5kKCh4KSA9PiB4LmZDb25uZWN0aW9uLmZJZCgpID09PSBjb25uZWN0aW9uLmZJZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKFxuICAgIG91dHB1dElkczogc3RyaW5nW10sXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgICBsZXQgcmVzdWx0OiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgdW5kZWZpbmVkO1xuICAgIGlmIChvdXRwdXRJZHMuaW5jbHVkZXMoY29ubmVjdGlvbi5mT3V0cHV0SWQoKSkpIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5faW5qZWN0b3IsIGNvbm5lY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBuZXcgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBjb25uZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLWlucHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci9jcmVhdGUtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNEQUFzRCxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0ksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUVMLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDNUIsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFLakMsSUFBTSwrQ0FBK0MsR0FBckQsTUFBTSwrQ0FBK0M7SUFHekMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUErRDtRQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsb0NBQW9DLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFdBQXNCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsV0FBc0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87YUFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxvQ0FBb0MsQ0FDMUMsVUFBMkIsRUFDM0IsT0FBK0Q7UUFFL0QsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQ3hELE9BQU8sQ0FBQywwQkFBMEIsRUFDbEMsVUFBVSxDQUNYLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNqRixPQUFPLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyw2QkFBNkIsQ0FDbkMsMEJBQXVELEVBQ3ZELFVBQTJCO1FBRTNCLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsU0FBbUIsRUFDbkIsVUFBMkI7UUFFM0IsSUFBSSxNQUE2QyxDQUFDO1FBQ2xELElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sR0FBRyxJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQTlEVSwrQ0FBK0M7NEdBQS9DLCtDQUErQzs7QUFBL0MsK0NBQStDO0lBRDNELGtCQUFrQixDQUFDLHNEQUFzRCxDQUFDO0dBQzlELCtDQUErQyxDQStEM0Q7OzRGQS9EWSwrQ0FBK0M7a0JBRjNELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7XG4gIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIsXG4gIFNvdXJjZVRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlcixcbiAgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyLFxufSBmcm9tICcuLi8uLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uLXYyJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDcmVhdGVJbnB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlSW5wdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCwgdm9pZD5cbntcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIGdldCBfY29ubmVjdGlvbnMoKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldElucHV0Q29ubmVjdGlvbnMocmVxdWVzdC5kcmFnSGFuZGxlci5ub2RlT3JHcm91cCkuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgdGhpcy5fY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoY29ubmVjdGlvbiwgcmVxdWVzdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dENvbm5lY3Rpb25zKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldCh0aGlzLl9nZXROb2RlSW5wdXRJZHMobm9kZU9yR3JvdXApKTtcblxuICAgIHJldHVybiB0aGlzLl9jb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IGlkcy5oYXMoeC5mSW5wdXRJZCgpKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlSW5wdXRJZHMobm9kZU9yR3JvdXA6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZklucHV0c1xuICAgICAgLmZpbHRlcigoeCkgPT4gbm9kZU9yR3JvdXAuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHJlcXVlc3Q6IENyZWF0ZUlucHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCxcbiAgKTogdm9pZCB7XG4gICAgbGV0IGNvbm5lY3Rpb25IYW5kbGVyID0gdGhpcy5fZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihcbiAgICAgIHJlcXVlc3QuZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMsXG4gICAgICBjb25uZWN0aW9uLFxuICAgICk7XG4gICAgaWYgKCFjb25uZWN0aW9uSGFuZGxlcikge1xuICAgICAgY29ubmVjdGlvbkhhbmRsZXIgPSB0aGlzLl9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0Lm91dHB1dElkcywgY29ubmVjdGlvbik7XG4gICAgICByZXF1ZXN0LmV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJzLnB1c2goY29ubmVjdGlvbkhhbmRsZXIpO1xuICAgIH1cbiAgICByZXF1ZXN0LmRyYWdIYW5kbGVyLmZUYXJnZXRIYW5kbGVycy5wdXNoKGNvbm5lY3Rpb25IYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIoXG4gICAgZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVycy5maW5kKCh4KSA9PiB4LmZDb25uZWN0aW9uLmZJZCgpID09PSBjb25uZWN0aW9uLmZJZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKFxuICAgIG91dHB1dElkczogc3RyaW5nW10sXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgICBsZXQgcmVzdWx0OiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgdW5kZWZpbmVkO1xuICAgIGlmIChvdXRwdXRJZHMuaW5jbHVkZXMoY29ubmVjdGlvbi5mT3V0cHV0SWQoKSkpIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5faW5qZWN0b3IsIGNvbm5lY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBuZXcgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBjb25uZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -56,4 +56,4 @@ export { CreateOutputConnectionHandlerAndSetToNodeHandler };
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateOutputConnectionHandlerAndSetToNodeHandler, decorators: [{
57
57
  type: Injectable
58
58
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDN0ksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHbEUsT0FBTyxFQUVMLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDNUIsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFJakMsSUFBTSxnREFBZ0QsR0FBdEQsTUFBTSxnREFBZ0Q7SUFHMUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFnRTtRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsb0NBQW9DLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFdBQXNCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXpELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsV0FBc0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7YUFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxvQ0FBb0MsQ0FDMUMsVUFBMkIsRUFDM0IsT0FBZ0U7UUFFaEUsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQ3hELE9BQU8sQ0FBQywwQkFBMEIsRUFDbEMsVUFBVSxDQUNYLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNoRixPQUFPLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyw2QkFBNkIsQ0FDbkMsMEJBQXVELEVBQ3ZELFVBQTJCO1FBRTNCLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsUUFBa0IsRUFDbEIsVUFBMkI7UUFFM0IsSUFBSSxNQUFpQyxDQUFDO1FBQ3RDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sR0FBRyxJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQTlEVSxnREFBZ0Q7NEdBQWhELGdEQUFnRDs7QUFBaEQsZ0RBQWdEO0lBRDVELGtCQUFrQixDQUFDLHVEQUF1RCxDQUFDO0dBQy9ELGdEQUFnRCxDQStENUQ7OzRGQS9EWSxnREFBZ0Q7a0JBRjVELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0IH0gZnJvbSAnLi9jcmVhdGUtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7XG4gIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIsXG4gIFNvdXJjZVRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlcixcbiAgU291cmNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyLFxufSBmcm9tICcuLi8uLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU91dHB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0LCB2b2lkPlxue1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgZ2V0IF9jb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldE91dHB1dENvbm5lY3Rpb25zKHJlcXVlc3QuZkRyYWdIYW5kbGVyLm5vZGVPckdyb3VwKS5mb3JFYWNoKChmQ29ubmVjdGlvbikgPT4ge1xuICAgICAgdGhpcy5fY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoZkNvbm5lY3Rpb24sIHJlcXVlc3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIF9nZXRPdXRwdXRDb25uZWN0aW9ucyhub2RlT3JHcm91cDogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IGlkcyA9IG5ldyBTZXQodGhpcy5fZ2V0Tm9kZU91dHB1dElkcyhub2RlT3JHcm91cCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4gaWRzLmhhcyh4LmZPdXRwdXRJZCgpKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlT3V0cHV0SWRzKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZPdXRwdXRzXG4gICAgICAuZmlsdGVyKCh4KSA9PiBub2RlT3JHcm91cC5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVBbmRTZXRDb25uZWN0aW9uVG9Ob2RlSGFuZGxlcihcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICAgcmVxdWVzdDogQ3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCxcbiAgKTogdm9pZCB7XG4gICAgbGV0IGNvbm5lY3Rpb25IYW5kbGVyID0gdGhpcy5fZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihcbiAgICAgIHJlcXVlc3QuZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMsXG4gICAgICBjb25uZWN0aW9uLFxuICAgICk7XG4gICAgaWYgKCFjb25uZWN0aW9uSGFuZGxlcikge1xuICAgICAgY29ubmVjdGlvbkhhbmRsZXIgPSB0aGlzLl9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0LmlucHV0SWRzLCBjb25uZWN0aW9uKTtcbiAgICAgIHJlcXVlc3QuZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMucHVzaChjb25uZWN0aW9uSGFuZGxlcik7XG4gICAgfVxuICAgIHJlcXVlc3QuZkRyYWdIYW5kbGVyLmZTb3VyY2VIYW5kbGVycy5wdXNoKGNvbm5lY3Rpb25IYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIoXG4gICAgZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVycy5maW5kKCh4KSA9PiB4LmZDb25uZWN0aW9uLmZJZCgpID09PSBjb25uZWN0aW9uLmZJZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKFxuICAgIGlucHV0SWRzOiBzdHJpbmdbXSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXI7XG4gICAgaWYgKGlucHV0SWRzLmluY2x1ZGVzKGNvbm5lY3Rpb24uZklucHV0SWQoKSkpIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5faW5qZWN0b3IsIGNvbm5lY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBuZXcgU291cmNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBjb25uZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXItYW5kLXNldC10by1ub2RlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyL2NyZWF0ZS1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVyLWFuZC1zZXQtdG8tbm9kZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDN0ksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUVMLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDNUIsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFLakMsSUFBTSxnREFBZ0QsR0FBdEQsTUFBTSxnREFBZ0Q7SUFHMUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFnRTtRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsb0NBQW9DLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFdBQXNCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXpELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsV0FBc0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7YUFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxvQ0FBb0MsQ0FDMUMsVUFBMkIsRUFDM0IsT0FBZ0U7UUFFaEUsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQ3hELE9BQU8sQ0FBQywwQkFBMEIsRUFDbEMsVUFBVSxDQUNYLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNoRixPQUFPLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyw2QkFBNkIsQ0FDbkMsMEJBQXVELEVBQ3ZELFVBQTJCO1FBRTNCLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsUUFBa0IsRUFDbEIsVUFBMkI7UUFFM0IsSUFBSSxNQUFpQyxDQUFDO1FBQ3RDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sR0FBRyxJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3dHQTlEVSxnREFBZ0Q7NEdBQWhELGdEQUFnRDs7QUFBaEQsZ0RBQWdEO0lBRDVELGtCQUFrQixDQUFDLHVEQUF1RCxDQUFDO0dBQy9ELGdEQUFnRCxDQStENUQ7OzRGQS9EWSxnREFBZ0Q7a0JBRjVELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0IH0gZnJvbSAnLi9jcmVhdGUtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlci1hbmQtc2V0LXRvLW5vZGUtaGFuZGxlci1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHtcbiAgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcixcbiAgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyLFxuICBTb3VyY2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIsXG59IGZyb20gJy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3Rpb24tdjInO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU91dHB1dENvbm5lY3Rpb25IYW5kbGVyQW5kU2V0VG9Ob2RlSGFuZGxlclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDcmVhdGVPdXRwdXRDb25uZWN0aW9uSGFuZGxlckFuZFNldFRvTm9kZUhhbmRsZXJSZXF1ZXN0LCB2b2lkPlxue1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgZ2V0IF9jb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldE91dHB1dENvbm5lY3Rpb25zKHJlcXVlc3QuZkRyYWdIYW5kbGVyLm5vZGVPckdyb3VwKS5mb3JFYWNoKChmQ29ubmVjdGlvbikgPT4ge1xuICAgICAgdGhpcy5fY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoZkNvbm5lY3Rpb24sIHJlcXVlc3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIF9nZXRPdXRwdXRDb25uZWN0aW9ucyhub2RlT3JHcm91cDogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IGlkcyA9IG5ldyBTZXQodGhpcy5fZ2V0Tm9kZU91dHB1dElkcyhub2RlT3JHcm91cCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4gaWRzLmhhcyh4LmZPdXRwdXRJZCgpKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlT3V0cHV0SWRzKG5vZGVPckdyb3VwOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZPdXRwdXRzXG4gICAgICAuZmlsdGVyKCh4KSA9PiBub2RlT3JHcm91cC5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVBbmRTZXRDb25uZWN0aW9uVG9Ob2RlSGFuZGxlcihcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICAgcmVxdWVzdDogQ3JlYXRlT3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJBbmRTZXRUb05vZGVIYW5kbGVyUmVxdWVzdCxcbiAgKTogdm9pZCB7XG4gICAgbGV0IGNvbm5lY3Rpb25IYW5kbGVyID0gdGhpcy5fZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihcbiAgICAgIHJlcXVlc3QuZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMsXG4gICAgICBjb25uZWN0aW9uLFxuICAgICk7XG4gICAgaWYgKCFjb25uZWN0aW9uSGFuZGxlcikge1xuICAgICAgY29ubmVjdGlvbkhhbmRsZXIgPSB0aGlzLl9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0LmlucHV0SWRzLCBjb25uZWN0aW9uKTtcbiAgICAgIHJlcXVlc3QuZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnMucHVzaChjb25uZWN0aW9uSGFuZGxlcik7XG4gICAgfVxuICAgIHJlcXVlc3QuZkRyYWdIYW5kbGVyLmZTb3VyY2VIYW5kbGVycy5wdXNoKGNvbm5lY3Rpb25IYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIoXG4gICAgZXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBleGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVycy5maW5kKCh4KSA9PiB4LmZDb25uZWN0aW9uLmZJZCgpID09PSBjb25uZWN0aW9uLmZJZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKFxuICAgIGlucHV0SWRzOiBzdHJpbmdbXSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXI7XG4gICAgaWYgKGlucHV0SWRzLmluY2x1ZGVzKGNvbm5lY3Rpb24uZklucHV0SWQoKSkpIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5faW5qZWN0b3IsIGNvbm5lY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBuZXcgU291cmNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBjb25uZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -5,4 +5,4 @@ export class CreateSnapLinesRequest {
5
5
  this.summaryHandler = summaryHandler;
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNuYXAtbGluZXMtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLXNuYXAtbGluZXMvY3JlYXRlLXNuYXAtbGluZXMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBSWY7SUFIbEIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUUxRCxZQUNrQixjQUFzQztRQUF0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7SUFFeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIgfSBmcm9tIFwiLi4vbW92ZS1zdW1tYXJ5LWRyYWctaGFuZGxlclwiO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlU25hcExpbmVzUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NyZWF0ZVNuYXBMaW5lc1JlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VtbWFyeUhhbmRsZXI6IE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIsXG4gICkge1xuICB9XG59XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNuYXAtbGluZXMtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY3JlYXRlLXNuYXAtbGluZXMvY3JlYXRlLXNuYXAtbGluZXMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBR0w7SUFGNUIsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUUxRCxZQUE0QixjQUFzQztRQUF0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7SUFBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW92ZVN1bW1hcnlEcmFnSGFuZGxlciB9IGZyb20gJy4uL21vdmUtc3VtbWFyeS1kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlU25hcExpbmVzUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NyZWF0ZVNuYXBMaW5lc1JlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc3VtbWFyeUhhbmRsZXI6IE1vdmVTdW1tYXJ5RHJhZ0hhbmRsZXIpIHt9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { PointExtensions, RectExtensions } from '@foblex/2d';
2
- import { F_CSS_CLASS, GetNormalizedElementRectRequest } from "../../domain";
3
- import { DragConstraintPipeline, expandRectFromBaseline } from "./constraint";
4
- import { FMediator } from "@foblex/mediator";
2
+ import { F_CSS_CLASS, GetNormalizedElementRectRequest } from '../../domain';
3
+ import { DragConstraintPipeline, expandRectFromBaseline } from './constraint';
4
+ import { FMediator } from '@foblex/mediator';
5
5
  export class MoveDragHandler {
6
6
  _injector;
7
7
  nodeOrGroup;
@@ -22,7 +22,9 @@ export class MoveDragHandler {
22
22
  this.childrenNodeAndGroups = childrenNodeAndGroups;
23
23
  this.fSourceHandlers = fSourceHandlers;
24
24
  this.fTargetHandlers = fTargetHandlers;
25
- this._startRect = _injector.get(FMediator).execute(new GetNormalizedElementRectRequest(nodeOrGroup.hostElement));
25
+ this._startRect = _injector
26
+ .get(FMediator)
27
+ .execute(new GetNormalizedElementRectRequest(nodeOrGroup.hostElement));
26
28
  this._startPosition = { ...nodeOrGroup._position };
27
29
  }
28
30
  setLimits(limits) {
@@ -92,4 +94,4 @@ export class MoveDragHandler {
92
94
  });
93
95
  }
94
96
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL21vdmUtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUk1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBcUIsTUFBTSxjQUFjLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxlQUFlO0lBZVA7SUFDVjtJQUNBO0lBQ0E7SUFDQTtJQWpCTyxVQUFVLEdBQUcsV0FBVyxDQUFDO0lBRXhCLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVsRCxpQkFBaUIsR0FBbUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUUvRSxnQkFBZ0IsR0FBd0IsRUFBRSxDQUFDO0lBQzNDLFNBQVMsQ0FBMEI7SUFDbkMsT0FBTyxHQUF1QixJQUFJLENBQUM7SUFDbkMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyRCxZQUNtQixTQUFtQixFQUM3QixXQUFzQixFQUN0Qix3QkFBMkMsRUFBRSxFQUM3QyxrQkFBK0MsRUFBRSxFQUNqRCxrQkFBK0MsRUFBRTtRQUp2QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFXO1FBQ3RCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0Msb0JBQWUsR0FBZixlQUFlLENBQWtDO1FBQ2pELG9CQUFlLEdBQWYsZUFBZSxDQUFrQztRQUV4RCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksK0JBQStCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7UUFDaEgsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTSxTQUFTLENBQUMsTUFBbUI7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV6RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV4QyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDaEMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUMxQixXQUFnQztRQUVoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxNQUFpQixFQUFFLElBQVc7UUFDdEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5SCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsVUFBa0IsRUFBRSxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQ2hDLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxVQUFrQjtRQUNoRCxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sT0FBTyxDQUFDLFFBQWdCO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxNQUFNLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25HLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgSVJlY3QsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzJztcbmltcG9ydCB7IEZfQ1NTX0NMQVNTLCBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0IH0gZnJvbSBcIi4uLy4uL2RvbWFpblwiO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSURyYWdMaW1pdHMgfSBmcm9tIFwiLi9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvblwiO1xuaW1wb3J0IHsgRHJhZ0NvbnN0cmFpbnRQaXBlbGluZSwgZXhwYW5kUmVjdEZyb21CYXNlbGluZSwgSUNvbnN0cmFpbnRSZXN1bHQgfSBmcm9tIFwiLi9jb25zdHJhaW50XCI7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tIFwiQGZvYmxleC9tZWRpYXRvclwiO1xuXG5leHBvcnQgY2xhc3MgTW92ZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZEcmFnSGFuZGxlciB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZFdmVudFR5cGUgPSAnbW92ZS1ub2RlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGFydFBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhcnRSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX2FwcGx5Q29uc3RyYWludHM6IChkaWZmZXJlbmNlOiBJUG9pbnQpID0+IElQb2ludCA9IChkaWZmZXJlbmNlKSA9PiBkaWZmZXJlbmNlO1xuXG4gIHByaXZhdGUgX2xhc3RTb2Z0UmVzdWx0czogSUNvbnN0cmFpbnRSZXN1bHRbXSA9IFtdO1xuICBwcml2YXRlIF9waXBlbGluZSE6IERyYWdDb25zdHJhaW50UGlwZWxpbmU7XG4gIHByaXZhdGUgX2xpbWl0czogSURyYWdMaW1pdHMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFzdFBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIG5vZGVPckdyb3VwOiBGTm9kZUJhc2UsXG4gICAgcHVibGljIGNoaWxkcmVuTm9kZUFuZEdyb3VwczogTW92ZURyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlNvdXJjZUhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlRhcmdldEhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgKSB7XG4gICAgdGhpcy5fc3RhcnRSZWN0ID0gX2luamVjdG9yLmdldChGTWVkaWF0b3IpLmV4ZWN1dGUobmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3Qobm9kZU9yR3JvdXAuaG9zdEVsZW1lbnQpKVxuICAgIHRoaXMuX3N0YXJ0UG9zaXRpb24gPSB7IC4uLm5vZGVPckdyb3VwLl9wb3NpdGlvbiB9O1xuICB9XG5cbiAgcHVibGljIHNldExpbWl0cyhsaW1pdHM6IElEcmFnTGltaXRzKTogdm9pZCB7XG4gICAgdGhpcy5fbGltaXRzID0gbGltaXRzO1xuICAgIHRoaXMuX3BpcGVsaW5lID0gbmV3IERyYWdDb25zdHJhaW50UGlwZWxpbmUodGhpcy5faW5qZWN0b3IsIHRoaXMuX3N0YXJ0UG9zaXRpb24sIGxpbWl0cyk7XG5cbiAgICB0aGlzLl9hcHBseUNvbnN0cmFpbnRzID0gKGRpZmZlcmVuY2U6IElQb2ludCkgPT4ge1xuICAgICAgY29uc3Qgc3VtbWFyeSA9IHRoaXMuX3BpcGVsaW5lLmFwcGx5KGRpZmZlcmVuY2UpO1xuICAgICAgdGhpcy5fYXBwbHlTb2Z0RXhwYW5zaW9ucyhzdW1tYXJ5LnNvZnQpO1xuXG4gICAgICByZXR1cm4gc3VtbWFyeS5oYXJkRGlmZmVyZW5jZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hcHBseVNvZnRFeHBhbnNpb25zKFxuICAgIHNvZnRSZXN1bHRzOiBJQ29uc3RyYWludFJlc3VsdFtdLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLl9sYXN0U29mdFJlc3VsdHMgPSBzb2Z0UmVzdWx0cztcbiAgICB0aGlzLl9sYXN0U29mdFJlc3VsdHMuZm9yRWFjaCgocmVzdWx0LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qgc29mdExpbWl0ID0gdGhpcy5fbGltaXRzIS5zb2Z0W2luZGV4XTtcbiAgICAgIGNvbnN0IGV4cGFuZGVkUmVjdCA9IGV4cGFuZFJlY3RGcm9tQmFzZWxpbmUoc29mdExpbWl0LmJvdW5kaW5nUmVjdCwgcmVzdWx0Lm92ZXJmbG93LCByZXN1bHQuZWRnZXMpO1xuICAgICAgdGhpcy5fY29tbWl0UGFyZW50UmVjdChzb2Z0TGltaXQubm9kZU9yR3JvdXAsIGV4cGFuZGVkUmVjdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jb21taXRQYXJlbnRSZWN0KHBhcmVudDogRk5vZGVCYXNlLCByZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIHBhcmVudC51cGRhdGVTaXplKHsgd2lkdGg6IHJlY3Qud2lkdGgsIGhlaWdodDogcmVjdC5oZWlnaHQgfSk7XG4gICAgcGFyZW50LnVwZGF0ZVBvc2l0aW9uKHsgeDogcmVjdC54LCB5OiByZWN0LnkgfSk7XG4gICAgcGFyZW50LnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGdldExhc3RSZWN0KCk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLl9sYXN0UG9zaXRpb24ueCwgdGhpcy5fbGFzdFBvc2l0aW9uLnksIHRoaXMuX3N0YXJ0UmVjdC53aWR0aCwgdGhpcy5fc3RhcnRSZWN0LmhlaWdodCk7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoaWxkcmVuTm9kZUFuZEdyb3Vwcy5mb3JFYWNoKCh4KSA9PiB4LnByZXBhcmVEcmFnU2VxdWVuY2UoKSk7XG4gICAgdGhpcy5ub2RlT3JHcm91cC5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKEZfQ1NTX0NMQVNTLkRSQUdfQU5EX0RST1AuRFJBR0dJTkcpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMgPSB0aGlzLl9hcHBseUNvbnN0cmFpbnRzKGRpZmZlcmVuY2UpO1xuXG4gICAgdGhpcy5jaGlsZHJlbk5vZGVBbmRHcm91cHMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zKSk7XG4gICAgdGhpcy5fcmVkcmF3KHRoaXMuX25vZGVPckdyb3VwTmV3UG9zaXRpb24oZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMpKTtcblxuICAgIHRoaXMuZlNvdXJjZUhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlV2l0aFJlc3RyaWN0aW9ucykpO1xuICAgIHRoaXMuZlRhcmdldEhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlV2l0aFJlc3RyaWN0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFzc2lnbkZpbmFsQ29uc3RyYWludHMoKTogdm9pZCB7XG4gICAgdGhpcy5fYXBwbHlDb25zdHJhaW50cyA9IChkaWZmZXJlbmNlOiBJUG9pbnQpID0+IHtcbiAgICAgIGNvbnN0IHN1bW1hcnkgPSB0aGlzLl9waXBlbGluZS5maW5hbGl6ZShkaWZmZXJlbmNlKTtcbiAgICAgIHRoaXMuX2FwcGx5U29mdEV4cGFuc2lvbnMoc3VtbWFyeS5zb2Z0KTtcblxuICAgICAgcmV0dXJuIHN1bW1hcnkuaGFyZERpZmZlcmVuY2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbm9kZU9yR3JvdXBOZXdQb3NpdGlvbihkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludEV4dGVuc2lvbnMuc3VtKHRoaXMuX3N0YXJ0UG9zaXRpb24sIGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3KHBvc2l0aW9uOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9sYXN0UG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICB0aGlzLm5vZGVPckdyb3VwLnVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICB0aGlzLm5vZGVPckdyb3VwLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW5Ob2RlQW5kR3JvdXBzLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXAoKSk7XG4gICAgdGhpcy5ub2RlT3JHcm91cC5wb3NpdGlvbi5zZXQodGhpcy5ub2RlT3JHcm91cC5fcG9zaXRpb24pO1xuICAgIHRoaXMubm9kZU9yR3JvdXAuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShGX0NTU19DTEFTUy5EUkFHX0FORF9EUk9QLkRSQUdHSU5HKTtcbiAgICB0aGlzLl9lbWl0RXZlbnRJZk5vZGVFeHBhbmRlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdEV2ZW50SWZOb2RlRXhwYW5kZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGFzdFNvZnRSZXN1bHRzLmZvckVhY2goKHJlc3VsdCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHNvZnRMaW1pdCA9IHRoaXMuX2xpbWl0cyEuc29mdFtpbmRleF07XG4gICAgICBjb25zdCBleHBhbmRlZFJlY3QgPSBleHBhbmRSZWN0RnJvbUJhc2VsaW5lKHNvZnRMaW1pdC5ib3VuZGluZ1JlY3QsIHJlc3VsdC5vdmVyZmxvdywgcmVzdWx0LmVkZ2VzKTtcbiAgICAgIGlmIChyZXN1bHQub3ZlcmZsb3cueCB8fCByZXN1bHQub3ZlcmZsb3cueSkge1xuICAgICAgICBzb2Z0TGltaXQubm9kZU9yR3JvdXAuc2l6ZUNoYW5nZS5lbWl0KGV4cGFuZGVkUmVjdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL21vdmUtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUk1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBcUIsTUFBTSxjQUFjLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxlQUFlO0lBY1A7SUFDVjtJQUNBO0lBQ0E7SUFDQTtJQWpCTyxVQUFVLEdBQUcsV0FBVyxDQUFDO0lBRXhCLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVsRCxpQkFBaUIsR0FBbUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUUvRSxnQkFBZ0IsR0FBd0IsRUFBRSxDQUFDO0lBQzNDLFNBQVMsQ0FBMEI7SUFDbkMsT0FBTyxHQUF1QixJQUFJLENBQUM7SUFDbkMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyRCxZQUNtQixTQUFtQixFQUM3QixXQUFzQixFQUN0Qix3QkFBMkMsRUFBRSxFQUM3QyxrQkFBK0MsRUFBRSxFQUNqRCxrQkFBK0MsRUFBRTtRQUp2QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFXO1FBQ3RCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDN0Msb0JBQWUsR0FBZixlQUFlLENBQWtDO1FB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QUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQ3pDLFNBQVMsQ0FBQyxZQUFZLEVBQ3RCLE1BQU0sQ0FBQyxRQUFRLEVBQ2YsTUFBTSxDQUFDLEtBQUssQ0FDYixDQUFDO1lBQ0YsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUZEcmFnSGFuZGxlciB9IGZyb20gJy4uL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMnO1xuaW1wb3J0IHsgRl9DU1NfQ0xBU1MsIEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEcmFnTGltaXRzIH0gZnJvbSAnLi9jcmVhdGUtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBEcmFnQ29uc3RyYWludFBpcGVsaW5lLCBleHBhbmRSZWN0RnJvbUJhc2VsaW5lLCBJQ29uc3RyYWludFJlc3VsdCB9IGZyb20gJy4vY29uc3RyYWludCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuZXhwb3J0IGNsYXNzIE1vdmVEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgZkV2ZW50VHlwZSA9ICdtb3ZlLW5vZGUnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXJ0UG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdGFydFJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSBfYXBwbHlDb25zdHJhaW50czogKGRpZmZlcmVuY2U6IElQb2ludCkgPT4gSVBvaW50ID0gKGRpZmZlcmVuY2UpID0+IGRpZmZlcmVuY2U7XG5cbiAgcHJpdmF0ZSBfbGFzdFNvZnRSZXN1bHRzOiBJQ29uc3RyYWludFJlc3VsdFtdID0gW107XG4gIHByaXZhdGUgX3BpcGVsaW5lITogRHJhZ0NvbnN0cmFpbnRQaXBlbGluZTtcbiAgcHJpdmF0ZSBfbGltaXRzOiBJRHJhZ0xpbWl0cyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0UG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwdWJsaWMgbm9kZU9yR3JvdXA6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgY2hpbGRyZW5Ob2RlQW5kR3JvdXBzOiBNb3ZlRHJhZ0hhbmRsZXJbXSA9IFtdLFxuICAgIHB1YmxpYyBmU291cmNlSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSA9IFtdLFxuICAgIHB1YmxpYyBmVGFyZ2V0SGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSA9IFtdLFxuICApIHtcbiAgICB0aGlzLl9zdGFydFJlY3QgPSBfaW5qZWN0b3JcbiAgICAgIC5nZXQoRk1lZGlhdG9yKVxuICAgICAgLmV4ZWN1dGUobmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3Qobm9kZU9yR3JvdXAuaG9zdEVsZW1lbnQpKTtcbiAgICB0aGlzLl9zdGFydFBvc2l0aW9uID0geyAuLi5ub2RlT3JHcm91cC5fcG9zaXRpb24gfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW1pdHMobGltaXRzOiBJRHJhZ0xpbWl0cyk6IHZvaWQge1xuICAgIHRoaXMuX2xpbWl0cyA9IGxpbWl0cztcbiAgICB0aGlzLl9waXBlbGluZSA9IG5ldyBEcmFnQ29uc3RyYWludFBpcGVsaW5lKHRoaXMuX2luamVjdG9yLCB0aGlzLl9zdGFydFBvc2l0aW9uLCBsaW1pdHMpO1xuXG4gICAgdGhpcy5fYXBwbHlDb25zdHJhaW50cyA9IChkaWZmZXJlbmNlKSA9PiB7XG4gICAgICBjb25zdCBzdW1tYXJ5ID0gdGhpcy5fcGlwZWxpbmUuYXBwbHkoZGlmZmVyZW5jZSk7XG4gICAgICB0aGlzLl9hcHBseVNvZnRFeHBhbnNpb25zKHN1bW1hcnkuc29mdCk7XG5cbiAgICAgIHJldHVybiBzdW1tYXJ5LmhhcmREaWZmZXJlbmNlO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9hcHBseVNvZnRFeHBhbnNpb25zKHNvZnRSZXN1bHRzOiBJQ29uc3RyYWludFJlc3VsdFtdKTogdm9pZCB7XG4gICAgdGhpcy5fbGFzdFNvZnRSZXN1bHRzID0gc29mdFJlc3VsdHM7XG4gICAgdGhpcy5fbGFzdFNvZnRSZXN1bHRzLmZvckVhY2goKHJlc3VsdCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHNvZnRMaW1pdCA9IHRoaXMuX2xpbWl0cyEuc29mdFtpbmRleF07XG4gICAgICBjb25zdCBleHBhbmRlZFJlY3QgPSBleHBhbmRSZWN0RnJvbUJhc2VsaW5lKFxuICAgICAgICBzb2Z0TGltaXQuYm91bmRpbmdSZWN0LFxuICAgICAgICByZXN1bHQub3ZlcmZsb3csXG4gICAgICAgIHJlc3VsdC5lZGdlcyxcbiAgICAgICk7XG4gICAgICB0aGlzLl9jb21taXRQYXJlbnRSZWN0KHNvZnRMaW1pdC5ub2RlT3JHcm91cCwgZXhwYW5kZWRSZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbW1pdFBhcmVudFJlY3QocGFyZW50OiBGTm9kZUJhc2UsIHJlY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgcGFyZW50LnVwZGF0ZVNpemUoeyB3aWR0aDogcmVjdC53aWR0aCwgaGVpZ2h0OiByZWN0LmhlaWdodCB9KTtcbiAgICBwYXJlbnQudXBkYXRlUG9zaXRpb24oeyB4OiByZWN0LngsIHk6IHJlY3QueSB9KTtcbiAgICBwYXJlbnQucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgdGhpcy5fbGFzdFBvc2l0aW9uLngsXG4gICAgICB0aGlzLl9sYXN0UG9zaXRpb24ueSxcbiAgICAgIHRoaXMuX3N0YXJ0UmVjdC53aWR0aCxcbiAgICAgIHRoaXMuX3N0YXJ0UmVjdC5oZWlnaHQsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW5Ob2RlQW5kR3JvdXBzLmZvckVhY2goKHgpID0+IHgucHJlcGFyZURyYWdTZXF1ZW5jZSgpKTtcbiAgICB0aGlzLm5vZGVPckdyb3VwLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoRl9DU1NfQ0xBU1MuRFJBR19BTkRfRFJPUC5EUkFHR0lORyk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBkaWZmZXJlbmNlV2l0aFJlc3RyaWN0aW9ucyA9IHRoaXMuX2FwcGx5Q29uc3RyYWludHMoZGlmZmVyZW5jZSk7XG5cbiAgICB0aGlzLmNoaWxkcmVuTm9kZUFuZEdyb3Vwcy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMpKTtcbiAgICB0aGlzLl9yZWRyYXcodGhpcy5fbm9kZU9yR3JvdXBOZXdQb3NpdGlvbihkaWZmZXJlbmNlV2l0aFJlc3RyaWN0aW9ucykpO1xuXG4gICAgdGhpcy5mU291cmNlSGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5zZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zKSk7XG4gICAgdGhpcy5mVGFyZ2V0SGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYXNzaWduRmluYWxDb25zdHJhaW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9hcHBseUNvbnN0cmFpbnRzID0gKGRpZmZlcmVuY2U6IElQb2ludCkgPT4ge1xuICAgICAgY29uc3Qgc3VtbWFyeSA9IHRoaXMuX3BpcGVsaW5lLmZpbmFsaXplKGRpZmZlcmVuY2UpO1xuICAgICAgdGhpcy5fYXBwbHlTb2Z0RXhwYW5zaW9ucyhzdW1tYXJ5LnNvZnQpO1xuXG4gICAgICByZXR1cm4gc3VtbWFyeS5oYXJkRGlmZmVyZW5jZTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfbm9kZU9yR3JvdXBOZXdQb3NpdGlvbihkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludEV4dGVuc2lvbnMuc3VtKHRoaXMuX3N0YXJ0UG9zaXRpb24sIGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3KHBvc2l0aW9uOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9sYXN0UG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICB0aGlzLm5vZGVPckdyb3VwLnVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICB0aGlzLm5vZGVPckdyb3VwLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW5Ob2RlQW5kR3JvdXBzLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXAoKSk7XG4gICAgdGhpcy5ub2RlT3JHcm91cC5wb3NpdGlvbi5zZXQodGhpcy5ub2RlT3JHcm91cC5fcG9zaXRpb24pO1xuICAgIHRoaXMubm9kZU9yR3JvdXAuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShGX0NTU19DTEFTUy5EUkFHX0FORF9EUk9QLkRSQUdHSU5HKTtcbiAgICB0aGlzLl9lbWl0RXZlbnRJZk5vZGVFeHBhbmRlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdEV2ZW50SWZOb2RlRXhwYW5kZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGFzdFNvZnRSZXN1bHRzLmZvckVhY2goKHJlc3VsdCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHNvZnRMaW1pdCA9IHRoaXMuX2xpbWl0cyEuc29mdFtpbmRleF07XG4gICAgICBjb25zdCBleHBhbmRlZFJlY3QgPSBleHBhbmRSZWN0RnJvbUJhc2VsaW5lKFxuICAgICAgICBzb2Z0TGltaXQuYm91bmRpbmdSZWN0LFxuICAgICAgICByZXN1bHQub3ZlcmZsb3csXG4gICAgICAgIHJlc3VsdC5lZGdlcyxcbiAgICAgICk7XG4gICAgICBpZiAocmVzdWx0Lm92ZXJmbG93LnggfHwgcmVzdWx0Lm92ZXJmbG93LnkpIHtcbiAgICAgICAgc29mdExpbWl0Lm5vZGVPckdyb3VwLnNpemVDaGFuZ2UuZW1pdChleHBhbmRlZFJlY3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=