@foblex/flow 1.4.1 → 1.5.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 (274) hide show
  1. package/README.md +14 -30
  2. package/domain/get-connection-vector/get-connection-vector.request.d.ts +4 -4
  3. package/domain/get-incoming-connections.handler.d.ts +1 -1
  4. package/domain/get-input-rect-in-flow.handler.d.ts +5 -5
  5. package/domain/get-outgoing-connections.handler.d.ts +1 -1
  6. package/domain/get-output-rect-in-flow.handler.d.ts +5 -5
  7. package/domain/index.d.ts +0 -1
  8. package/domain/select-all.handler.d.ts +1 -1
  9. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +8 -8
  10. package/esm2022/domain/get-connection-vector/get-connection-vector.request.mjs +1 -1
  11. package/esm2022/domain/get-incoming-connections.handler.mjs +2 -2
  12. package/esm2022/domain/get-input-rect-in-flow.handler.mjs +2 -2
  13. package/esm2022/domain/get-outgoing-connections.handler.mjs +2 -2
  14. package/esm2022/domain/get-output-rect-in-flow.handler.mjs +2 -2
  15. package/esm2022/domain/index.mjs +1 -2
  16. package/esm2022/domain/select-all.handler.mjs +2 -2
  17. package/esm2022/f-components-store.mjs +1 -1
  18. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +7 -0
  19. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +12 -0
  20. package/esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs +3 -0
  21. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +6 -0
  22. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +36 -0
  23. package/esm2022/f-connection/common/domain/calculate-connection-center/index.mjs +3 -0
  24. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +22 -0
  25. package/esm2022/f-connection/common/domain/f-path-builder-base.mjs +3 -0
  26. package/esm2022/f-connection/common/domain/f-path-builder-selector.mjs +19 -0
  27. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +142 -0
  28. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +11 -0
  29. package/esm2022/f-connection/common/domain/i-f-path-builder-request.mjs +2 -0
  30. package/esm2022/f-connection/common/domain/i-f-path-builder-response.mjs +2 -0
  31. package/esm2022/f-connection/common/domain/index.mjs +10 -0
  32. package/esm2022/f-connection/common/f-connection-base.mjs +15 -6
  33. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +3 -3
  34. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +4 -4
  35. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +4 -4
  36. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +4 -4
  37. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
  38. package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
  39. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  40. package/esm2022/f-connection/common/i-has-connection-text.mjs +1 -1
  41. package/esm2022/f-connection/common/index.mjs +2 -2
  42. package/esm2022/f-connection/f-connection/f-connection.component.mjs +30 -26
  43. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +14 -0
  44. package/esm2022/f-connection/f-connection-center/index.mjs +2 -0
  45. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +23 -21
  46. package/esm2022/f-connection/index.mjs +2 -1
  47. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +7 -0
  48. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +38 -0
  49. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs +3 -0
  50. package/esm2022/f-connectors/domain/index.mjs +2 -0
  51. package/esm2022/f-connectors/e-f-connectable-side.mjs +9 -0
  52. package/esm2022/f-connectors/f-connector-base.mjs +16 -0
  53. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +19 -0
  54. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +83 -0
  55. package/esm2022/f-connectors/f-node-input/index.mjs +4 -0
  56. package/esm2022/f-connectors/f-node-input/is-node-input.mjs +4 -0
  57. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +23 -0
  58. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +71 -0
  59. package/esm2022/f-connectors/f-node-outlet/index.mjs +4 -0
  60. package/esm2022/f-connectors/f-node-outlet/is-node-outlet.mjs +4 -0
  61. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +19 -0
  62. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +77 -0
  63. package/esm2022/f-connectors/f-node-output/index.mjs +4 -0
  64. package/esm2022/f-connectors/f-node-output/is-node-output.mjs +4 -0
  65. package/esm2022/f-connectors/index.mjs +7 -0
  66. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +3 -3
  67. package/esm2022/f-draggable/canvas/canvas.on-pointer-up.mjs +3 -3
  68. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +10 -9
  69. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +7 -7
  70. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +3 -3
  71. package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +1 -1
  72. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +3 -3
  73. package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.mjs +1 -1
  74. package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +2 -2
  75. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +15 -14
  76. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +5 -5
  77. package/esm2022/f-draggable/e-f-draggable-type.mjs +11 -0
  78. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +3 -3
  79. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
  80. package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
  81. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +12 -11
  82. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +12 -11
  83. package/esm2022/f-draggable/node/connection.drag-handler.mjs +12 -11
  84. package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +4 -4
  85. package/esm2022/f-draggable/node/index.mjs +2 -1
  86. package/esm2022/f-draggable/node/node.drag-handler.mjs +3 -3
  87. package/esm2022/f-draggable/node/node.on-pointer-up.mjs +3 -3
  88. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +6 -6
  89. package/esm2022/f-draggable/public-api.mjs +13 -4
  90. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +3 -3
  91. package/esm2022/f-draggable/selection-area/selection-area.on-pointer-up.mjs +3 -3
  92. package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +1 -1
  93. package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +2 -2
  94. package/esm2022/f-flow/domain/redraw-connections/redraw-connections.handler.mjs +5 -5
  95. package/esm2022/f-flow/f-flow-base.mjs +5 -0
  96. package/esm2022/f-flow/f-flow.component.mjs +18 -18
  97. package/esm2022/f-flow/index.mjs +2 -3
  98. package/esm2022/f-flow.module.mjs +6 -4
  99. package/esm2022/f-node/f-drag-handle/index.mjs +1 -1
  100. package/esm2022/f-node/f-node-base.mjs +1 -3
  101. package/esm2022/f-node/f-node.directive.mjs +9 -9
  102. package/esm2022/f-node/index.mjs +1 -2
  103. package/esm2022/public-api.mjs +12 -6
  104. package/f-components-store.d.ts +5 -4
  105. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +6 -0
  106. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +5 -0
  107. package/f-connection/common/domain/calculate-center-between-points/index.d.ts +2 -0
  108. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +5 -0
  109. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +7 -0
  110. package/f-connection/common/domain/calculate-connection-center/index.d.ts +2 -0
  111. package/f-connection/common/domain/f-bezier.path-builder.d.ts +7 -0
  112. package/f-connection/common/domain/f-path-builder-base.d.ts +6 -0
  113. package/f-connection/common/domain/f-path-builder-selector.d.ts +7 -0
  114. package/f-connection/common/domain/f-segment.path-builder.d.ts +13 -0
  115. package/f-connection/common/domain/f-straight.path-builder.d.ts +6 -0
  116. package/f-connection/common/domain/i-f-path-builder-request.d.ts +12 -0
  117. package/f-connection/common/domain/i-f-path-builder-response.d.ts +5 -0
  118. package/f-connection/common/domain/index.d.ts +9 -0
  119. package/f-connection/common/f-connection-base.d.ts +15 -13
  120. package/f-connection/common/i-has-connection-color.d.ts +2 -2
  121. package/f-connection/common/i-has-connection-from-to.d.ts +4 -4
  122. package/f-connection/common/i-has-connection-text.d.ts +1 -1
  123. package/f-connection/common/index.d.ts +1 -1
  124. package/f-connection/f-connection/f-connection.component.d.ts +14 -12
  125. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +5 -0
  126. package/f-connection/f-connection-center/index.d.ts +1 -0
  127. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +14 -12
  128. package/f-connection/index.d.ts +1 -0
  129. package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.d.ts +6 -0
  130. package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.d.ts +7 -0
  131. package/f-connectors/domain/calculate-connector-connectable-side/index.d.ts +2 -0
  132. package/f-connectors/domain/index.d.ts +1 -0
  133. package/f-connectors/e-f-connectable-side.d.ts +7 -0
  134. package/{f-node/f-connectors → f-connectors}/f-connector-base.d.ts +4 -3
  135. package/{f-node/f-connectors → f-connectors}/f-node-input/f-node-input.directive.d.ts +5 -3
  136. package/{f-node/f-connectors → f-connectors}/f-node-outlet/f-node-outlet.directive.d.ts +6 -3
  137. package/{f-node/f-connectors → f-connectors}/f-node-output/f-node-output.directive.d.ts +5 -3
  138. package/{f-node/f-connectors → f-connectors}/index.d.ts +2 -0
  139. package/f-draggable/canvas/canvas.drag-handler.d.ts +2 -2
  140. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +2 -2
  141. package/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.d.ts +1 -1
  142. package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +1 -1
  143. package/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.d.ts +1 -1
  144. package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +1 -1
  145. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -2
  146. package/f-draggable/{e-draggable-type.d.ts → e-f-draggable-type.d.ts} +1 -1
  147. package/f-draggable/external-item/external-item.drag-handler.d.ts +2 -2
  148. package/f-draggable/i-draggable-item.d.ts +2 -2
  149. package/f-draggable/node/connection-source.drag-handler.d.ts +2 -2
  150. package/f-draggable/node/connection-target.drag-handler.d.ts +2 -2
  151. package/f-draggable/node/connection.drag-handler.d.ts +2 -2
  152. package/f-draggable/node/index.d.ts +1 -0
  153. package/f-draggable/node/node.drag-handler.d.ts +2 -2
  154. package/f-draggable/public-api.d.ts +12 -3
  155. package/f-draggable/selection-area/selection-area.drag-handle.d.ts +2 -2
  156. package/f-flow/f-flow-base.d.ts +8 -0
  157. package/f-flow/f-flow.component.d.ts +4 -4
  158. package/f-flow/index.d.ts +1 -2
  159. package/f-flow.module.d.ts +3 -3
  160. package/f-node/f-node-base.d.ts +2 -2
  161. package/f-node/f-node.directive.d.ts +3 -3
  162. package/f-node/index.d.ts +0 -1
  163. package/fesm2022/foblex-flow.mjs +2503 -2423
  164. package/fesm2022/foblex-flow.mjs.map +1 -1
  165. package/package.json +6 -3
  166. package/public-api.d.ts +11 -5
  167. package/domain/get-connector-side-in-node/e-connector-side.d.ts +0 -6
  168. package/domain/get-connector-side-in-node/get-connector-side-in-node.handler.d.ts +0 -5
  169. package/domain/get-connector-side-in-node/index.d.ts +0 -2
  170. package/esm2022/domain/get-connector-side-in-node/e-connector-side.mjs +0 -8
  171. package/esm2022/domain/get-connector-side-in-node/get-connector-side-in-node.handler.mjs +0 -26
  172. package/esm2022/domain/get-connector-side-in-node/index.mjs +0 -3
  173. package/esm2022/f-backgroud/domain/public-api.mjs +0 -2
  174. package/esm2022/f-backgroud/f-cell-pattern/public-api.mjs +0 -2
  175. package/esm2022/f-backgroud/public-api.mjs +0 -4
  176. package/esm2022/f-canvas/domain/public-api.mjs +0 -2
  177. package/esm2022/f-canvas/f-zoom/public-api.mjs +0 -2
  178. package/esm2022/f-canvas/public-api.mjs +0 -4
  179. package/esm2022/f-connection/common/path-constructor/bezier-path/bezier-path.mjs +0 -29
  180. package/esm2022/f-connection/common/path-constructor/bezier-path/index.mjs +0 -2
  181. package/esm2022/f-connection/common/path-constructor/i-path-constructor.mjs +0 -2
  182. package/esm2022/f-connection/common/path-constructor/index.mjs +0 -6
  183. package/esm2022/f-connection/common/path-constructor/path-constructor.mjs +0 -15
  184. package/esm2022/f-connection/common/path-constructor/segment-path/connector-side-point.mjs +0 -9
  185. package/esm2022/f-connection/common/path-constructor/segment-path/edge-center-calculator.mjs +0 -10
  186. package/esm2022/f-connection/common/path-constructor/segment-path/index.mjs +0 -6
  187. package/esm2022/f-connection/common/path-constructor/segment-path/path-bend.mjs +0 -19
  188. package/esm2022/f-connection/common/path-constructor/segment-path/point-utils.mjs +0 -14
  189. package/esm2022/f-connection/common/path-constructor/segment-path/segment-path.mjs +0 -123
  190. package/esm2022/f-connection/common/path-constructor/straight-path/index.mjs +0 -2
  191. package/esm2022/f-connection/common/path-constructor/straight-path/straight-path.mjs +0 -9
  192. package/esm2022/f-connection/common/public-api.mjs +0 -3
  193. package/esm2022/f-connection/public-api.mjs +0 -5
  194. package/esm2022/f-draggable/components/f-external-item/public-api.mjs +0 -2
  195. package/esm2022/f-draggable/components/f-line-alignment/public-api.mjs +0 -2
  196. package/esm2022/f-draggable/components/f-selection-area/public-api.mjs +0 -2
  197. package/esm2022/f-draggable/components/public-api.mjs +0 -4
  198. package/esm2022/f-draggable/connections/create-connection/public-api.mjs +0 -2
  199. package/esm2022/f-draggable/connections/public-api.mjs +0 -3
  200. package/esm2022/f-draggable/connections/reassign-connection/public-api.mjs +0 -2
  201. package/esm2022/f-draggable/e-draggable-type.mjs +0 -11
  202. package/esm2022/f-draggable/external-item/public-api.mjs +0 -2
  203. package/esm2022/f-draggable/index.mjs +0 -14
  204. package/esm2022/f-flow/f-parent.injection-token.mjs +0 -3
  205. package/esm2022/f-flow/i-flow-base.mjs +0 -3
  206. package/esm2022/f-flow/public-api.mjs +0 -2
  207. package/esm2022/f-node/f-connectors/f-connector-base.mjs +0 -15
  208. package/esm2022/f-node/f-connectors/f-node-input/f-node-input-base.mjs +0 -19
  209. package/esm2022/f-node/f-connectors/f-node-input/f-node-input.directive.mjs +0 -78
  210. package/esm2022/f-node/f-connectors/f-node-input/index.mjs +0 -4
  211. package/esm2022/f-node/f-connectors/f-node-input/is-node-input.mjs +0 -4
  212. package/esm2022/f-node/f-connectors/f-node-input/public-api.mjs +0 -2
  213. package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet-base.mjs +0 -23
  214. package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -68
  215. package/esm2022/f-node/f-connectors/f-node-outlet/index.mjs +0 -4
  216. package/esm2022/f-node/f-connectors/f-node-outlet/is-node-outlet.mjs +0 -4
  217. package/esm2022/f-node/f-connectors/f-node-outlet/public-api.mjs +0 -2
  218. package/esm2022/f-node/f-connectors/f-node-output/f-node-output-base.mjs +0 -19
  219. package/esm2022/f-node/f-connectors/f-node-output/f-node-output.directive.mjs +0 -72
  220. package/esm2022/f-node/f-connectors/f-node-output/index.mjs +0 -4
  221. package/esm2022/f-node/f-connectors/f-node-output/is-node-output.mjs +0 -4
  222. package/esm2022/f-node/f-connectors/f-node-output/public-api.mjs +0 -2
  223. package/esm2022/f-node/f-connectors/index.mjs +0 -5
  224. package/esm2022/f-node/f-connectors/public-api.mjs +0 -4
  225. package/esm2022/f-node/f-drag-handle/public-api.mjs +0 -2
  226. package/esm2022/f-node/public-api.mjs +0 -4
  227. package/f-backgroud/domain/public-api.d.ts +0 -1
  228. package/f-backgroud/f-cell-pattern/public-api.d.ts +0 -1
  229. package/f-backgroud/public-api.d.ts +0 -3
  230. package/f-canvas/domain/public-api.d.ts +0 -1
  231. package/f-canvas/f-zoom/public-api.d.ts +0 -1
  232. package/f-canvas/public-api.d.ts +0 -3
  233. package/f-connection/common/path-constructor/bezier-path/bezier-path.d.ts +0 -7
  234. package/f-connection/common/path-constructor/bezier-path/index.d.ts +0 -1
  235. package/f-connection/common/path-constructor/i-path-constructor.d.ts +0 -12
  236. package/f-connection/common/path-constructor/index.d.ts +0 -5
  237. package/f-connection/common/path-constructor/path-constructor.d.ts +0 -8
  238. package/f-connection/common/path-constructor/segment-path/connector-side-point.d.ts +0 -6
  239. package/f-connection/common/path-constructor/segment-path/edge-center-calculator.d.ts +0 -3
  240. package/f-connection/common/path-constructor/segment-path/index.d.ts +0 -5
  241. package/f-connection/common/path-constructor/segment-path/path-bend.d.ts +0 -4
  242. package/f-connection/common/path-constructor/segment-path/point-utils.d.ts +0 -6
  243. package/f-connection/common/path-constructor/segment-path/segment-path.d.ts +0 -10
  244. package/f-connection/common/path-constructor/straight-path/index.d.ts +0 -1
  245. package/f-connection/common/path-constructor/straight-path/straight-path.d.ts +0 -6
  246. package/f-connection/common/public-api.d.ts +0 -2
  247. package/f-connection/public-api.d.ts +0 -4
  248. package/f-draggable/components/f-external-item/public-api.d.ts +0 -1
  249. package/f-draggable/components/f-line-alignment/public-api.d.ts +0 -1
  250. package/f-draggable/components/f-selection-area/public-api.d.ts +0 -1
  251. package/f-draggable/components/public-api.d.ts +0 -3
  252. package/f-draggable/connections/create-connection/public-api.d.ts +0 -1
  253. package/f-draggable/connections/public-api.d.ts +0 -2
  254. package/f-draggable/connections/reassign-connection/public-api.d.ts +0 -1
  255. package/f-draggable/external-item/public-api.d.ts +0 -1
  256. package/f-draggable/index.d.ts +0 -13
  257. package/f-flow/f-parent.injection-token.d.ts +0 -2
  258. package/f-flow/i-flow-base.d.ts +0 -8
  259. package/f-flow/public-api.d.ts +0 -1
  260. package/f-node/f-connectors/f-node-input/public-api.d.ts +0 -1
  261. package/f-node/f-connectors/f-node-outlet/public-api.d.ts +0 -1
  262. package/f-node/f-connectors/f-node-output/public-api.d.ts +0 -1
  263. package/f-node/f-connectors/public-api.d.ts +0 -3
  264. package/f-node/f-drag-handle/public-api.d.ts +0 -1
  265. package/f-node/public-api.d.ts +0 -3
  266. /package/{f-node/f-connectors → f-connectors}/f-node-input/f-node-input-base.d.ts +0 -0
  267. /package/{f-node/f-connectors → f-connectors}/f-node-input/index.d.ts +0 -0
  268. /package/{f-node/f-connectors → f-connectors}/f-node-input/is-node-input.d.ts +0 -0
  269. /package/{f-node/f-connectors → f-connectors}/f-node-outlet/f-node-outlet-base.d.ts +0 -0
  270. /package/{f-node/f-connectors → f-connectors}/f-node-outlet/index.d.ts +0 -0
  271. /package/{f-node/f-connectors → f-connectors}/f-node-outlet/is-node-outlet.d.ts +0 -0
  272. /package/{f-node/f-connectors → f-connectors}/f-node-output/f-node-output-base.d.ts +0 -0
  273. /package/{f-node/f-connectors → f-connectors}/f-node-output/index.d.ts +0 -0
  274. /package/{f-node/f-connectors → f-connectors}/f-node-output/is-node-output.d.ts +0 -0
@@ -0,0 +1,19 @@
1
+ import { EFConnectionType } from '../e-f-connection-type';
2
+ import { FPathBuilderBase } from './f-path-builder-base';
3
+ import { FStraightPathBuilder } from './f-straight.path-builder';
4
+ import { FBezierPathBuilder } from './f-bezier.path-builder';
5
+ import { FSegmentPathBuilder } from './f-segment.path-builder';
6
+ export class FPathBuilderSelector extends FPathBuilderBase {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.builders = {
10
+ [EFConnectionType.STRAIGHT]: new FStraightPathBuilder(),
11
+ [EFConnectionType.BEZIER]: new FBezierPathBuilder(),
12
+ [EFConnectionType.SEGMENT]: new FSegmentPathBuilder(),
13
+ };
14
+ }
15
+ handle(request) {
16
+ return this.builders[request.type].handle(request);
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wYXRoLWJ1aWxkZXItc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2YtcGF0aC1idWlsZGVyLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSS9ELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFBMUQ7O1FBRVUsYUFBUSxHQUEyQjtZQUV6QyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksb0JBQW9CLEVBQUU7WUFFdkQsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLGtCQUFrQixFQUFFO1lBRW5ELENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxtQkFBbUIsRUFBRTtTQUN0RCxDQUFBO0lBS0gsQ0FBQztJQUhRLE1BQU0sQ0FBQyxPQUE2QjtRQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJTWFwIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZQYXRoQnVpbGRlckJhc2UgfSBmcm9tICcuL2YtcGF0aC1idWlsZGVyLWJhc2UnO1xuaW1wb3J0IHsgRlN0cmFpZ2h0UGF0aEJ1aWxkZXIgfSBmcm9tICcuL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyJztcbmltcG9ydCB7IEZCZXppZXJQYXRoQnVpbGRlciB9IGZyb20gJy4vZi1iZXppZXIucGF0aC1idWlsZGVyJztcbmltcG9ydCB7IEZTZWdtZW50UGF0aEJ1aWxkZXIgfSBmcm9tICcuL2Ytc2VnbWVudC5wYXRoLWJ1aWxkZXInO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlcXVlc3QgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVzcG9uc2UgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVzcG9uc2UnO1xuXG5leHBvcnQgY2xhc3MgRlBhdGhCdWlsZGVyU2VsZWN0b3IgZXh0ZW5kcyBGUGF0aEJ1aWxkZXJCYXNlIHtcblxuICBwcml2YXRlIGJ1aWxkZXJzOiBJTWFwPEZQYXRoQnVpbGRlckJhc2U+ID0ge1xuXG4gICAgW0VGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFRdOiBuZXcgRlN0cmFpZ2h0UGF0aEJ1aWxkZXIoKSxcblxuICAgIFtFRkNvbm5lY3Rpb25UeXBlLkJFWklFUl06IG5ldyBGQmV6aWVyUGF0aEJ1aWxkZXIoKSxcblxuICAgIFtFRkNvbm5lY3Rpb25UeXBlLlNFR01FTlRdOiBuZXcgRlNlZ21lbnRQYXRoQnVpbGRlcigpLFxuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRlBhdGhCdWlsZGVyUmVxdWVzdCk6IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRlcnNbcmVxdWVzdC50eXBlXS5oYW5kbGUocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,142 @@
1
+ import { PointExtensions } from '@foblex/core';
2
+ import { FPathBuilderBase } from './f-path-builder-base';
3
+ import { EFConnectableSide } from '../../../f-connectors';
4
+ import { CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest } from './calculate-center-between-points';
5
+ import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
6
+ const CONNECTOR_SIDE_POINT = {
7
+ [EFConnectableSide.LEFT]: PointExtensions.initialize(-1, 0),
8
+ [EFConnectableSide.RIGHT]: PointExtensions.initialize(1, 0),
9
+ [EFConnectableSide.TOP]: PointExtensions.initialize(0, -1),
10
+ [EFConnectableSide.BOTTOM]: PointExtensions.initialize(0, 1),
11
+ [EFConnectableSide.AUTO]: PointExtensions.initialize(0, 0),
12
+ };
13
+ export class FSegmentPathBuilder extends FPathBuilderBase {
14
+ handle(request) {
15
+ const { source, sourceSide, target, targetSide } = request;
16
+ const { points, center } = this.getPathPoints(source, sourceSide, target, targetSide, request.offset);
17
+ const path = this.buildPath(points, request.radius);
18
+ return { path, center };
19
+ }
20
+ getPathPoints(source, sourceSide, target, targetSide, offset) {
21
+ const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
22
+ const targetDirection = CONNECTOR_SIDE_POINT[targetSide];
23
+ const sourceGap = { x: source.x + sourceDirection.x * offset, y: source.y + sourceDirection.y * offset };
24
+ const targetGap = { x: target.x + targetDirection.x * offset, y: target.y + targetDirection.y * offset };
25
+ const direction = this.getDirection(sourceGap, sourceSide, targetGap);
26
+ const directionAccessor = direction.x !== 0 ? 'x' : 'y';
27
+ const currentDirection = direction[directionAccessor];
28
+ let points = [];
29
+ const sourceGapOffset = PointExtensions.initialize();
30
+ const targetGapOffset = PointExtensions.initialize();
31
+ const centerBetweenPoints = new CalculateCenterBetweenPointsHandler().handle(new CalculateCenterBetweenPointsRequest(source, target));
32
+ if (sourceDirection[directionAccessor] * targetDirection[directionAccessor] === -1) {
33
+ const verticalSplit = [
34
+ { x: centerBetweenPoints.x, y: sourceGap.y },
35
+ { x: centerBetweenPoints.x, y: targetGap.y },
36
+ ];
37
+ const horizontalSplit = [
38
+ { x: sourceGap.x, y: centerBetweenPoints.y },
39
+ { x: targetGap.x, y: centerBetweenPoints.y },
40
+ ];
41
+ if (sourceDirection[directionAccessor] === currentDirection) {
42
+ points = directionAccessor === 'x' ? verticalSplit : horizontalSplit;
43
+ }
44
+ else {
45
+ points = directionAccessor === 'x' ? horizontalSplit : verticalSplit;
46
+ }
47
+ }
48
+ else {
49
+ const sourceTarget = [{ x: sourceGap.x, y: targetGap.y }];
50
+ const targetSource = [{ x: targetGap.x, y: sourceGap.y }];
51
+ if (directionAccessor === 'x') {
52
+ points = sourceDirection.x === currentDirection ? targetSource : sourceTarget;
53
+ }
54
+ else {
55
+ points = sourceDirection.y === currentDirection ? sourceTarget : targetSource;
56
+ }
57
+ if (sourceSide === targetSide) {
58
+ const diff = Math.abs(source[directionAccessor] - target[directionAccessor]);
59
+ if (diff <= offset) {
60
+ const gapOffset = Math.min(offset - 1, offset - diff);
61
+ if (sourceDirection[directionAccessor] === currentDirection) {
62
+ sourceGapOffset[directionAccessor] = (sourceGap[directionAccessor] > source[directionAccessor] ? -1 : 1) * gapOffset;
63
+ }
64
+ else {
65
+ targetGapOffset[directionAccessor] = (targetGap[directionAccessor] > target[directionAccessor] ? -1 : 1) * gapOffset;
66
+ }
67
+ }
68
+ }
69
+ if (sourceSide !== targetSide) {
70
+ const dirAccessorOpposite = directionAccessor === 'x' ? 'y' : 'x';
71
+ const isSameDir = sourceDirection[directionAccessor] === targetDirection[dirAccessorOpposite];
72
+ const sourceGtTargetOppo = sourceGap[dirAccessorOpposite] > targetGap[dirAccessorOpposite];
73
+ const sourceLtTargetOppo = sourceGap[dirAccessorOpposite] < targetGap[dirAccessorOpposite];
74
+ const flipSourceTarget = (sourceDirection[directionAccessor] === 1 &&
75
+ ((!isSameDir && sourceGtTargetOppo) || (isSameDir && sourceLtTargetOppo))) ||
76
+ (sourceDirection[directionAccessor] !== 1 &&
77
+ ((!isSameDir && sourceLtTargetOppo) || (isSameDir && sourceGtTargetOppo)));
78
+ if (flipSourceTarget) {
79
+ points = directionAccessor === 'x' ? sourceTarget : targetSource;
80
+ }
81
+ }
82
+ }
83
+ const pathPoints = [
84
+ source,
85
+ { x: sourceGap.x + sourceGapOffset.x, y: sourceGap.y + sourceGapOffset.y },
86
+ ...points,
87
+ { x: targetGap.x + targetGapOffset.x, y: targetGap.y + targetGapOffset.y },
88
+ target,
89
+ ];
90
+ const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest(pathPoints));
91
+ return { points: pathPoints, center: center };
92
+ }
93
+ getDirection(source, sourceSide, target) {
94
+ if (sourceSide === EFConnectableSide.LEFT || sourceSide === EFConnectableSide.RIGHT) {
95
+ return source.x < target.x ? PointExtensions.initialize(1, 0) : PointExtensions.initialize(-1, 0);
96
+ }
97
+ return source.y < target.y ? PointExtensions.initialize(0, 1) : PointExtensions.initialize(0, -1);
98
+ }
99
+ distance(a, b) {
100
+ return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));
101
+ }
102
+ buildPath(points, borderRadius) {
103
+ let path = '';
104
+ for (let i = 0; i < points.length; i++) {
105
+ const p = points[i];
106
+ let segment = '';
107
+ if (i > 0 && i < points.length - 1) {
108
+ segment = this.getBend(points[i - 1], p, points[i + 1], borderRadius);
109
+ }
110
+ else if (i === points.length - 1) {
111
+ segment = this.buildLastLineSegment(i, p);
112
+ }
113
+ else {
114
+ segment = this.buildMoveOrLineSegment(i, p);
115
+ }
116
+ path += segment;
117
+ }
118
+ return path;
119
+ }
120
+ getBend(a, b, c, size) {
121
+ const bendSize = Math.min(this.distance(a, b) / 2, this.distance(b, c) / 2, size);
122
+ const { x, y } = b;
123
+ if ((a.x === x && x === c.x) || (a.y === y && y === c.y)) {
124
+ return `L${x} ${y}`;
125
+ }
126
+ if (a.y === y) {
127
+ const xDir = a.x < c.x ? -1 : 1;
128
+ const yDir = a.y < c.y ? 1 : -1;
129
+ return `L ${x + bendSize * xDir},${y}Q ${x},${y} ${x},${y + bendSize * yDir}`;
130
+ }
131
+ const xDir = a.x < c.x ? 1 : -1;
132
+ const yDir = a.y < c.y ? -1 : 1;
133
+ return `L ${x},${y + bendSize * yDir}Q ${x},${y} ${x + bendSize * xDir},${y}`;
134
+ }
135
+ buildMoveOrLineSegment(index, point) {
136
+ return `${index === 0 ? 'M' : 'L'}${point.x} ${point.y}`;
137
+ }
138
+ buildLastLineSegment(index, point) {
139
+ return `L${point.x + 0.0001} ${point.y + 0.0001}`;
140
+ }
141
+ }
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLG1DQUFtQyxFQUNwQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5ILE1BQU0sb0JBQW9CLEdBQWlCO0lBRXpDLENBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RCxDQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5RCxDQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM3RCxDQUFDO0FBRUYsTUFBTSxPQUFPLG1CQUFvQixTQUFR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LE9BQU8sS0FBTSxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUssSUFBSyxDQUFFLEtBQU0sQ0FBRSxJQUFLLENBQUUsSUFBSyxDQUFFLElBQUssQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFLLEVBQUUsQ0FBQztTQUMzRjtRQUVELE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFNLENBQUUsSUFBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUssS0FBTSxDQUFFLElBQUssQ0FBRSxJQUFLLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSyxJQUFLLENBQUUsRUFBRSxDQUFDO0lBQzVGLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUN6RCxPQUFPLEdBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFJLEdBQUksS0FBSyxDQUFDLENBQUUsSUFBSyxLQUFLLENBQUMsQ0FBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3ZELE9BQU8sSUFBSyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU8sSUFBSyxLQUFLLENBQUMsQ0FBQyxHQUFHLE1BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNYXAsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZQYXRoQnVpbGRlckJhc2UgfSBmcm9tICcuL2YtcGF0aC1idWlsZGVyLWJhc2UnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlcXVlc3QgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVzcG9uc2UgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVzcG9uc2UnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXIsXG4gIENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0XG59IGZyb20gJy4vY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlciwgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlcic7XG5cbmNvbnN0IENPTk5FQ1RPUl9TSURFX1BPSU5UOiBJTWFwPElQb2ludD4gPSB7XG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKC0xLCAwKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDEsIDApLFxuXG4gIFsgRUZDb25uZWN0YWJsZVNpZGUuVE9QIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIC0xKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTSBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAxKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLkFVVE8gXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMCksXG59O1xuXG5leHBvcnQgY2xhc3MgRlNlZ21lbnRQYXRoQnVpbGRlciBleHRlbmRzIEZQYXRoQnVpbGRlckJhc2Uge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSUZQYXRoQnVpbGRlclJlcXVlc3QpOiBJRlBhdGhCdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgc291cmNlLCBzb3VyY2VTaWRlLCB0YXJnZXQsIHRhcmdldFNpZGUgfSA9IHJlcXVlc3Q7XG5cbiAgICBjb25zdCB7IHBvaW50cywgY2VudGVyIH0gPSB0aGlzLmdldFBhdGhQb2ludHMoXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgc291cmNlU2lkZSxcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICB0YXJnZXRTaWRlLFxuICAgICAgICByZXF1ZXN0Lm9mZnNldFxuICAgICk7XG5cbiAgICBjb25zdCBwYXRoID0gdGhpcy5idWlsZFBhdGgocG9pbnRzLCByZXF1ZXN0LnJhZGl1cyk7XG5cbiAgICByZXR1cm4geyBwYXRoLCBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF0aFBvaW50cyhcbiAgICAgIHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQsIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCBvZmZzZXQ6IG51bWJlclxuICApOiB7IHBvaW50czogSVBvaW50W10sIGNlbnRlcjogSVBvaW50IH0ge1xuXG4gICAgY29uc3Qgc291cmNlRGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbIHNvdXJjZVNpZGUgXTtcbiAgICBjb25zdCB0YXJnZXREaXJlY3Rpb24gPSBDT05ORUNUT1JfU0lERV9QT0lOVFsgdGFyZ2V0U2lkZSBdO1xuXG4gICAgY29uc3Qgc291cmNlR2FwOiBJUG9pbnQgPSB7IHg6IHNvdXJjZS54ICsgc291cmNlRGlyZWN0aW9uLnggKiBvZmZzZXQsIHk6IHNvdXJjZS55ICsgc291cmNlRGlyZWN0aW9uLnkgKiBvZmZzZXQgfTtcbiAgICBjb25zdCB0YXJnZXRHYXA6IElQb2ludCA9IHsgeDogdGFyZ2V0LnggKyB0YXJnZXREaXJlY3Rpb24ueCAqIG9mZnNldCwgeTogdGFyZ2V0LnkgKyB0YXJnZXREaXJlY3Rpb24ueSAqIG9mZnNldCB9O1xuXG4gICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24oc291cmNlR2FwLCBzb3VyY2VTaWRlLCB0YXJnZXRHYXApO1xuICAgIGNvbnN0IGRpcmVjdGlvbkFjY2Vzc29yID0gZGlyZWN0aW9uLnggIT09IDAgPyAneCcgOiAneSc7XG4gICAgY29uc3QgY3VycmVudERpcmVjdGlvbiA9IGRpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXTtcblxuICAgIGxldCBwb2ludHM6IElQb2ludFtdID0gW107XG4gICAgY29uc3Qgc291cmNlR2FwT2Zmc2V0ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCB0YXJnZXRHYXBPZmZzZXQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gICAgY29uc3QgY2VudGVyQmV0d2VlblBvaW50cyA9IG5ldyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzSGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0KHNvdXJjZSwgdGFyZ2V0KVxuICAgICk7XG5cbiAgICBpZiAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdICogdGFyZ2V0RGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSAtMSkge1xuICAgICAgY29uc3QgdmVydGljYWxTcGxpdDogSVBvaW50W10gPSBbXG4gICAgICAgIHsgeDogY2VudGVyQmV0d2VlblBvaW50cy54LCB5OiBzb3VyY2VHYXAueSB9LFxuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogdGFyZ2V0R2FwLnkgfSxcbiAgICAgIF07XG4gICAgICBjb25zdCBob3Jpem9udGFsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IHNvdXJjZUdhcC54LCB5OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLnkgfSxcbiAgICAgICAgeyB4OiB0YXJnZXRHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICBdO1xuXG4gICAgICBpZiAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSBjdXJyZW50RGlyZWN0aW9uKSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyB2ZXJ0aWNhbFNwbGl0IDogaG9yaXpvbnRhbFNwbGl0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9pbnRzID0gZGlyZWN0aW9uQWNjZXNzb3IgPT09ICd4JyA/IGhvcml6b250YWxTcGxpdCA6IHZlcnRpY2FsU3BsaXQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNvdXJjZVRhcmdldDogSVBvaW50W10gPSBbIHsgeDogc291cmNlR2FwLngsIHk6IHRhcmdldEdhcC55IH0gXTtcbiAgICAgIGNvbnN0IHRhcmdldFNvdXJjZTogSVBvaW50W10gPSBbIHsgeDogdGFyZ2V0R2FwLngsIHk6IHNvdXJjZUdhcC55IH0gXTtcblxuICAgICAgaWYgKGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcpIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnggPT09IGN1cnJlbnREaXJlY3Rpb24gPyB0YXJnZXRTb3VyY2UgOiBzb3VyY2VUYXJnZXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb2ludHMgPSBzb3VyY2VEaXJlY3Rpb24ueSA9PT0gY3VycmVudERpcmVjdGlvbiA/IHNvdXJjZVRhcmdldCA6IHRhcmdldFNvdXJjZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgPT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IE1hdGguYWJzKHNvdXJjZVsgZGlyZWN0aW9uQWNjZXNzb3IgXSAtIHRhcmdldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSk7XG5cbiAgICAgICAgaWYgKGRpZmYgPD0gb2Zmc2V0KSB7XG4gICAgICAgICAgY29uc3QgZ2FwT2Zmc2V0ID0gTWF0aC5taW4ob2Zmc2V0IC0gMSwgb2Zmc2V0IC0gZGlmZik7XG4gICAgICAgICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICAgICAgc291cmNlR2FwT2Zmc2V0WyBkaXJlY3Rpb25BY2Nlc3NvciBdID0gKHNvdXJjZUdhcFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA+IHNvdXJjZVsgZGlyZWN0aW9uQWNjZXNzb3IgXSA/IC0xIDogMSkgKiBnYXBPZmZzZXQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldEdhcE9mZnNldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9ICh0YXJnZXRHYXBbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPiB0YXJnZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc291cmNlU2lkZSAhPT0gdGFyZ2V0U2lkZSkge1xuICAgICAgICBjb25zdCBkaXJBY2Nlc3Nvck9wcG9zaXRlID0gZGlyZWN0aW9uQWNjZXNzb3IgPT09ICd4JyA/ICd5JyA6ICd4JztcbiAgICAgICAgY29uc3QgaXNTYW1lRGlyID0gc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSB0YXJnZXREaXJlY3Rpb25bIGRpckFjY2Vzc29yT3Bwb3NpdGUgXTtcbiAgICAgICAgY29uc3Qgc291cmNlR3RUYXJnZXRPcHBvID0gc291cmNlR2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF0gPiB0YXJnZXRHYXBbIGRpckFjY2Vzc29yT3Bwb3NpdGUgXTtcbiAgICAgICAgY29uc3Qgc291cmNlTHRUYXJnZXRPcHBvID0gc291cmNlR2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF0gPCB0YXJnZXRHYXBbIGRpckFjY2Vzc29yT3Bwb3NpdGUgXTtcbiAgICAgICAgY29uc3QgZmxpcFNvdXJjZVRhcmdldCA9XG4gICAgICAgICAgICAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdID09PSAxICYmXG4gICAgICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VMdFRhcmdldE9wcG8pKSkgfHxcbiAgICAgICAgICAgIChzb3VyY2VEaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF0gIT09IDEgJiZcbiAgICAgICAgICAgICAgICAoKCFpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSB8fCAoaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykpKTtcblxuICAgICAgICBpZiAoZmxpcFNvdXJjZVRhcmdldCkge1xuICAgICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXRoUG9pbnRzID0gW1xuICAgICAgc291cmNlLFxuICAgICAgeyB4OiBzb3VyY2VHYXAueCArIHNvdXJjZUdhcE9mZnNldC54LCB5OiBzb3VyY2VHYXAueSArIHNvdXJjZUdhcE9mZnNldC55IH0sXG4gICAgICAuLi5wb2ludHMsXG4gICAgICB7IHg6IHRhcmdldEdhcC54ICsgdGFyZ2V0R2FwT2Zmc2V0LngsIHk6IHRhcmdldEdhcC55ICsgdGFyZ2V0R2FwT2Zmc2V0LnkgfSxcbiAgICAgIHRhcmdldCxcbiAgICBdO1xuXG4gICAgY29uc3QgY2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QocGF0aFBvaW50cylcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgcG9pbnRzOiBwYXRoUG9pbnRzLCBjZW50ZXI6IGNlbnRlciB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXJlY3Rpb24oc291cmNlOiBJUG9pbnQsIHNvdXJjZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCB0YXJnZXQ6IElQb2ludCk6IElQb2ludCB7XG4gICAgaWYgKHNvdXJjZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQgfHwgc291cmNlU2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQpIHtcbiAgICAgIHJldHVybiBzb3VyY2UueCA8IHRhcmdldC54ID8gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMSwgMCkgOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgtMSwgMCk7XG4gICAgfVxuICAgIHJldHVybiBzb3VyY2UueSA8IHRhcmdldC55ID8gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMSkgOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3RhbmNlKGE6IElQb2ludCwgYjogSVBvaW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KGIueCAtIGEueCwgMikgKyBNYXRoLnBvdyhiLnkgLSBhLnksIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRQYXRoKHBvaW50czogSVBvaW50W10sIGJvcmRlclJhZGl1czogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgcGF0aCA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwID0gcG9pbnRzWyBpIF07XG4gICAgICBsZXQgc2VnbWVudCA9ICcnO1xuXG4gICAgICBpZiAoaSA+IDAgJiYgaSA8IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmdldEJlbmQocG9pbnRzWyBpIC0gMSBdLCBwLCBwb2ludHNbIGkgKyAxIF0sIGJvcmRlclJhZGl1cyk7XG4gICAgICB9IGVsc2UgaWYgKGkgPT09IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmJ1aWxkTGFzdExpbmVTZWdtZW50KGksIHApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VnbWVudCA9IHRoaXMuYnVpbGRNb3ZlT3JMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH1cbiAgICAgIHBhdGggKz0gc2VnbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QmVuZChhOiBJUG9pbnQsIGI6IElQb2ludCwgYzogSVBvaW50LCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJlbmRTaXplID0gTWF0aC5taW4odGhpcy5kaXN0YW5jZShhLCBiKSAvIDIsIHRoaXMuZGlzdGFuY2UoYiwgYykgLyAyLCBzaXplKTtcbiAgICBjb25zdCB7IHgsIHkgfSA9IGI7XG5cbiAgICBpZiAoKGEueCA9PT0geCAmJiB4ID09PSBjLngpIHx8IChhLnkgPT09IHkgJiYgeSA9PT0gYy55KSkge1xuICAgICAgcmV0dXJuIGBMJHsgeCB9ICR7IHkgfWA7XG4gICAgfVxuXG4gICAgaWYgKGEueSA9PT0geSkge1xuICAgICAgY29uc3QgeERpciA9IGEueCA8IGMueCA/IC0xIDogMTtcbiAgICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAxIDogLTE7XG4gICAgICByZXR1cm4gYEwgJHsgeCArIGJlbmRTaXplICogeERpciB9LCR7IHkgfVEgJHsgeCB9LCR7IHkgfSAkeyB4IH0sJHsgeSArIGJlbmRTaXplICogeURpciB9YDtcbiAgICB9XG5cbiAgICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gMSA6IC0xO1xuICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAtMSA6IDE7XG4gICAgcmV0dXJuIGBMICR7IHggfSwkeyB5ICsgYmVuZFNpemUgKiB5RGlyIH1RICR7IHggfSwkeyB5IH0gJHsgeCArIGJlbmRTaXplICogeERpciB9LCR7IHkgfWA7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTW92ZU9yTGluZVNlZ21lbnQoaW5kZXg6IG51bWJlciwgcG9pbnQ6IElQb2ludCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAkeyBpbmRleCA9PT0gMCA/ICdNJyA6ICdMJyB9JHsgcG9pbnQueCB9ICR7IHBvaW50LnkgfWA7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTGFzdExpbmVTZWdtZW50KGluZGV4OiBudW1iZXIsIHBvaW50OiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgTCR7IHBvaW50LnggKyAwLjAwMDEgfSAkeyBwb2ludC55ICsgMC4wMDAxIH1gO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { FPathBuilderBase } from './f-path-builder-base';
2
+ import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
3
+ export class FStraightPathBuilder extends FPathBuilderBase {
4
+ handle(request) {
5
+ const { source, target } = request;
6
+ const path = `M ${source.x} ${source.y} L ${target.x + 0.0001} ${target.y + 0.0001}`;
7
+ const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, target]));
8
+ return { path, center };
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5ILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFFakQsTUFBTSxDQUFDLE9BQTZCO1FBQ3pDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQU0sTUFBTSxDQUFDLENBQUUsSUFBSyxNQUFNLENBQUMsQ0FBRSxNQUFPLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxJQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxFQUFFLENBQUM7UUFFN0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDLE1BQU0sQ0FDeEQsSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1FBRUYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVxdWVzdCB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXF1ZXN0JztcbmltcG9ydCB7IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZSc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlIH0gZnJvbSAnLi9mLXBhdGgtYnVpbGRlci1iYXNlJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcblxuZXhwb3J0IGNsYXNzIEZTdHJhaWdodFBhdGhCdWlsZGVyIGV4dGVuZHMgRlBhdGhCdWlsZGVyQmFzZSB7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRlBhdGhCdWlsZGVyUmVxdWVzdCk6IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHRhcmdldCB9ID0gcmVxdWVzdDtcbiAgICBjb25zdCBwYXRoID0gYE0gJHsgc291cmNlLnggfSAkeyBzb3VyY2UueSB9IEwgJHsgdGFyZ2V0LnggKyAwLjAwMDEgfSAkeyB0YXJnZXQueSArIDAuMDAwMSB9YDtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtzb3VyY2UsIHRhcmdldF0pXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBhdGgsIGNlbnRlciB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXBhdGgtYnVpbGRlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9pLWYtcGF0aC1idWlsZGVyLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZQYXRoQnVpbGRlclJlcXVlc3Qge1xuXG4gIHR5cGU6IEVGQ29ubmVjdGlvblR5cGU7XG5cbiAgc291cmNlOiBJUG9pbnQ7XG5cbiAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGU7XG5cbiAgdGFyZ2V0OiBJUG9pbnQ7XG5cbiAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGU7XG5cbiAgcmFkaXVzOiBudW1iZXI7XG5cbiAgb2Zmc2V0OiBudW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRlBhdGhCdWlsZGVyUmVzcG9uc2Uge1xuXG4gIHBhdGg6IHN0cmluZztcblxuICBjZW50ZXI6IElQb2ludDtcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export * from './calculate-center-between-points';
2
+ export * from './calculate-connection-center';
3
+ export * from './f-bezier.path-builder';
4
+ export * from './f-path-builder-base';
5
+ export * from './f-path-builder-selector';
6
+ export * from './f-segment.path-builder';
7
+ export * from './i-f-path-builder-request';
8
+ export * from './i-f-path-builder-response';
9
+ export * from './f-straight.path-builder';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmV6aWVyLnBhdGgtYnVpbGRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wYXRoLWJ1aWxkZXItYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wYXRoLWJ1aWxkZXItc2VsZWN0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VnbWVudC5wYXRoLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXInO1xuIl19
@@ -2,8 +2,8 @@ import { Directive } from '@angular/core';
2
2
  import { DomElementExtensions, VectorExtensions } from '@foblex/core';
3
3
  import { Subject } from 'rxjs';
4
4
  import { mixinChangeConnectionSelection, mixinChangeConnectionVisibility } from './mixins';
5
- import { PathConstructor } from './path-constructor';
6
5
  import { getFlowUid } from '../../get-flow-uid';
6
+ import { FPathBuilderSelector } from './domain';
7
7
  import * as i0 from "@angular/core";
8
8
  const MIXIN_BASE = mixinChangeConnectionSelection(mixinChangeConnectionVisibility(class {
9
9
  constructor(hostElement) {
@@ -16,6 +16,7 @@ export class FConnectionBase extends MIXIN_BASE {
16
16
  this.path = '';
17
17
  this.vector = VectorExtensions.initialize();
18
18
  this.stateChanges = new Subject();
19
+ this.fPathBuilder = new FPathBuilderSelector();
19
20
  }
20
21
  initialize() {
21
22
  this.fPath.initialize();
@@ -33,10 +34,18 @@ export class FConnectionBase extends MIXIN_BASE {
33
34
  }
34
35
  setVector(from, fromSide, to, toSide) {
35
36
  this.vector = { point1: from, point2: to };
36
- const pathResult = PathConstructor.handle(this.type, from, fromSide, to, toSide);
37
+ const pathResult = this.fPathBuilder.handle({
38
+ type: this.fType,
39
+ source: from,
40
+ sourceSide: fromSide,
41
+ target: to,
42
+ targetSide: toSide,
43
+ radius: 8,
44
+ offset: 32
45
+ });
37
46
  this.path = pathResult.path;
38
- this.fLabel?.nativeElement?.setAttribute('x', `${pathResult.labelX}`);
39
- this.fLabel?.nativeElement?.setAttribute('y', `${pathResult.labelY}`);
47
+ const transform = `position: absolute; pointerEvents: all; transform: translate(-50%, -50%); left: ${pathResult.center.x}px; top: ${pathResult.center.y}px`;
48
+ this.fConnectionCenter?.nativeElement?.setAttribute('style', transform);
40
49
  }
41
50
  setMarkers() {
42
51
  this.fDefs.nativeElement.innerHTML = '';
@@ -63,7 +72,7 @@ export class FConnectionBase extends MIXIN_BASE {
63
72
  this.fSelection.setPath(this.path);
64
73
  this.fGradient.redraw(this.vector);
65
74
  this.fDragHandle.redraw(this.vector.point2);
66
- this.fText.redraw(this.vector);
75
+ this.fTextComponent.redraw(this.vector);
67
76
  }
68
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FConnectionBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
69
78
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FConnectionBase, usesInheritance: true, ngImport: i0 }); }
@@ -71,4 +80,4 @@ export class FConnectionBase extends MIXIN_BASE {
71
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FConnectionBase, decorators: [{
72
81
  type: Directive
73
82
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQyxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTS9CLE9BQU8sRUFHTCw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQ2hDLE1BQU0sVUFBVSxDQUFDO0FBTWxCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRWhELE1BQU0sVUFBVSxHQUFHLDhCQUE4QixDQUM3QywrQkFBK0IsQ0FDM0I7SUFDRSxZQUNXLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRW5DLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQztBQUdaLE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxVQUFVO0lBZ0R0RCxZQUFzQixnQkFBeUM7UUFDN0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBL0JqQyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBWSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBNEJsRSxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFB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LFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOzhHQTNHbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUVsZW1lbnRFeHRlbnNpb25zLCBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVZlY3RvciwgVmVjdG9yRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHtcbiAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uLFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5XG59IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IFBhdGhDb25zdHJ1Y3RvciB9IGZyb20gJy4vcGF0aC1jb25zdHJ1Y3Rvcic7XG5pbXBvcnQgeyBJSGFzU3RhdGVDaGFuZ2VzIH0gZnJvbSAnLi4vLi4vaS1oYXMtc3RhdGUtY2hhbmdlcyc7XG5pbXBvcnQgeyBFQ29ubmVjdG9yU2lkZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IGdldEZsb3dVaWQgfSBmcm9tICcuLi8uLi9nZXQtZmxvdy11aWQnO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uKFxuICAgIG1peGluQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHkoXG4gICAgICAgIGNsYXNzIHtcbiAgICAgICAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgICAgICAgcHVibGljIGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudFxuICAgICAgICAgICkge1xuICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkJhc2UgZXh0ZW5kcyBNSVhJTl9CQVNFXG4gICAgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIElTZWxlY3RhYmxlLFxuICAgICAgICAgICAgICAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICAgICAgICAgICAgICAgSUhhc1N0YXRlQ2hhbmdlcywgSUhhc0Nvbm5lY3Rpb25Db2xvcixcbiAgICAgICAgICAgICAgIElIYXNDb25uZWN0aW9uRnJvbVRvLCBJSGFzQ29ubmVjdGlvblRleHQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpZDogYW55O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0ZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IHN0YXJ0Q29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZW5kQ29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3Qgb3V0cHV0SWQ6IGFueTtcblxuICBwdWJsaWMgYWJzdHJhY3QgaW5wdXRJZDogYW55O1xuXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgdmVjdG9yOiBJVmVjdG9yID0gVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBib3VuZGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgYmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0eXBlOiBFRkNvbm5lY3Rpb25UeXBlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRGVmczogRWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZNYXJrZXJzOiBRdWVyeUxpc3Q8Rk1hcmtlckJhc2U+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUGF0aDogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JhZGllbnQ6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEcmFnSGFuZGxlOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb246IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dDogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTGFiZWw6IEVsZW1lbnRSZWY8U1ZHUmVjdEVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXRoID0gJyc7XG4gICAgdGhpcy5mUGF0aC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8ubGFzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWZWN0b3IoZnJvbTogSVBvaW50LCBmcm9tU2lkZTogRUNvbm5lY3RvclNpZGUsIHRvOiBJUG9pbnQsIHRvU2lkZTogRUNvbm5lY3RvclNpZGUpOiB2b2lkIHtcbiAgICB0aGlzLnZlY3RvciA9IHsgcG9pbnQxOiBmcm9tLCBwb2ludDI6IHRvIH07XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IFBhdGhDb25zdHJ1Y3Rvci5oYW5kbGUodGhpcy50eXBlLCBmcm9tLCBmcm9tU2lkZSwgdG8sIHRvU2lkZSk7XG5cbiAgICB0aGlzLnBhdGggPSBwYXRoUmVzdWx0LnBhdGg7XG4gICAgdGhpcy5mTGFiZWw/Lm5hdGl2ZUVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgneCcsIGAkeyBwYXRoUmVzdWx0LmxhYmVsWCB9YCk7XG4gICAgdGhpcy5mTGFiZWw/Lm5hdGl2ZUVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgneScsIGAkeyBwYXRoUmVzdWx0LmxhYmVsWSB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICB0aGlzLmZEZWZzLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gICAgdGhpcy5mTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtlckVsZW1lbnQgPSBEb21FbGVtZW50RXh0ZW5zaW9ucy5jcmVhdGVTdmdFbGVtZW50KCdtYXJrZXInKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIGdldEZsb3dVaWQoKSArICctJyArIG1hcmtlci50eXBlICsgJy0nICsgdGhpcy5pZCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VySGVpZ2h0JywgYCR7IG1hcmtlci5oZWlnaHQgfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlcldpZHRoJywgYCR7IG1hcmtlci53aWR0aCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnb3JpZW50JywgJ2F1dG8nKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWZYJywgYCR7IG1hcmtlci5yZWZYIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWZZJywgYCR7IG1hcmtlci5yZWZZIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJVbml0cycsICdzdHJva2VXaWR0aCcpO1xuXG4gICAgICBtYXJrZXIuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHsgbWFya2VyLmhlaWdodCB9YCk7XG4gICAgICBtYXJrZXIuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAkeyBtYXJrZXIud2lkdGggfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5hcHBlbmQobWFya2VyLmhvc3RFbGVtZW50LmNsb25lTm9kZSh0cnVlKSk7XG5cbiAgICAgIHRoaXMuZkRlZnMubmF0aXZlRWxlbWVudC5hcHBlbmQobWFya2VyRWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5mTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aC5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5yZWRyYXcodGhpcy52ZWN0b3IpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGUucmVkcmF3KHRoaXMudmVjdG9yLnBvaW50Mik7XG4gICAgdGhpcy5mVGV4dC5yZWRyYXcodGhpcy52ZWN0b3IpO1xuICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQyxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTS9CLE9BQU8sRUFHTCw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQ2hDLE1BQU0sVUFBVSxDQUFDO0FBUWxCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVsRSxNQUFNLFVBQVUsR0FBRyw4QkFBOEIsQ0FDN0MsK0JBQStCLENBQzNCO0lBQ0UsWUFDVyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUVuQyxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUM7QUFHWixNQUFNLE9BQWdCLGVBQWdCLFNBQVEsVUFBVTtJQWtEdEQsWUFBc0IsZ0JBQXlDO1FBQzdELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQW5DakMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixXQUFNLEdBQVksZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkMsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQTRCM0QsaUJBQVksR0FBcUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBSW5FLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU8sS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQWlDO1FBQ2pELE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxTQUF5QixDQUFBLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBWSxFQUFFLFFBQTJCLEVBQUUsRUFBVSxFQUFFLE1BQXlCO1FBQy9GLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FDdkM7WUFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDaEIsTUFBTSxFQUFFLElBQUk7WUFDWixVQUFVLEVBQUUsUUFBUTtZQUNwQixNQUFNLEVBQUUsRUFBRTtZQUNWLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUNKLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFNUIsTUFBTSxTQUFTLEdBQUcsbUZBQW9GLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBRSxZQUFhLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBRSxJQUFJLENBQUM7UUFFaEssSUFBSSxDQUFDLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9CLE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RFLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkYsYUFBYSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsR0FBSSxNQUFNLENBQUMsTUFBTyxFQUFFLENBQUMsQ0FBQztZQUNqRSxhQUFhLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxHQUFJLE1BQU0sQ0FBQyxLQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUksTUFBTSxDQUFDLElBQUssRUFBRSxDQUFDLENBQUM7WUFDdkQsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBSSxNQUFNLENBQUMsSUFBSyxFQUFFLENBQUMsQ0FBQztZQUN2RCxhQUFhLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUV6RCxNQUFNLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBSSxNQUFNLENBQUMsTUFBTyxFQUFFLENBQUMsQ0FBQztZQUNoRSxNQUFNLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBSSxNQUFNLENBQUMsS0FBTSxFQUFFLENBQUMsQ0FBQztZQUM5RCxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXpIbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUVsZW1lbnRFeHRlbnNpb25zLCBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVZlY3RvciwgVmVjdG9yRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHtcbiAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uLFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5XG59IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNTdGF0ZUNoYW5nZXMgfSBmcm9tICcuLi8uLi9pLWhhcy1zdGF0ZS1jaGFuZ2VzJztcbmltcG9ydCB7IEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1tYXJrZXInO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlLCBGUGF0aEJ1aWxkZXJTZWxlY3RvciB9IGZyb20gJy4vZG9tYWluJztcblxuY29uc3QgTUlYSU5fQkFTRSA9IG1peGluQ2hhbmdlQ29ubmVjdGlvblNlbGVjdGlvbihcbiAgICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5KFxuICAgICAgICBjbGFzcyB7XG4gICAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgICAgIHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnRcbiAgICAgICAgICApIHtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNvbm5lY3Rpb25CYXNlIGV4dGVuZHMgTUlYSU5fQkFTRVxuICAgIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50LCBJU2VsZWN0YWJsZSxcbiAgICAgICAgICAgICAgIElDYW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eSxcbiAgICAgICAgICAgICAgIElIYXNTdGF0ZUNoYW5nZXMsIElIYXNDb25uZWN0aW9uQ29sb3IsXG4gICAgICAgICAgICAgICBJSGFzQ29ubmVjdGlvbkZyb21UbywgSUhhc0Nvbm5lY3Rpb25UZXh0IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZlN0YXJ0Q29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZkVuZENvbG9yOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPdXRwdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmSW5wdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgdmVjdG9yOiBJVmVjdG9yID0gVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBib3VuZGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlR5cGU6IEVGQ29ubmVjdGlvblR5cGU7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEZWZzOiBFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk1hcmtlcnM6IFF1ZXJ5TGlzdDxGTWFya2VyQmFzZT47XG5cbiAgcHVibGljIGFic3RyYWN0IGZQYXRoOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgcHVibGljIGFic3RyYWN0IGZHcmFkaWVudDogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdIYW5kbGU6IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlNlbGVjdGlvbjogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0Q29tcG9uZW50OiBJQ29ubmVjdGlvblRleHQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uQ2VudGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwdWJsaWMgZlBhdGhCdWlsZGVyOiBGUGF0aEJ1aWxkZXJCYXNlID0gbmV3IEZQYXRoQnVpbGRlclNlbGVjdG9yKCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGguaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMuZkdyYWRpZW50LmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhdGggPSAnJztcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5ob3N0RWxlbWVudC5maXJzdENoaWxkPy5sYXN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldFZlY3Rvcihmcm9tOiBJUG9pbnQsIGZyb21TaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdG86IElQb2ludCwgdG9TaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIHRoaXMudmVjdG9yID0geyBwb2ludDE6IGZyb20sIHBvaW50MjogdG8gfTtcbiAgICBjb25zdCBwYXRoUmVzdWx0ID0gdGhpcy5mUGF0aEJ1aWxkZXIuaGFuZGxlKFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogdGhpcy5mVHlwZSxcbiAgICAgICAgICBzb3VyY2U6IGZyb20sXG4gICAgICAgICAgc291cmNlU2lkZTogZnJvbVNpZGUsXG4gICAgICAgICAgdGFyZ2V0OiB0byxcbiAgICAgICAgICB0YXJnZXRTaWRlOiB0b1NpZGUsXG4gICAgICAgICAgcmFkaXVzOiA4LFxuICAgICAgICAgIG9mZnNldDogMzJcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnBhdGggPSBwYXRoUmVzdWx0LnBhdGg7XG5cbiAgICBjb25zdCB0cmFuc2Zvcm0gPSBgcG9zaXRpb246IGFic29sdXRlOyBwb2ludGVyRXZlbnRzOiBhbGw7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBsZWZ0OiAkeyBwYXRoUmVzdWx0LmNlbnRlci54IH1weDsgdG9wOiAkeyBwYXRoUmVzdWx0LmNlbnRlci55IH1weGA7XG5cbiAgICB0aGlzLmZDb25uZWN0aW9uQ2VudGVyPy5uYXRpdmVFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZkRlZnMubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICB0aGlzLmZNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgY29uc3QgbWFya2VyRWxlbWVudCA9IERvbUVsZW1lbnRFeHRlbnNpb25zLmNyZWF0ZVN2Z0VsZW1lbnQoJ21hcmtlcicpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgZ2V0Rmxvd1VpZCgpICsgJy0nICsgbWFya2VyLnR5cGUgKyAnLScgKyB0aGlzLmlkKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJIZWlnaHQnLCBgJHsgbWFya2VyLmhlaWdodCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyV2lkdGgnLCBgJHsgbWFya2VyLndpZHRoIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdvcmllbnQnLCAnYXV0bycpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlgnLCBgJHsgbWFya2VyLnJlZlggfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlknLCBgJHsgbWFya2VyLnJlZlkgfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlclVuaXRzJywgJ3N0cm9rZVdpZHRoJyk7XG5cbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyBtYXJrZXIuaGVpZ2h0IH1gKTtcbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7IG1hcmtlci53aWR0aCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LmFwcGVuZChtYXJrZXIuaG9zdEVsZW1lbnQuY2xvbmVOb2RlKHRydWUpKTtcblxuICAgICAgdGhpcy5mRGVmcy5uYXRpdmVFbGVtZW50LmFwcGVuZChtYXJrZXJFbGVtZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLmZNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgbWFya2VyLmhvc3RFbGVtZW50LnJlbW92ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZTZWxlY3Rpb24uc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZkdyYWRpZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZS5yZWRyYXcodGhpcy52ZWN0b3IucG9pbnQyKTtcbiAgICB0aGlzLmZUZXh0Q29tcG9uZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,7 @@ import { F_CONNECTION } from '../f-connection.injection-token';
4
4
  import * as i0 from "@angular/core";
5
5
  export class FConnectionTextPathDirective {
6
6
  get linkToConnection() {
7
- return F_CONNECTION_IDENTIFIERS.linkToConnection(this.base.outputId + this.base.inputId);
7
+ return F_CONNECTION_IDENTIFIERS.linkToConnection(this.base.fOutputId + this.base.fInputId);
8
8
  }
9
9
  get hostElement() {
10
10
  return this.elementReference.nativeElement;
@@ -18,7 +18,7 @@ export class FConnectionTextPathDirective {
18
18
  ngOnInit() {
19
19
  this.hostElement.setAttribute('startOffset', '50%');
20
20
  this.hostElement.setAttribute('text-anchor', `middle`);
21
- this.symbolWidth = this.getSymbolWidth(this.base.text || '');
21
+ this.symbolWidth = this.getSymbolWidth(this.base.fText || '');
22
22
  }
23
23
  getBBox() {
24
24
  return this.hostElement.getBBox();
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
59
59
  type: Inject,
60
60
  args: [F_CONNECTION]
61
61
  }] }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLXRleHQvZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVUvRCxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sd0JBQXdCLENBQUMsZ0JBQWdCLENBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUtELFlBQ1ksZ0JBQWdELEVBQzFCLElBQStDO1FBRHJFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBMkM7UUFMMUUsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFXLE1BQU0sQ0FBQztJQU1qQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBMkI7UUFDL0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDakMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLFlBQVksQ0FBQztRQUNsQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFJLFFBQVMsSUFBSyxVQUFXLEVBQUUsQ0FBQztRQUUvQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzhHQXZEVSw0QkFBNEIsNENBaUIzQixZQUFZO2tHQWpCYiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsSUFBSSxFQUFFO3dCQUNKLGFBQWEsRUFBRSxrQkFBa0I7cUJBQ2xDO2lCQUNGOzswQkFrQk0sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9JREVOVElGSUVSUyB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1pZGVudGlmaWVycyc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkZyb21UbyB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10byc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RleHRQYXRoW2YtY29ubmVjdGlvbi10ZXh0LXBhdGhdJyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5ocmVmXSc6ICdsaW5rVG9Db25uZWN0aW9uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIE9uSW5pdCB7XG5cbiAgcHVibGljIGdldCBsaW5rVG9Db25uZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9Db25uZWN0aW9uKFxuICAgICAgICB0aGlzLmJhc2Uub3V0cHV0SWQgKyB0aGlzLmJhc2UuaW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1RleHRQYXRoRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHN5bWJvbFdpZHRoOiBudW1iZXIgPSA4O1xuICBwdWJsaWMgZm9udFNpemU6IHN0cmluZyA9ICcxMnB4JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdUZXh0UGF0aEVsZW1lbnQ+LFxuICAgICAgQEluamVjdChGX0NPTk5FQ1RJT04pIHByaXZhdGUgYmFzZTogSUhhc0Nvbm5lY3Rpb25UZXh0ICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdGFydE9mZnNldCcsICc1MCUnKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgndGV4dC1hbmNob3InLCBgbWlkZGxlYCk7XG4gICAgdGhpcy5zeW1ib2xXaWR0aCA9IHRoaXMuZ2V0U3ltYm9sV2lkdGgodGhpcy5iYXNlLnRleHQgfHwgJycpO1xuICB9XG5cbiAgcHVibGljIGdldEJCb3goKTogRE9NUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuZ2V0QkJveCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb250U3R5bGVzKGVsZW1lbnQ6IFNWR1RleHRQYXRoRWxlbWVudCk6IHsgZm9udFNpemU6IHN0cmluZywgZm9udEZhbWlseTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnRTaXplOiBjb21wdXRlZFN0eWxlcy5mb250U2l6ZSxcbiAgICAgIGZvbnRGYW1pbHk6IGNvbXB1dGVkU3R5bGVzLmZvbnRGYW1pbHlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTeW1ib2xXaWR0aChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHRleHQgPSBuYW1lIHx8ICdjb25uZWN0aW9uJztcbiAgICBjb25zdCB7IGZvbnRGYW1pbHksIGZvbnRTaXplIH0gPSB0aGlzLmdldEZvbnRTdHlsZXModGhpcy5ob3N0RWxlbWVudCk7XG4gICAgdGhpcy5mb250U2l6ZSA9IGZvbnRTaXplO1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcblxuICAgIGlmICghY29udGV4dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW52YXMgY29udGV4dCBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuXG4gICAgY29udGV4dC5mb250ID0gYCR7IGZvbnRTaXplIH0gJHsgZm9udEZhbWlseSB9YDtcblxuICAgIGNvbnN0IG1ldHJpY3MgPSBjb250ZXh0Lm1lYXN1cmVUZXh0KHRleHQpO1xuICAgIGNvbnN0IHN5bWJvbFdpZHRoID0gbWV0cmljcy53aWR0aCAvIHRleHQubGVuZ3RoO1xuICAgIHJldHVybiBzeW1ib2xXaWR0aDtcbiAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLXRleHQvZi1jb25uZWN0aW9uLXRleHQtcGF0aC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVUvRCxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sd0JBQXdCLENBQUMsZ0JBQWdCLENBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUtELFlBQ1ksZ0JBQWdELEVBQzFCLElBQStDO1FBRHJFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBMkM7UUFMMUUsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFXLE1BQU0sQ0FBQztJQU1qQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBMkI7UUFDL0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDakMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLFlBQVksQ0FBQztRQUNsQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFJLFFBQVMsSUFBSyxVQUFXLEVBQUUsQ0FBQztRQUUvQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzhHQXZEVSw0QkFBNEIsNENBaUIzQixZQUFZO2tHQWpCYiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsSUFBSSxFQUFFO3dCQUNKLGFBQWEsRUFBRSxrQkFBa0I7cUJBQ2xDO2lCQUNGOzswQkFrQk0sTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9JREVOVElGSUVSUyB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1pZGVudGlmaWVycyc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkZyb21UbyB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10byc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RleHRQYXRoW2YtY29ubmVjdGlvbi10ZXh0LXBhdGhdJyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5ocmVmXSc6ICdsaW5rVG9Db25uZWN0aW9uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIE9uSW5pdCB7XG5cbiAgcHVibGljIGdldCBsaW5rVG9Db25uZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9Db25uZWN0aW9uKFxuICAgICAgICB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHVGV4dFBhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgc3ltYm9sV2lkdGg6IG51bWJlciA9IDg7XG4gIHB1YmxpYyBmb250U2l6ZTogc3RyaW5nID0gJzEycHgnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR1RleHRQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvblRleHQgJiBJSGFzQ29ubmVjdGlvbkZyb21UbyxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0YXJ0T2Zmc2V0JywgJzUwJScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0ZXh0LWFuY2hvcicsIGBtaWRkbGVgKTtcbiAgICB0aGlzLnN5bWJvbFdpZHRoID0gdGhpcy5nZXRTeW1ib2xXaWR0aCh0aGlzLmJhc2UuZlRleHQgfHwgJycpO1xuICB9XG5cbiAgcHVibGljIGdldEJCb3goKTogRE9NUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuZ2V0QkJveCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb250U3R5bGVzKGVsZW1lbnQ6IFNWR1RleHRQYXRoRWxlbWVudCk6IHsgZm9udFNpemU6IHN0cmluZywgZm9udEZhbWlseTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnRTaXplOiBjb21wdXRlZFN0eWxlcy5mb250U2l6ZSxcbiAgICAgIGZvbnRGYW1pbHk6IGNvbXB1dGVkU3R5bGVzLmZvbnRGYW1pbHlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTeW1ib2xXaWR0aChuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHRleHQgPSBuYW1lIHx8ICdjb25uZWN0aW9uJztcbiAgICBjb25zdCB7IGZvbnRGYW1pbHksIGZvbnRTaXplIH0gPSB0aGlzLmdldEZvbnRTdHlsZXModGhpcy5ob3N0RWxlbWVudCk7XG4gICAgdGhpcy5mb250U2l6ZSA9IGZvbnRTaXplO1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcblxuICAgIGlmICghY29udGV4dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW52YXMgY29udGV4dCBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuXG4gICAgY29udGV4dC5mb250ID0gYCR7IGZvbnRTaXplIH0gJHsgZm9udEZhbWlseSB9YDtcblxuICAgIGNvbnN0IG1ldHJpY3MgPSBjb250ZXh0Lm1lYXN1cmVUZXh0KHRleHQpO1xuICAgIGNvbnN0IHN5bWJvbFdpZHRoID0gbWV0cmljcy53aWR0aCAvIHRleHQubGVuZ3RoO1xuICAgIHJldHVybiBzeW1ib2xXaWR0aDtcbiAgfVxufVxuIl19
@@ -8,13 +8,13 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "./f-connection-text-path.directive";
9
9
  export class FConnectionTextComponent {
10
10
  get textId() {
11
- return F_CONNECTION_IDENTIFIERS.textId(this.base.outputId + this.base.inputId);
11
+ return F_CONNECTION_IDENTIFIERS.textId(this.base.fOutputId + this.base.fInputId);
12
12
  }
13
13
  get hostElement() {
14
14
  return this.elementReference.nativeElement;
15
15
  }
16
16
  get text() {
17
- return this.base.text || '';
17
+ return this.base.fText || '';
18
18
  }
19
19
  constructor(elementReference, base) {
20
20
  this.elementReference = elementReference;
@@ -27,7 +27,7 @@ export class FConnectionTextComponent {
27
27
  const textRect = this.textPathDirective.getBBox();
28
28
  const textRectCenter = [textRect.x + textRect.width / 2, textRect.y + textRect.height / 2];
29
29
  this.hostElement.setAttribute('transform', isTextReverse ? `rotate(180, ${textRectCenter})` : '');
30
- const startOffset = FConnectionTextComponent.getTextStartOffset(vector, this.base.text || '', this.textPathDirective.symbolWidth);
30
+ const startOffset = FConnectionTextComponent.getTextStartOffset(vector, this.base.fText || '', this.textPathDirective.symbolWidth);
31
31
  if (startOffset < 0) {
32
32
  this.hostElement.style.display = 'none';
33
33
  }
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
63
63
  type: ViewChild,
64
64
  args: [FConnectionTextPathDirective, { static: true }]
65
65
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtY29ubmVjdGlvbi10ZXh0L2YtY29ubmVjdGlvbi10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWNvbm5lY3Rpb24tdGV4dC9mLWNvbm5lY3Rpb24tdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBYyxNQUFNLEVBQUUsU0FBUyxFQUN6QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVcsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDOzs7QUFZdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxJQUFXLE1BQU07UUFDZixPQUFPLHdCQUF3QixDQUFDLE1BQU0sQ0FDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUtELFlBQ1ksZ0JBQTRDLEVBQ3RCLElBQStDO1FBRHJFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNEI7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBMkM7SUFFakYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFlO1FBRTNCLE1BQU0sYUFBYSxHQUFZLHdCQUF3QixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRCxNQUFNLGNBQWMsR0FBRyxDQUFFLFFBQVEsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLGVBQWdCLGNBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRyxNQUFNLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsSSxJQUFJLFdBQVcsR0FBRyxDQUFDLEVBQUU7WUFFbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztTQUN6QzthQUFNO1lBRUwsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUMxQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsUUFBZ0IsRUFBRSxhQUFzQjtRQUMxRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFFN0UsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBZTtRQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBZSxFQUFFLElBQVksRUFBRSxXQUFtQjtRQUNsRixNQUFNLFlBQVksR0FBVyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEUsQ0FBQzs4R0E1RFUsd0JBQXdCLDRDQXFCdkIsWUFBWTtrR0FyQmIsd0JBQXdCLGtKQUZ4QixDQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FBRSw2RUFrQnZFLDRCQUE0Qiw4REN0Q3pDLGdLQUtBOzsyRkRpQmEsd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLHlCQUF5QixtQkFFbEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsUUFBUTtxQkFDdEIsYUFDVSxDQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLDBCQUEwQixFQUFFLENBQUU7OzBCQXVCN0UsTUFBTTsyQkFBQyxZQUFZO3lDQUpqQixpQkFBaUI7c0JBRHZCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElWZWN0b3IsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWNvbm5lY3Rpb24tdGV4dC1wYXRoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9URVhULCBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2ktY29ubmVjdGlvbi10ZXh0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInRleHRbZi1jb25uZWN0aW9uLXRleHRdXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50Lmh0bWxcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24tdGV4dFwiLFxuICAgICdbYXR0ci5pZF0nOiAndGV4dElkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9URVhULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25UZXh0IHtcblxuICBwdWJsaWMgZ2V0IHRleHRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMudGV4dElkKFxuICAgICAgICB0aGlzLmJhc2Uub3V0cHV0SWQgKyB0aGlzLmJhc2UuaW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1RleHRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlLnRleHQgfHwgJyc7XG4gIH1cblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyB0ZXh0UGF0aERpcmVjdGl2ZSE6IEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHVGV4dEVsZW1lbnQ+LFxuICAgICAgQEluamVjdChGX0NPTk5FQ1RJT04pIHByaXZhdGUgYmFzZTogSUhhc0Nvbm5lY3Rpb25UZXh0ICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICkge1xuICB9XG5cbiAgcHVibGljIHJlZHJhdyh2ZWN0b3I6IElWZWN0b3IpOiB2b2lkIHtcblxuICAgIGNvbnN0IGlzVGV4dFJldmVyc2U6IGJvb2xlYW4gPSBGQ29ubmVjdGlvblRleHRDb21wb25lbnQuaXNUZXh0UmV2ZXJzZSh2ZWN0b3IpO1xuICAgIGNvbnN0IGR5VmFsdWUgPSB0aGlzLmNhbGN1bGF0ZUR5KHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuZm9udFNpemUsIGlzVGV4dFJldmVyc2UpO1xuXG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2R5JywgZHlWYWx1ZSk7XG5cbiAgICBjb25zdCB0ZXh0UmVjdCA9IHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuZ2V0QkJveCgpO1xuICAgIGNvbnN0IHRleHRSZWN0Q2VudGVyID0gWyB0ZXh0UmVjdC54ICsgdGV4dFJlY3Qud2lkdGggLyAyLCB0ZXh0UmVjdC55ICsgdGV4dFJlY3QuaGVpZ2h0IC8gMiBdO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCBpc1RleHRSZXZlcnNlID8gYHJvdGF0ZSgxODAsICR7IHRleHRSZWN0Q2VudGVyIH0pYCA6ICcnKTtcbiAgICBjb25zdCBzdGFydE9mZnNldCA9IEZDb25uZWN0aW9uVGV4dENvbXBvbmVudC5nZXRUZXh0U3RhcnRPZmZzZXQodmVjdG9yLCB0aGlzLmJhc2UudGV4dCB8fCAnJywgdGhpcy50ZXh0UGF0aERpcmVjdGl2ZS5zeW1ib2xXaWR0aCk7XG4gICAgaWYgKHN0YXJ0T2Zmc2V0IDwgMCkge1xuXG4gICAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfSBlbHNlIHtcblxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ3Vuc2V0JztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUR5KGZvbnRTaXplOiBzdHJpbmcsIGlzVGV4dFJldmVyc2U6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvbnRTaXplTnVtYmVyID0gcGFyc2VGbG9hdChmb250U2l6ZSk7XG5cbiAgICBjb25zdCBkeVZhbHVlID0gaXNUZXh0UmV2ZXJzZSA/IGZvbnRTaXplTnVtYmVyICogMS41IDogZm9udFNpemVOdW1iZXIgKiAtMC44O1xuXG4gICAgcmV0dXJuIGR5VmFsdWUudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVGV4dFJldmVyc2UodmVjdG9yOiBJVmVjdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZlY3Rvci5wb2ludDEueCA+IHZlY3Rvci5wb2ludDIueDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFRleHRTdGFydE9mZnNldCh2ZWN0b3I6IElWZWN0b3IsIG5hbWU6IHN0cmluZywgc3ltYm9sV2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgdmVjdG9yTGVuZ3RoOiBudW1iZXIgPSBQb2ludEV4dGVuc2lvbnMuaHlwb3RlbnVzZSh2ZWN0b3IucG9pbnQxLCB2ZWN0b3IucG9pbnQyKTtcbiAgICByZXR1cm4gdmVjdG9yTGVuZ3RoIC8gMiAtICgobmFtZSB8fCAnJykubGVuZ3RoICogc3ltYm9sV2lkdGgpIC8gMjtcbiAgfVxufVxuXG4iLCI8bmctY29udGFpbmVyIHhtbG5zOnN2Zz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHN2Zzp0ZXh0UGF0aCBmLWNvbm5lY3Rpb24tdGV4dC1wYXRoPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9zdmc6dGV4dFBhdGg+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtY29ubmVjdGlvbi10ZXh0L2YtY29ubmVjdGlvbi10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWNvbm5lY3Rpb24tdGV4dC9mLWNvbm5lY3Rpb24tdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBYyxNQUFNLEVBQUUsU0FBUyxFQUN6QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVcsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDOzs7QUFZdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxJQUFXLE1BQU07UUFDZixPQUFPLHdCQUF3QixDQUFDLE1BQU0sQ0FDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7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QUFFLGVBQWUsRUFBRSxXQUFXLDBCQUEwQixFQUFFLENBQUU7OzBCQXVCN0UsTUFBTTsyQkFBQyxZQUFZO3lDQUpqQixpQkFBaUI7c0JBRHZCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElWZWN0b3IsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWNvbm5lY3Rpb24tdGV4dC1wYXRoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9URVhULCBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2ktY29ubmVjdGlvbi10ZXh0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInRleHRbZi1jb25uZWN0aW9uLXRleHRdXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLXRleHQuY29tcG9uZW50Lmh0bWxcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24tdGV4dFwiLFxuICAgICdbYXR0ci5pZF0nOiAndGV4dElkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9URVhULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25UZXh0Q29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25UZXh0IHtcblxuICBwdWJsaWMgZ2V0IHRleHRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMudGV4dElkKFxuICAgICAgICB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHVGV4dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJhc2UuZlRleHQgfHwgJyc7XG4gIH1cblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyB0ZXh0UGF0aERpcmVjdGl2ZSE6IEZDb25uZWN0aW9uVGV4dFBhdGhEaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHVGV4dEVsZW1lbnQ+LFxuICAgICAgQEluamVjdChGX0NPTk5FQ1RJT04pIHByaXZhdGUgYmFzZTogSUhhc0Nvbm5lY3Rpb25UZXh0ICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICkge1xuICB9XG5cbiAgcHVibGljIHJlZHJhdyh2ZWN0b3I6IElWZWN0b3IpOiB2b2lkIHtcblxuICAgIGNvbnN0IGlzVGV4dFJldmVyc2U6IGJvb2xlYW4gPSBGQ29ubmVjdGlvblRleHRDb21wb25lbnQuaXNUZXh0UmV2ZXJzZSh2ZWN0b3IpO1xuICAgIGNvbnN0IGR5VmFsdWUgPSB0aGlzLmNhbGN1bGF0ZUR5KHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuZm9udFNpemUsIGlzVGV4dFJldmVyc2UpO1xuXG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2R5JywgZHlWYWx1ZSk7XG5cbiAgICBjb25zdCB0ZXh0UmVjdCA9IHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuZ2V0QkJveCgpO1xuICAgIGNvbnN0IHRleHRSZWN0Q2VudGVyID0gWyB0ZXh0UmVjdC54ICsgdGV4dFJlY3Qud2lkdGggLyAyLCB0ZXh0UmVjdC55ICsgdGV4dFJlY3QuaGVpZ2h0IC8gMiBdO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd0cmFuc2Zvcm0nLCBpc1RleHRSZXZlcnNlID8gYHJvdGF0ZSgxODAsICR7IHRleHRSZWN0Q2VudGVyIH0pYCA6ICcnKTtcbiAgICBjb25zdCBzdGFydE9mZnNldCA9IEZDb25uZWN0aW9uVGV4dENvbXBvbmVudC5nZXRUZXh0U3RhcnRPZmZzZXQodmVjdG9yLCB0aGlzLmJhc2UuZlRleHQgfHwgJycsIHRoaXMudGV4dFBhdGhEaXJlY3RpdmUuc3ltYm9sV2lkdGgpO1xuICAgIGlmIChzdGFydE9mZnNldCA8IDApIHtcblxuICAgICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICd1bnNldCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVEeShmb250U2l6ZTogc3RyaW5nLCBpc1RleHRSZXZlcnNlOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb250U2l6ZU51bWJlciA9IHBhcnNlRmxvYXQoZm9udFNpemUpO1xuXG4gICAgY29uc3QgZHlWYWx1ZSA9IGlzVGV4dFJldmVyc2UgPyBmb250U2l6ZU51bWJlciAqIDEuNSA6IGZvbnRTaXplTnVtYmVyICogLTAuODtcblxuICAgIHJldHVybiBkeVZhbHVlLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc1RleHRSZXZlcnNlKHZlY3RvcjogSVZlY3Rvcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2ZWN0b3IucG9pbnQxLnggPiB2ZWN0b3IucG9pbnQyLng7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRUZXh0U3RhcnRPZmZzZXQodmVjdG9yOiBJVmVjdG9yLCBuYW1lOiBzdHJpbmcsIHN5bWJvbFdpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHZlY3Rvckxlbmd0aDogbnVtYmVyID0gUG9pbnRFeHRlbnNpb25zLmh5cG90ZW51c2UodmVjdG9yLnBvaW50MSwgdmVjdG9yLnBvaW50Mik7XG4gICAgcmV0dXJuIHZlY3Rvckxlbmd0aCAvIDIgLSAoKG5hbWUgfHwgJycpLmxlbmd0aCAqIHN5bWJvbFdpZHRoKSAvIDI7XG4gIH1cbn1cblxuIiwiPG5nLWNvbnRhaW5lciB4bWxuczpzdmc9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxzdmc6dGV4dFBhdGggZi1jb25uZWN0aW9uLXRleHQtcGF0aD5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvc3ZnOnRleHRQYXRoPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -6,7 +6,7 @@ import { CONNECTION_GRADIENT } from './i-connection-gradient';
6
6
  import * as i0 from "@angular/core";
7
7
  export class FConnectionGradientComponent {
8
8
  get gradientId() {
9
- return F_CONNECTION_IDENTIFIERS.gradientId(this.base.outputId + this.base.inputId);
9
+ return F_CONNECTION_IDENTIFIERS.gradientId(this.base.fOutputId + this.base.fInputId);
10
10
  }
11
11
  get hostElement() {
12
12
  return this.elementReference.nativeElement;
@@ -26,8 +26,8 @@ export class FConnectionGradientComponent {
26
26
  this.stop2Element.setAttribute('offset', '100%');
27
27
  }
28
28
  updateGradient() {
29
- this.setFromColor(this.base.startColor);
30
- this.setToColor(this.base.endColor);
29
+ this.setFromColor(this.base.fStartColor);
30
+ this.setToColor(this.base.fEndColor);
31
31
  }
32
32
  setFromColor(color) {
33
33
  this.stop1Element.setAttribute('stop-color', color || 'transparent');
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
60
60
  type: Inject,
61
61
  args: [F_CONNECTION]
62
62
  }] }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWdyYWRpZW50L2YtY29ubmVjdGlvbi1ncmFkaWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1ncmFkaWVudC9mLWNvbm5lY3Rpb24tZ3JhZGllbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFXLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUF1QixNQUFNLHlCQUF5QixDQUFDOztBQVluRixNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVcsVUFBVTtRQUNuQixPQUFPLHdCQUF3QixDQUFDLFVBQVUsQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBbUIsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxZQUFZO1FB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QUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsbUNBQW1DO3dCQUMxQyxXQUFXLEVBQUUsWUFBWTtxQkFDMUIsYUFDVSxDQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsOEJBQThCLEVBQUUsQ0FBRTs7MEJBd0J2RixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSVZlY3RvciwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uQ29sb3IgfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9HUkFESUVOVCwgSUNvbm5lY3Rpb25HcmFkaWVudCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLWdyYWRpZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImxpbmVhckdyYWRpZW50W2ZDb25uZWN0aW9uR3JhZGllbnRdXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLWdyYWRpZW50LmNvbXBvbmVudC5odG1sXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLWdyYWRpZW50XCIsXG4gICAgJ1thdHRyLmlkXSc6ICdncmFkaWVudElkJ1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBDT05ORUNUSU9OX0dSQURJRU5ULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25HcmFkaWVudENvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uR3JhZGllbnRDb21wb25lbnQgaW1wbGVtZW50cyBJQ29ubmVjdGlvbkdyYWRpZW50IHtcblxuICBwdWJsaWMgZ2V0IGdyYWRpZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmdyYWRpZW50SWQoXG4gICAgICB0aGlzLmJhc2Uub3V0cHV0SWQgKyB0aGlzLmJhc2UuaW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBzdG9wMUVsZW1lbnQoKTogU1ZHU3RvcEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDApIGFzIFNWR1N0b3BFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBzdG9wMkVsZW1lbnQoKTogU1ZHU3RvcEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5pdGVtKDEpIGFzIFNWR1N0b3BFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPFNWR0xpbmVhckdyYWRpZW50RWxlbWVudD4sXG4gICAgQEluamVjdChGX0NPTk5FQ1RJT04pIHByaXZhdGUgYmFzZTogSUhhc0Nvbm5lY3Rpb25Db2xvciAmIElIYXNDb25uZWN0aW9uRnJvbVRvLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcDFFbGVtZW50LnNldEF0dHJpYnV0ZSgnb2Zmc2V0JywgJzAlJyk7XG4gICAgdGhpcy5zdG9wMkVsZW1lbnQuc2V0QXR0cmlidXRlKCdvZmZzZXQnLCAnMTAwJScpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVHcmFkaWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEZyb21Db2xvcih0aGlzLmJhc2Uuc3RhcnRDb2xvcik7XG4gICAgdGhpcy5zZXRUb0NvbG9yKHRoaXMuYmFzZS5lbmRDb2xvcik7XG4gIH1cblxuICBwcml2YXRlIHNldEZyb21Db2xvcihjb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wMUVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdG9wLWNvbG9yJywgY29sb3IgfHwgJ3RyYW5zcGFyZW50Jyk7XG4gIH1cblxuICBwcml2YXRlIHNldFRvQ29sb3IoY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcDJFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3RvcC1jb2xvcicsIGNvbG9yIHx8ICd0cmFuc3BhcmVudCcpO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdyh2ZWN0b3I6IElWZWN0b3IpOiB2b2lkIHtcbiAgICBjb25zdCB4OiBudW1iZXIgPSB2ZWN0b3IucG9pbnQyLnggLSB2ZWN0b3IucG9pbnQxLng7XG4gICAgY29uc3QgeTogbnVtYmVyID0gdmVjdG9yLnBvaW50Mi55IC0gdmVjdG9yLnBvaW50MS55O1xuICAgIGNvbnN0IGRpc3RhbmNlOiBudW1iZXIgPSBNYXRoLnNxcnQoeCAqIHggKyB5ICogeSkgfHwgMC4wMTtcblxuICAgIGNvbnN0IGZyb20gPSBuZXcgUG9pbnQoMC41IC0gKDAuNSAqIHgpIC8gZGlzdGFuY2UsIDAuNSAtICgwLjUgKiB5KSAvIGRpc3RhbmNlKTtcblxuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd4MScsIGZyb20ueC50b1N0cmluZygpKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneTEnLCBmcm9tLnkudG9TdHJpbmcoKSk7XG5cbiAgICBjb25zdCB0byA9IG5ldyBQb2ludCgwLjUgKyAoMC41ICogeCkgLyBkaXN0YW5jZSwgMC41ICsgKDAuNSAqIHkpIC8gZGlzdGFuY2UpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd4MicsIHRvLngudG9TdHJpbmcoKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3kyJywgdG8ueS50b1N0cmluZygpKTtcbiAgICB0aGlzLnVwZGF0ZUdyYWRpZW50KCk7XG4gIH1cbn1cblxuIiwiPG5nLWNvbnRhaW5lciB4bWxuczpzdmc9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxzdmc6c3RvcC8+XG4gICAgPHN2ZzpzdG9wLz5cbjwvbmctY29udGFpbmVyPlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9mLWdyYWRpZW50L2YtY29ubmVjdGlvbi1ncmFkaWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1ncmFkaWVudC9mLWNvbm5lY3Rpb24tZ3JhZGllbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFXLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUF1QixNQUFNLHlCQUF5QixDQUFDOztBQVluRixNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVcsVUFBVTtRQUNuQixPQUFPLHdCQUF3QixDQUFDLFVBQVUsQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBbUIsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxZQUFZO1FB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QUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsbUNBQW1DO3dCQUMxQyxXQUFXLEVBQUUsWUFBWTtxQkFDMUIsYUFDVSxDQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsOEJBQThCLEVBQUUsQ0FBRTs7MEJBd0J2RixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSVZlY3RvciwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0lERU5USUZJRVJTIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWlkZW50aWZpZXJzJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uQ29sb3IgfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9HUkFESUVOVCwgSUNvbm5lY3Rpb25HcmFkaWVudCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLWdyYWRpZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImxpbmVhckdyYWRpZW50W2ZDb25uZWN0aW9uR3JhZGllbnRdXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLWdyYWRpZW50LmNvbXBvbmVudC5odG1sXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLWdyYWRpZW50XCIsXG4gICAgJ1thdHRyLmlkXSc6ICdncmFkaWVudElkJ1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBDT05ORUNUSU9OX0dSQURJRU5ULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25HcmFkaWVudENvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uR3JhZGllbnRDb21wb25lbnQgaW1wbGVtZW50cyBJQ29ubmVjdGlvbkdyYWRpZW50IHtcblxuICBwdWJsaWMgZ2V0IGdyYWRpZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmdyYWRpZW50SWQoXG4gICAgICB0aGlzLmJhc2UuZk91dHB1dElkICsgdGhpcy5iYXNlLmZJbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0b3AxRWxlbWVudCgpOiBTVkdTdG9wRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMCkgYXMgU1ZHU3RvcEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0b3AyRWxlbWVudCgpOiBTVkdTdG9wRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLml0ZW0oMSkgYXMgU1ZHU3RvcEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50PixcbiAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sXG4gICkge1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wMUVsZW1lbnQuc2V0QXR0cmlidXRlKCdvZmZzZXQnLCAnMCUnKTtcbiAgICB0aGlzLnN0b3AyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ29mZnNldCcsICcxMDAlJyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUdyYWRpZW50KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RnJvbUNvbG9yKHRoaXMuYmFzZS5mU3RhcnRDb2xvcik7XG4gICAgdGhpcy5zZXRUb0NvbG9yKHRoaXMuYmFzZS5mRW5kQ29sb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGcm9tQ29sb3IoY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcDFFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3RvcC1jb2xvcicsIGNvbG9yIHx8ICd0cmFuc3BhcmVudCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb0NvbG9yKGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0b3AtY29sb3InLCBjb2xvciB8fCAndHJhbnNwYXJlbnQnKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcodmVjdG9yOiBJVmVjdG9yKTogdm9pZCB7XG4gICAgY29uc3QgeDogbnVtYmVyID0gdmVjdG9yLnBvaW50Mi54IC0gdmVjdG9yLnBvaW50MS54O1xuICAgIGNvbnN0IHk6IG51bWJlciA9IHZlY3Rvci5wb2ludDIueSAtIHZlY3Rvci5wb2ludDEueTtcbiAgICBjb25zdCBkaXN0YW5jZTogbnVtYmVyID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkpIHx8IDAuMDE7XG5cbiAgICBjb25zdCBmcm9tID0gbmV3IFBvaW50KDAuNSAtICgwLjUgKiB4KSAvIGRpc3RhbmNlLCAwLjUgLSAoMC41ICogeSkgLyBkaXN0YW5jZSk7XG5cbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneDEnLCBmcm9tLngudG9TdHJpbmcoKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3kxJywgZnJvbS55LnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3QgdG8gPSBuZXcgUG9pbnQoMC41ICsgKDAuNSAqIHgpIC8gZGlzdGFuY2UsIDAuNSArICgwLjUgKiB5KSAvIGRpc3RhbmNlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneDInLCB0by54LnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd5MicsIHRvLnkudG9TdHJpbmcoKSk7XG4gICAgdGhpcy51cGRhdGVHcmFkaWVudCgpO1xuICB9XG59XG5cbiIsIjxuZy1jb250YWluZXIgeG1sbnM6c3ZnPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8c3ZnOnN0b3AvPlxuICAgIDxzdmc6c3RvcC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -4,14 +4,14 @@ import { F_CONNECTION } from '../f-connection.injection-token';
4
4
  import { CONNECTION_PATH } from './i-connection-path';
5
5
  import { sanitizeElementId } from '@foblex/core';
6
6
  import { getFlowUid } from '../../../get-flow-uid';
7
- import { EFMarkerType } from '../../f-marker/e-f-marker-type';
7
+ import { EFMarkerType } from '../../f-marker';
8
8
  import * as i0 from "@angular/core";
9
9
  export class FConnectionPathComponent {
10
10
  get linkToGradient() {
11
- return F_CONNECTION_IDENTIFIERS.linkToGradient(this.base.outputId + this.base.inputId);
11
+ return F_CONNECTION_IDENTIFIERS.linkToGradient(this.base.fOutputId + this.base.fInputId);
12
12
  }
13
13
  get attrConnectionId() {
14
- return F_CONNECTION_IDENTIFIERS.connectionId(this.base.outputId + this.base.inputId);
14
+ return F_CONNECTION_IDENTIFIERS.connectionId(this.base.fOutputId + this.base.fInputId);
15
15
  }
16
16
  get hostElement() {
17
17
  return this.elementReference.nativeElement;
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
60
60
  type: Inject,
61
61
  args: [F_CONNECTION]
62
62
  }] }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBYTlELE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FDekMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBNEMsRUFDdEIsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVsRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFJLFVBQVUsRUFBRyxJQUFLLElBQUssSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFFLEdBQUcsQ0FBQTtJQUNySCxDQUFDOzhHQWhEVSx3QkFBd0IsNENBb0J2QixZQUFZO2tHQXBCYix3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJNLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXBhdGgnO1xuaW1wb3J0IHsgc2FuaXRpemVFbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9mLW1hcmtlci9lLWYtbWFya2VyLXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicGF0aFtmLWNvbm5lY3Rpb24tcGF0aF1cIixcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvbi1wYXRoXCIsXG4gICAgJ1thdHRyLmlkXSc6ICdhdHRyQ29ubmVjdGlvbklkJyxcbiAgICAnW2F0dHIuc3Ryb2tlXSc6ICdsaW5rVG9HcmFkaWVudCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IENPTk5FQ1RJT05fUEFUSCwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCBpbXBsZW1lbnRzIElDb25uZWN0aW9uUGF0aCB7XG5cbiAgcHVibGljIGdldCBsaW5rVG9HcmFkaWVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMubGlua1RvR3JhZGllbnQoXG4gICAgICAgIHRoaXMuYmFzZS5vdXRwdXRJZCArIHRoaXMuYmFzZS5pbnB1dElkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0ckNvbm5lY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMuY29ubmVjdGlvbklkKFxuICAgICAgICB0aGlzLmJhc2Uub3V0cHV0SWQgKyB0aGlzLmJhc2UuaW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG9cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImRcIiwgYCR7IHBhdGggfWApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU0VMRUNURURfU1RBUlQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9FTkQpIH0pYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcsIGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNUQVJUKSB9KWApO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItZW5kJywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuRU5EKSB9KWApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXJrZXJJZCh0eXBlOiBFRk1hcmtlclR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBzYW5pdGl6ZUVsZW1lbnRJZChgJHsgZ2V0Rmxvd1VpZCgpIH0tJHsgdHlwZSB9LSR7IHRoaXMuYmFzZS5pZCB9YCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcpID09PSBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9TVEFSVCkgfSlgXG4gIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYTlDLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBNEMsRUFDdEIsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVsRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFJLFVBQVUsRUFBRyxJQUFLLElBQUssSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFFLEdBQUcsQ0FBQTtJQUNySCxDQUFDOzhHQWhEVSx3QkFBd0IsNENBb0J2QixZQUFZO2tHQXBCYix3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJNLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXBhdGgnO1xuaW1wb3J0IHsgc2FuaXRpemVFbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9mLW1hcmtlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwYXRoW2YtY29ubmVjdGlvbi1wYXRoXVwiLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLXBhdGhcIixcbiAgICAnW2F0dHIuaWRdJzogJ2F0dHJDb25uZWN0aW9uSWQnLFxuICAgICdbYXR0ci5zdHJva2VdJzogJ2xpbmtUb0dyYWRpZW50JyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9QQVRILCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25QYXRoIHtcblxuICBwdWJsaWMgZ2V0IGxpbmtUb0dyYWRpZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9HcmFkaWVudChcbiAgICAgICAgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJDb25uZWN0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmNvbm5lY3Rpb25JZChcbiAgICAgICAgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG9cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImRcIiwgYCR7IHBhdGggfWApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU0VMRUNURURfU1RBUlQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9FTkQpIH0pYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcsIGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNUQVJUKSB9KWApO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItZW5kJywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuRU5EKSB9KWApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXJrZXJJZCh0eXBlOiBFRk1hcmtlclR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBzYW5pdGl6ZUVsZW1lbnRJZChgJHsgZ2V0Rmxvd1VpZCgpIH0tJHsgdHlwZSB9LSR7IHRoaXMuYmFzZS5pZCB9YCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcpID09PSBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9TVEFSVCkgfSlgXG4gIH1cbn1cbiJdfQ==