@foblex/flow 12.2.2 → 12.2.3

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 (157) hide show
  1. package/domain/create-connection-markers/create-connection-markers-request.d.ts +5 -0
  2. package/domain/create-connection-markers/create-connection-markers.handler.d.ts +10 -0
  3. package/domain/create-connection-markers/index.d.ts +2 -0
  4. package/domain/get-connection.handler.d.ts +1 -1
  5. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.d.ts +1 -1
  6. package/domain/get-incoming-connections.handler.d.ts +1 -1
  7. package/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.d.ts +1 -1
  8. package/domain/get-nodes-rect/get-nodes-rect.handler.d.ts +1 -1
  9. package/domain/get-outgoing-connections.handler.d.ts +1 -1
  10. package/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.d.ts +1 -1
  11. package/domain/get-position-in-flow/get-position-in-flow-request.d.ts +5 -0
  12. package/domain/get-position-in-flow/get-position-in-flow.handler.d.ts +13 -0
  13. package/domain/get-position-in-flow/index.d.ts +2 -0
  14. package/domain/index.d.ts +2 -0
  15. package/domain/providers.d.ts +3 -1
  16. package/domain/redraw-connections/redraw-connections.handler.d.ts +2 -1
  17. package/domain/select/select.handler.d.ts +1 -1
  18. package/domain/select-all/select-all.handler.d.ts +1 -1
  19. package/esm2022/domain/create-connection-markers/create-connection-markers-request.mjs +6 -0
  20. package/esm2022/domain/create-connection-markers/create-connection-markers.handler.mjs +49 -0
  21. package/esm2022/domain/create-connection-markers/index.mjs +3 -0
  22. package/esm2022/domain/get-connection.handler.mjs +3 -4
  23. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +3 -4
  24. package/esm2022/domain/get-incoming-connections.handler.mjs +2 -2
  25. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.mjs +2 -2
  26. package/esm2022/domain/get-nodes-rect/get-nodes-rect.handler.mjs +2 -2
  27. package/esm2022/domain/get-outgoing-connections.handler.mjs +2 -2
  28. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +2 -2
  29. package/esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs +6 -0
  30. package/esm2022/domain/get-position-in-flow/get-position-in-flow.handler.mjs +32 -0
  31. package/esm2022/domain/get-position-in-flow/index.mjs +3 -0
  32. package/esm2022/domain/index.mjs +3 -1
  33. package/esm2022/domain/providers.mjs +5 -4
  34. package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +11 -4
  35. package/esm2022/domain/select/select.handler.mjs +3 -3
  36. package/esm2022/domain/select-all/select-all.handler.mjs +2 -2
  37. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  38. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +100 -0
  39. package/esm2022/f-backgroud/f-circle-pattern/index.mjs +2 -0
  40. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +118 -0
  41. package/esm2022/f-backgroud/{f-cell-pattern → f-rect-pattern}/index.mjs +2 -2
  42. package/esm2022/f-backgroud/index.mjs +3 -2
  43. package/esm2022/f-canvas/f-canvas.component.mjs +4 -4
  44. package/esm2022/f-canvas/f-zoom/f-zoom-base.mjs +1 -1
  45. package/esm2022/f-canvas/f-zoom/f-zoom.directive.mjs +2 -2
  46. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +2 -3
  47. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +2 -2
  48. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +2 -2
  49. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +2 -2
  50. package/esm2022/f-connection/common/f-connection-base.mjs +4 -36
  51. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +11 -15
  52. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +15 -0
  53. package/esm2022/f-connection/common/f-path/index.mjs +2 -1
  54. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +4 -2
  55. package/esm2022/f-connection/f-connection/f-connection.component.mjs +71 -13
  56. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +46 -9
  57. package/esm2022/f-connection/f-marker/f-marker-base.mjs +1 -1
  58. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +19 -5
  59. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +5 -7
  60. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +4 -4
  61. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +5 -4
  62. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +1 -1
  63. package/esm2022/f-draggable/canvas/canvas.prepare-drag-sequence.mjs +2 -2
  64. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +2 -2
  65. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +3 -3
  66. 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 +2 -2
  67. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +2 -2
  68. 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 +2 -2
  69. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +2 -2
  70. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +2 -2
  71. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +2 -1
  72. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
  73. package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +2 -2
  74. package/esm2022/f-draggable/f-draggable-base.mjs +8 -1
  75. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -2
  76. package/esm2022/f-draggable/f-draggable.directive.mjs +11 -2
  77. package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +2 -2
  78. package/esm2022/f-draggable/node/node.on-pointer-up.mjs +2 -2
  79. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +2 -2
  80. package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +2 -2
  81. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +1 -1
  82. package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +2 -2
  83. package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +2 -2
  84. package/esm2022/f-flow/f-flow.component.mjs +12 -10
  85. package/esm2022/f-flow.module.mjs +10 -6
  86. package/esm2022/f-group/f-group-base.mjs +3 -10
  87. package/esm2022/f-group/f-group.directive.mjs +64 -11
  88. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +2 -2
  89. package/esm2022/f-node/f-node-base.mjs +1 -1
  90. package/esm2022/f-node/f-node.directive.mjs +14 -11
  91. package/esm2022/f-storage/f-components-store.mjs +41 -0
  92. package/esm2022/f-storage/index.mjs +2 -0
  93. package/esm2022/public-api.mjs +2 -3
  94. package/f-backgroud/f-background.component.d.ts +1 -1
  95. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +32 -0
  96. package/f-backgroud/f-circle-pattern/index.d.ts +1 -0
  97. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +37 -0
  98. package/f-backgroud/f-rect-pattern/index.d.ts +1 -0
  99. package/f-backgroud/index.d.ts +2 -1
  100. package/f-canvas/f-canvas.component.d.ts +2 -2
  101. package/f-canvas/f-zoom/f-zoom-base.d.ts +1 -1
  102. package/f-canvas/f-zoom/f-zoom.directive.d.ts +1 -1
  103. package/f-connection/common/f-connection-base.d.ts +4 -5
  104. package/f-connection/common/f-path/f-connection-path.component.d.ts +1 -2
  105. package/f-connection/common/f-path/get-path-marker-id.d.ts +4 -0
  106. package/f-connection/common/f-path/index.d.ts +1 -0
  107. package/f-connection/f-connection/f-connection.component.d.ts +27 -11
  108. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +17 -7
  109. package/f-connection/f-marker/f-marker-base.d.ts +2 -0
  110. package/f-connection/f-marker/f-marker.directive.d.ts +10 -4
  111. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  112. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  113. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  114. package/f-draggable/canvas/canvas.drag-handler.d.ts +1 -1
  115. package/f-draggable/canvas/canvas.prepare-drag-sequence.d.ts +1 -1
  116. package/f-draggable/canvas/providers.d.ts +1 -1
  117. package/f-draggable/connections/create-connection/create-connection.on-pointer-up.d.ts +1 -1
  118. package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +1 -1
  119. 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
  120. package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +1 -1
  121. 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
  122. package/f-draggable/connections/providers.d.ts +1 -1
  123. package/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.d.ts +1 -1
  124. package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +1 -1
  125. package/f-draggable/external-item/external-item.on-pointer-up.d.ts +1 -1
  126. package/f-draggable/external-item/external-item.prepare-drag-sequence.d.ts +1 -1
  127. package/f-draggable/f-draggable-base.d.ts +2 -0
  128. package/f-draggable/f-draggable.directive.d.ts +2 -1
  129. package/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.d.ts +1 -1
  130. package/f-draggable/node/node.on-pointer-up.d.ts +1 -1
  131. package/f-draggable/node/node.prepare-drag-sequence.d.ts +1 -1
  132. package/f-draggable/node/providers.d.ts +1 -1
  133. package/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.d.ts +1 -1
  134. package/f-draggable/selection-area/providers.d.ts +1 -1
  135. package/f-draggable/selection-area/selection-area.drag-handle.d.ts +1 -1
  136. package/f-draggable/selection-area/selection-area.prepare-drag-sequence.d.ts +1 -1
  137. package/f-draggable/single-select/single-select.on-pointer-down.d.ts +1 -1
  138. package/f-flow/f-flow.component.d.ts +4 -2
  139. package/f-flow.module.d.ts +18 -17
  140. package/f-group/f-group-base.d.ts +3 -9
  141. package/f-group/f-group.directive.d.ts +17 -7
  142. package/f-line-alignment/f-line-alignment.component.d.ts +1 -1
  143. package/f-node/f-node-base.d.ts +1 -1
  144. package/f-node/f-node.directive.d.ts +3 -3
  145. package/f-storage/f-components-store.d.ts +33 -0
  146. package/f-storage/index.d.ts +1 -0
  147. package/fesm2022/foblex-flow.mjs +599 -282
  148. package/fesm2022/foblex-flow.mjs.map +1 -1
  149. package/package.json +1 -1
  150. package/public-api.d.ts +1 -2
  151. package/esm2022/f-backgroud/f-cell-pattern/f-cell-pattern.component.mjs +0 -90
  152. package/esm2022/f-components-store.mjs +0 -77
  153. package/esm2022/get-flow-uid.mjs +0 -8
  154. package/f-backgroud/f-cell-pattern/f-cell-pattern.component.d.ts +0 -31
  155. package/f-backgroud/f-cell-pattern/index.d.ts +0 -1
  156. package/f-components-store.d.ts +0 -42
  157. package/get-flow-uid.d.ts +0 -4
@@ -1,14 +1,13 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { F_FLOW, FFlowBase } from './f-flow-base';
3
- import { FComponentsStore } from '../f-components-store';
4
3
  import { debounceTime, startWith, Subscription } from 'rxjs';
5
- import { ClearSelectionRequest, COMMON_PROVIDERS, GetNodesRectRequest, GetSelectionRequest, RedrawConnectionsRequest, SelectAllRequest, SelectRequest, } from '../domain';
6
- import { FLOW } from '../get-flow-uid';
4
+ import { ClearSelectionRequest, COMMON_PROVIDERS, GetNodesRectRequest, GetPositionInFlowRequest, GetSelectionRequest, RedrawConnectionsRequest, SelectAllRequest, SelectRequest, } from '../domain';
7
5
  import { FFlowMediator } from '../f-mediator';
8
6
  import { CANVAS_PROVIDERS, CONNECTIONS_PROVIDERS, EXTERNAL_ITEM_PROVIDERS, FDraggableDataContext, NODE_PROVIDERS, SELECTION_AREA_PROVIDERS, SINGLE_SELECT_PROVIDERS } from '../f-draggable';
9
7
  import { FConnectionFactory } from '../f-connection';
8
+ import { FComponentsStore } from '../f-storage';
10
9
  import * as i0 from "@angular/core";
11
- import * as i1 from "../f-components-store";
10
+ import * as i1 from "../f-storage";
12
11
  import * as i2 from "../f-mediator";
13
12
  let uniqueId = 0;
14
13
  export class FFlowComponent extends FFlowBase {
@@ -27,7 +26,6 @@ export class FFlowComponent extends FFlowBase {
27
26
  }
28
27
  ngOnInit() {
29
28
  this.fComponentsStore.fFlow = this;
30
- FLOW.UID = this.fFlowId;
31
29
  }
32
30
  ngAfterContentInit() {
33
31
  this.subscription$.add(this.subscribeOnElementsChanges());
@@ -41,16 +39,20 @@ export class FFlowComponent extends FFlowBase {
41
39
  }
42
40
  });
43
41
  }
42
+ redraw() {
43
+ this.fComponentsStore.changes.next();
44
+ }
44
45
  reset() {
45
46
  this.isLoaded = false;
46
47
  }
47
48
  getNodesRect() {
48
- const result = this.fMediator.send(new GetNodesRectRequest());
49
- return result;
49
+ return this.fMediator.send(new GetNodesRectRequest());
50
50
  }
51
51
  getSelection() {
52
- const result = this.fMediator.send(new GetSelectionRequest());
53
- return result;
52
+ return this.fMediator.send(new GetSelectionRequest());
53
+ }
54
+ getPositionInFlow(position) {
55
+ return this.fMediator.send(new GetPositionInFlowRequest(position));
54
56
  }
55
57
  selectAll() {
56
58
  this.fMediator.send(new SelectAllRequest());
@@ -104,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
104
106
  }], fLoaded: [{
105
107
  type: Output
106
108
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93L2YtZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9mLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQWMsWUFBWSxFQUNuQyxLQUFLLEVBQXFCLE1BQU0sRUFDakMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQ3JDLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQUUsYUFBYSxHQUNoQyxNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQ2hFLHFCQUFxQixFQUNyQixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN4QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRXJELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQTBCekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBTzNDLElB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LE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtTQUNqRCxpRENuREgsK1dBYUE7OzJGRHlDYSxjQUFjO2tCQXhCMUIsU0FBUzsrQkFDRSxRQUFRLFFBR1o7d0JBQ0osV0FBVyxFQUFFLFNBQVM7d0JBQ3RCLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCLGFBQ1U7d0JBQ1QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixHQUFHLHVCQUF1Qjt3QkFDMUIsR0FBRyx3QkFBd0I7d0JBQzNCLEdBQUcsY0FBYzt3QkFDakIsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcsdUJBQXVCO3dCQUMxQixHQUFHLHFCQUFxQjt3QkFDeEIsR0FBRyxnQkFBZ0I7d0JBQ25CLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLGdCQUFnQixFQUFFO3FCQUNqRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTswSUFPL0IsT0FBTztzQkFEdEIsS0FBSztnQkFRVSxPQUFPO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfRkxPVywgRkZsb3dCYXNlIH0gZnJvbSAnLi9mLWZsb3ctYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENsZWFyU2VsZWN0aW9uUmVxdWVzdCxcbiAgQ09NTU9OX1BST1ZJREVSUywgR2V0Tm9kZXNSZWN0UmVxdWVzdCxcbiAgR2V0U2VsZWN0aW9uUmVxdWVzdCxcbiAgUmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICBTZWxlY3RBbGxSZXF1ZXN0LCBTZWxlY3RSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRkxPVyB9IGZyb20gJy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vZi1tZWRpYXRvcic7XG5pbXBvcnQge1xuICBDQU5WQVNfUFJPVklERVJTLCBDT05ORUNUSU9OU19QUk9WSURFUlMsIEVYVEVSTkFMX0lURU1fUFJPVklERVJTLFxuICBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIEZTZWxlY3Rpb25DaGFuZ2VFdmVudCxcbiAgTk9ERV9QUk9WSURFUlMsXG4gIFNFTEVDVElPTl9BUkVBX1BST1ZJREVSUyxcbiAgU0lOR0xFX1NFTEVDVF9QUk9WSURFUlNcbn0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1mbG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtZmxvdy5jb21wb25lbnQuc2NzcycgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZkZsb3dJZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1mbG93XCIsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIEZGbG93TWVkaWF0b3IsXG4gICAgRkNvbXBvbmVudHNTdG9yZSxcbiAgICBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgRkNvbm5lY3Rpb25GYWN0b3J5LFxuICAgIC4uLlNJTkdMRV9TRUxFQ1RfUFJPVklERVJTLFxuICAgIC4uLlNFTEVDVElPTl9BUkVBX1BST1ZJREVSUyxcbiAgICAuLi5OT0RFX1BST1ZJREVSUyxcbiAgICAuLi5DQU5WQVNfUFJPVklERVJTLFxuICAgIC4uLkVYVEVSTkFMX0lURU1fUFJPVklERVJTLFxuICAgIC4uLkNPTk5FQ1RJT05TX1BST1ZJREVSUyxcbiAgICAuLi5DT01NT05fUFJPVklERVJTLFxuICAgIHsgcHJvdmlkZTogRl9GTE9XLCB1c2VFeGlzdGluZzogRkZsb3dDb21wb25lbnQgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZGbG93Q29tcG9uZW50IGV4dGVuZHMgRkZsb3dCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRmxvd0lkOiBzdHJpbmcgPSBgZi1mbG93LSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmTG9hZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBpc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyA9IHRoaXM7XG4gICAgRkxPVy5VSUQgPSB0aGlzLmZGbG93SWQ7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uJC5hZGQoXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25FbGVtZW50c0NoYW5nZXMoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uRWxlbWVudHNDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpLCBkZWJvdW5jZVRpbWUoMjApKS5zdWJzY3JpYmUoKCkgPT4ge1xuXG4gICAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3QoKSk7XG5cbiAgICAgIGlmICghdGhpcy5pc0xvYWRlZCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mTG9hZGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9kZXNSZWN0KCk6IElSZWN0IHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9kZXNSZWN0UmVxdWVzdCgpKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvbigpOiBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PihuZXcgR2V0U2VsZWN0aW9uUmVxdWVzdCgpKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFNlbGVjdEFsbFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KG5vZGVzOiBzdHJpbmdbXSwgY29ubmVjdGlvbnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgU2VsZWN0UmVxdWVzdChub2RlcywgY29ubmVjdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDbGVhclNlbGVjdGlvblJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24kLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmRGVmaW5pdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImYtYmFja2dyb3VuZFwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWxpbmUtYWxpZ25tZW50XCI+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY2FudmFzXCI+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImYtc2VsZWN0aW9uLWFyZWFcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1taW5pLW1hcFwiPjwvbmctY29udGVudD5cbjwvbmctY29udGFpbmVyPlxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93L2YtZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9mLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQWMsWUFBWSxFQUNuQyxLQUFLLEVBQXFCLE1BQU0sRUFDakMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQy9ELG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQUUsYUFBYSxHQUNoQyxNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFDTCxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFDaEUscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3hCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRWhELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQTBCekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBTzNDLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFPRCxZQUNVLGdCQUF5QyxFQUN6QyxnQkFBa0MsRUFDbEMsU0FBd0I7UUFFaEMsS0FBSyxFQUFFLENBQUM7UUFKQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQWpCMUIsa0JBQWEsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd6QyxZQUFPLEdBQVcsVUFBVyxRQUFRLEVBQUcsRUFBRSxDQUFDO1FBTzNDLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvRCxhQUFRLEdBQVksS0FBSyxDQUFDO0lBUWxDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQ2xDLENBQUM7SUFDSixDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7WUFFcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBUSxJQUFJLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBZ0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWUsRUFBRSxXQUFxQjtRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBL0VVLGNBQWM7a0dBQWQsY0FBYyx3TEFoQmQ7WUFDVCxhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsR0FBRyx1QkFBdUI7WUFDMUIsR0FBRyx3QkFBd0I7WUFDM0IsR0FBRyxjQUFjO1lBQ2pCLEdBQUcsZ0JBQWdCO1lBQ25CLEdBQUcsdUJBQXVCO1lBQzFCLEdBQUcscUJBQXFCO1lBQ3hCLEdBQUcsZ0JBQWdCO1lBQ25CLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1NBQ2pELGlEQ2xESCwrV0FhQTs7MkZEd0NhLGNBQWM7a0JBeEIxQixTQUFTOytCQUNFLFFBQVEsUUFHWjt3QkFDSixXQUFXLEVBQUUsU0FBUzt3QkFDdEIsS0FBSyxFQUFFLG9CQUFvQjtxQkFDNUIsYUFDVTt3QkFDVCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLEdBQUcsdUJBQXVCO3dCQUMxQixHQUFHLHdCQUF3Qjt3QkFDM0IsR0FBRyxjQUFjO3dCQUNqQixHQUFHLGdCQUFnQjt3QkFDbkIsR0FBRyx1QkFBdUI7d0JBQzFCLEdBQUcscUJBQXFCO3dCQUN4QixHQUFHLGdCQUFnQjt3QkFDbkIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUU7cUJBQ2pELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzBJQU8vQixPQUFPO3NCQUR0QixLQUFLO2dCQVFVLE9BQU87c0JBRHRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXG4gIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9GTE9XLCBGRmxvd0Jhc2UgfSBmcm9tICcuL2YtZmxvdy1iYXNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENsZWFyU2VsZWN0aW9uUmVxdWVzdCxcbiAgQ09NTU9OX1BST1ZJREVSUywgR2V0Tm9kZXNSZWN0UmVxdWVzdCwgR2V0UG9zaXRpb25JbkZsb3dSZXF1ZXN0LFxuICBHZXRTZWxlY3Rpb25SZXF1ZXN0LFxuICBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3QsXG4gIFNlbGVjdEFsbFJlcXVlc3QsIFNlbGVjdFJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi9mLW1lZGlhdG9yJztcbmltcG9ydCB7XG4gIENBTlZBU19QUk9WSURFUlMsIENPTk5FQ1RJT05TX1BST1ZJREVSUywgRVhURVJOQUxfSVRFTV9QUk9WSURFUlMsXG4gIEZEcmFnZ2FibGVEYXRhQ29udGV4dCwgRlNlbGVjdGlvbkNoYW5nZUV2ZW50LFxuICBOT0RFX1BST1ZJREVSUyxcbiAgU0VMRUNUSU9OX0FSRUFfUFJPVklERVJTLFxuICBTSU5HTEVfU0VMRUNUX1BST1ZJREVSU1xufSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1mbG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9mLWZsb3cuY29tcG9uZW50LnNjc3MnIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZGbG93SWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtZmxvd1wiLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICBGRmxvd01lZGlhdG9yLFxuICAgIEZDb21wb25lbnRzU3RvcmUsXG4gICAgRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAuLi5TSU5HTEVfU0VMRUNUX1BST1ZJREVSUyxcbiAgICAuLi5TRUxFQ1RJT05fQVJFQV9QUk9WSURFUlMsXG4gICAgLi4uTk9ERV9QUk9WSURFUlMsXG4gICAgLi4uQ0FOVkFTX1BST1ZJREVSUyxcbiAgICAuLi5FWFRFUk5BTF9JVEVNX1BST1ZJREVSUyxcbiAgICAuLi5DT05ORUNUSU9OU19QUk9WSURFUlMsXG4gICAgLi4uQ09NTU9OX1BST1ZJREVSUyxcbiAgICB7IHByb3ZpZGU6IEZfRkxPVywgdXNlRXhpc3Rpbmc6IEZGbG93Q29tcG9uZW50IH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGRmxvd0NvbXBvbmVudCBleHRlbmRzIEZGbG93QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkZsb3dJZDogc3RyaW5nID0gYGYtZmxvdy0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkxvYWRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3cgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiQuYWRkKFxuICAgICAgdGhpcy5zdWJzY3JpYmVPbkVsZW1lbnRzQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25FbGVtZW50c0NoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCksIGRlYm91bmNlVGltZSgyMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3QoKSk7XG5cbiAgICAgIGlmICghdGhpcy5pc0xvYWRlZCkge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mTG9hZGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb2Rlc1JlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9kZXNSZWN0UmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3Rpb24oKTogRlNlbGVjdGlvbkNoYW5nZUV2ZW50IHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KG5ldyBHZXRTZWxlY3Rpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFBvc2l0aW9uSW5GbG93KHBvc2l0aW9uOiBJUG9pbnQpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEdldFBvc2l0aW9uSW5GbG93UmVxdWVzdChwb3NpdGlvbikpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBTZWxlY3RBbGxSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdChub2Rlczogc3RyaW5nW10sIGNvbm5lY3Rpb25zOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFNlbGVjdFJlcXVlc3Qobm9kZXMsIGNvbm5lY3Rpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ2xlYXJTZWxlY3Rpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkRlZmluaXRpb25zXVwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWJhY2tncm91bmRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1saW5lLWFsaWdubWVudFwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNhbnZhc1wiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNlbGVjdGlvbi1hcmVhXCI+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImYtbWluaS1tYXBcIj48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
3
3
  import { FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FMarkerDirective } from './f-connection';
4
4
  import { FDragHandleDirective, FNodeDirective } from './f-node';
5
5
  import { FFlowComponent } from './f-flow';
6
- import { FBackgroundComponent, FCellPatternComponent } from './f-backgroud';
6
+ import { FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent } from './f-backgroud';
7
7
  import { FCanvasComponent, FZoomDirective } from './f-canvas';
8
8
  import { FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective } from './f-connectors';
9
9
  import { FDraggableDataContext, FDraggableDirective } from './f-draggable';
@@ -24,7 +24,8 @@ export class FFlowModule {
24
24
  FMarkerDirective,
25
25
  FFlowComponent,
26
26
  FBackgroundComponent,
27
- FCellPatternComponent,
27
+ FRectPatternComponent,
28
+ FCirclePatternComponent,
28
29
  FCanvasComponent,
29
30
  FNodeDirective,
30
31
  FGroupDirective,
@@ -40,7 +41,8 @@ export class FFlowModule {
40
41
  FSelectionAreaComponent,
41
42
  FLineAlignmentComponent], imports: [CommonModule], exports: [FFlowComponent,
42
43
  FBackgroundComponent,
43
- FCellPatternComponent,
44
+ FRectPatternComponent,
45
+ FCirclePatternComponent,
44
46
  FCanvasComponent,
45
47
  FNodeDirective,
46
48
  FDragHandleDirective,
@@ -74,7 +76,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
74
76
  FMarkerDirective,
75
77
  FFlowComponent,
76
78
  FBackgroundComponent,
77
- FCellPatternComponent,
79
+ FRectPatternComponent,
80
+ FCirclePatternComponent,
78
81
  FCanvasComponent,
79
82
  FNodeDirective,
80
83
  FGroupDirective,
@@ -99,7 +102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
99
102
  exports: [
100
103
  FFlowComponent,
101
104
  FBackgroundComponent,
102
- FCellPatternComponent,
105
+ FRectPatternComponent,
106
+ FCirclePatternComponent,
103
107
  FCanvasComponent,
104
108
  FNodeDirective,
105
109
  FDragHandleDirective,
@@ -118,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
118
122
  ]
119
123
  }]
120
124
  }] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQiw4QkFBOEIsRUFBRSw2QkFBNkIsRUFDN0QsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUFFLDZCQUE2QixFQUN2RCx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxnQkFBZ0IsRUFDekUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBOEQ1QyxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsaUJBM0RwQiw4QkFBOEI7WUFDOUIsNEJBQTRCO1lBQzVCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLDZCQUE2QjtZQUU3QiwwQkFBMEI7WUFFMUIsZ0JBQWdCO1lBRWhCLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsNkJBQTZCO1lBQzdCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUVwQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qix1QkFBdUIsYUFHdkIsWUFBWSxhQU9aLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQiw2QkFBNkI7WUFDN0IsMEJBQTBCO1lBQzFCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFFcEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsdUJBQXVCOytHQUdkLFdBQVcsYUF6Qlg7WUFDVCxxQkFBcUI7U0FDdEIsWUFMQyxZQUFZOzsyRkE0QkgsV0FBVztrQkE3RHZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDhCQUE4Qjt3QkFDOUIsNEJBQTRCO3dCQUM1Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1Qiw2QkFBNkI7d0JBRTdCLDBCQUEwQjt3QkFFMUIsZ0JBQWdCO3dCQUVoQixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsNkJBQTZCO3dCQUM3QixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBRXBCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBRWI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUVwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSxcbiAgRkNvbm5lY3Rpb25Db21wb25lbnQsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uR3JhZGllbnRDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCwgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsXG4gIEZDb25uZWN0aW9uVGV4dENvbXBvbmVudCwgRkNvbm5lY3Rpb25UZXh0UGF0aERpcmVjdGl2ZSwgRk1hcmtlckRpcmVjdGl2ZVxufSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZURpcmVjdGl2ZSwgRk5vZGVEaXJlY3RpdmUgfSBmcm9tICcuL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vZi1mbG93JztcbmltcG9ydCB7IEZCYWNrZ3JvdW5kQ29tcG9uZW50LCBGQ2VsbFBhdHRlcm5Db21wb25lbnQgfSBmcm9tICcuL2YtYmFja2dyb3VkJztcbmltcG9ydCB7IEZDYW52YXNDb21wb25lbnQsIEZab29tRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWNhbnZhcyc7XG5pbXBvcnQgeyBGTm9kZUlucHV0RGlyZWN0aXZlLCBGTm9kZU91dGxldERpcmVjdGl2ZSwgRk5vZGVPdXRwdXREaXJlY3RpdmUgfSBmcm9tICcuL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIEZEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEZFeHRlcm5hbEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQXJlYUNvbXBvbmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tYXJlYSc7XG5pbXBvcnQgeyBGTGluZUFsaWdubWVudENvbXBvbmVudCB9IGZyb20gJy4vZi1saW5lLWFsaWdubWVudCc7XG5pbXBvcnQgeyBGR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL2YtZ3JvdXAnO1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LFxuICAgIEZDb25uZWN0aW9uR3JhZGllbnRDb21wb25lbnQsXG4gICAgRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50LFxuICAgIEZDb25uZWN0aW9uVGV4dENvbXBvbmVudCxcbiAgICBGQ29ubmVjdGlvblRleHRQYXRoRGlyZWN0aXZlLFxuICAgIEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LFxuXG4gICAgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsXG5cbiAgICBGTWFya2VyRGlyZWN0aXZlLFxuXG4gICAgRkZsb3dDb21wb25lbnQsXG4gICAgRkJhY2tncm91bmRDb21wb25lbnQsXG4gICAgRkNlbGxQYXR0ZXJuQ29tcG9uZW50LFxuICAgIEZDYW52YXNDb21wb25lbnQsXG4gICAgRk5vZGVEaXJlY3RpdmUsXG4gICAgRkdyb3VwRGlyZWN0aXZlLFxuICAgIEZEcmFnSGFuZGxlRGlyZWN0aXZlLFxuICAgIEZDb25uZWN0aW9uQ29tcG9uZW50LFxuICAgIEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50LFxuICAgIEZab29tRGlyZWN0aXZlLFxuICAgIEZOb2RlSW5wdXREaXJlY3RpdmUsXG4gICAgRk5vZGVPdXRsZXREaXJlY3RpdmUsXG4gICAgRk5vZGVPdXRwdXREaXJlY3RpdmUsXG5cbiAgICBGRHJhZ2dhYmxlRGlyZWN0aXZlLFxuICAgIEZFeHRlcm5hbEl0ZW1EaXJlY3RpdmUsXG4gICAgRlNlbGVjdGlvbkFyZWFDb21wb25lbnQsXG4gICAgRkxpbmVBbGlnbm1lbnRDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG5cbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRkZsb3dDb21wb25lbnQsXG4gICAgRkJhY2tncm91bmRDb21wb25lbnQsXG4gICAgRkNlbGxQYXR0ZXJuQ29tcG9uZW50LFxuICAgIEZDYW52YXNDb21wb25lbnQsXG4gICAgRk5vZGVEaXJlY3RpdmUsXG4gICAgRkRyYWdIYW5kbGVEaXJlY3RpdmUsXG4gICAgRkNvbm5lY3Rpb25Db21wb25lbnQsXG4gICAgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQsXG4gICAgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsXG4gICAgRk1hcmtlckRpcmVjdGl2ZSxcbiAgICBGWm9vbURpcmVjdGl2ZSxcbiAgICBGTm9kZUlucHV0RGlyZWN0aXZlLFxuICAgIEZOb2RlT3V0bGV0RGlyZWN0aXZlLFxuICAgIEZOb2RlT3V0cHV0RGlyZWN0aXZlLFxuXG4gICAgRkRyYWdnYWJsZURpcmVjdGl2ZSxcbiAgICBGRXh0ZXJuYWxJdGVtRGlyZWN0aXZlLFxuICAgIEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50LFxuICAgIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZGbG93TW9kdWxlIHtcbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQiw4QkFBOEIsRUFBRSw2QkFBNkIsRUFDN0QsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUFFLDZCQUE2QixFQUN2RCx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxnQkFBZ0IsRUFDekUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBZ0U1QyxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsaUJBN0RwQiw4QkFBOEI7WUFDOUIsNEJBQTRCO1lBQzVCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLDZCQUE2QjtZQUU3QiwwQkFBMEI7WUFFMUIsZ0JBQWdCO1lBRWhCLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3QixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFFcEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsdUJBQXVCLGFBR3ZCLFlBQVksYUFPWixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3QiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUVwQixtQkFBbUI7WUFDbkIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qix1QkFBdUI7K0dBR2QsV0FBVyxhQTFCWDtZQUNULHFCQUFxQjtTQUN0QixZQUxDLFlBQVk7OzJGQTZCSCxXQUFXO2tCQS9EdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3dCQUM5Qiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFFN0IsMEJBQTBCO3dCQUUxQixnQkFBZ0I7d0JBRWhCLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLDZCQUE2Qjt3QkFDN0IsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUVwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUViO29CQUNELFNBQVMsRUFBRTt3QkFDVCxxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUVwQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSxcbiAgRkNvbm5lY3Rpb25Db21wb25lbnQsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uR3JhZGllbnRDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCwgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsXG4gIEZDb25uZWN0aW9uVGV4dENvbXBvbmVudCwgRkNvbm5lY3Rpb25UZXh0UGF0aERpcmVjdGl2ZSwgRk1hcmtlckRpcmVjdGl2ZVxufSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZURpcmVjdGl2ZSwgRk5vZGVEaXJlY3RpdmUgfSBmcm9tICcuL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vZi1mbG93JztcbmltcG9ydCB7IEZCYWNrZ3JvdW5kQ29tcG9uZW50LCBGUmVjdFBhdHRlcm5Db21wb25lbnQsIEZDaXJjbGVQYXR0ZXJuQ29tcG9uZW50IH0gZnJvbSAnLi9mLWJhY2tncm91ZCc7XG5pbXBvcnQgeyBGQ2FudmFzQ29tcG9uZW50LCBGWm9vbURpcmVjdGl2ZSB9IGZyb20gJy4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRk5vZGVJbnB1dERpcmVjdGl2ZSwgRk5vZGVPdXRsZXREaXJlY3RpdmUsIEZOb2RlT3V0cHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0LCBGRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGRXh0ZXJuYWxJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFDb21wb25lbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEnO1xuaW1wb3J0IHsgRkxpbmVBbGlnbm1lbnRDb21wb25lbnQgfSBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgRkdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9mLWdyb3VwJztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCxcbiAgICBGQ29ubmVjdGlvbkdyYWRpZW50Q29tcG9uZW50LFxuICAgIEZDb25uZWN0aW9uUGF0aENvbXBvbmVudCxcbiAgICBGQ29ubmVjdGlvblRleHRDb21wb25lbnQsXG4gICAgRkNvbm5lY3Rpb25UZXh0UGF0aERpcmVjdGl2ZSxcbiAgICBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCxcblxuICAgIEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLFxuXG4gICAgRk1hcmtlckRpcmVjdGl2ZSxcblxuICAgIEZGbG93Q29tcG9uZW50LFxuICAgIEZCYWNrZ3JvdW5kQ29tcG9uZW50LFxuICAgIEZSZWN0UGF0dGVybkNvbXBvbmVudCxcbiAgICBGQ2lyY2xlUGF0dGVybkNvbXBvbmVudCxcbiAgICBGQ2FudmFzQ29tcG9uZW50LFxuICAgIEZOb2RlRGlyZWN0aXZlLFxuICAgIEZHcm91cERpcmVjdGl2ZSxcbiAgICBGRHJhZ0hhbmRsZURpcmVjdGl2ZSxcbiAgICBGQ29ubmVjdGlvbkNvbXBvbmVudCxcbiAgICBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudCxcbiAgICBGWm9vbURpcmVjdGl2ZSxcbiAgICBGTm9kZUlucHV0RGlyZWN0aXZlLFxuICAgIEZOb2RlT3V0bGV0RGlyZWN0aXZlLFxuICAgIEZOb2RlT3V0cHV0RGlyZWN0aXZlLFxuXG4gICAgRkRyYWdnYWJsZURpcmVjdGl2ZSxcbiAgICBGRXh0ZXJuYWxJdGVtRGlyZWN0aXZlLFxuICAgIEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50LFxuICAgIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZGbG93Q29tcG9uZW50LFxuICAgIEZCYWNrZ3JvdW5kQ29tcG9uZW50LFxuICAgIEZSZWN0UGF0dGVybkNvbXBvbmVudCxcbiAgICBGQ2lyY2xlUGF0dGVybkNvbXBvbmVudCxcbiAgICBGQ2FudmFzQ29tcG9uZW50LFxuICAgIEZOb2RlRGlyZWN0aXZlLFxuICAgIEZEcmFnSGFuZGxlRGlyZWN0aXZlLFxuICAgIEZDb25uZWN0aW9uQ29tcG9uZW50LFxuICAgIEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50LFxuICAgIEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLFxuICAgIEZNYXJrZXJEaXJlY3RpdmUsXG4gICAgRlpvb21EaXJlY3RpdmUsXG4gICAgRk5vZGVJbnB1dERpcmVjdGl2ZSxcbiAgICBGTm9kZU91dGxldERpcmVjdGl2ZSxcbiAgICBGTm9kZU91dHB1dERpcmVjdGl2ZSxcblxuICAgIEZEcmFnZ2FibGVEaXJlY3RpdmUsXG4gICAgRkV4dGVybmFsSXRlbURpcmVjdGl2ZSxcbiAgICBGU2VsZWN0aW9uQXJlYUNvbXBvbmVudCxcbiAgICBGTGluZUFsaWdubWVudENvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGRmxvd01vZHVsZSB7XG59XG4iXX0=
@@ -1,13 +1,6 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ import { FNodeBase } from '../f-node';
2
3
  export const F_GROUP = new InjectionToken('F_GROUP');
3
- export class FGroupBase {
4
- isContains(element) {
5
- return this.hostElement.contains(element);
6
- }
7
- redraw() {
8
- this.setStyle('transform', 'translate(' + this.position.x + 'px,' + this.position.y + 'px)');
9
- this.setStyle('width', `${this.size.width}px`);
10
- this.setStyle('height', `${this.size.height}px`);
11
- }
4
+ export class FGroupBase extends FNodeBase {
12
5
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWdyb3VwL2YtZ3JvdXAtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBYSxTQUFTLENBQUMsQ0FBQztBQUVqRSxNQUFNLE9BQWdCLFVBQVU7SUFZdkIsVUFBVSxDQUFDLE9BQWlDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFPLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVNpemUgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuXG5leHBvcnQgY29uc3QgRl9HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGR3JvdXBCYXNlPignRl9HUk9VUCcpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkdyb3VwQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZHcm91cElkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgcG9zaXRpb246IElQb2ludDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgc2l6ZTogSVNpemU7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldFN0eWxlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyArIHRoaXMucG9zaXRpb24ueCArICdweCwnICsgdGhpcy5wb3NpdGlvbi55ICsgJ3B4KScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3dpZHRoJywgYCR7IHRoaXMuc2l6ZS53aWR0aCB9cHhgKTtcbiAgICB0aGlzLnNldFN0eWxlKCdoZWlnaHQnLCBgJHsgdGhpcy5zaXplLmhlaWdodCB9cHhgKTtcbiAgfVxufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWdyb3VwL2YtZ3JvdXAtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFhLFNBQVMsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sT0FBZ0IsVUFBVyxTQUFRLFNBQVM7Q0FFakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjb25zdCBGX0dST1VQID0gbmV3IEluamVjdGlvblRva2VuPEZHcm91cEJhc2U+KCdGX0dST1VQJyk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGR3JvdXBCYXNlIGV4dGVuZHMgRk5vZGVCYXNlIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxufVxuIl19
@@ -1,10 +1,20 @@
1
- import { Directive, Input, } from "@angular/core";
1
+ import { Directive, EventEmitter, Input, Output, } from "@angular/core";
2
+ import { PointExtensions } from '@foblex/core';
2
3
  import { F_GROUP, FGroupBase } from './f-group-base';
3
- import { Subscription } from 'rxjs';
4
+ import { debounceTime, merge, startWith, Subscription } from 'rxjs';
5
+ import { CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest } from '../f-connectors';
6
+ import { FResizeObserver } from '../f-node';
4
7
  import * as i0 from "@angular/core";
5
- import * as i1 from "../f-components-store";
8
+ import * as i1 from "../f-storage";
6
9
  let uniqueId = 0;
7
10
  export class FGroupDirective extends FGroupBase {
11
+ set position(value) {
12
+ this._position = PointExtensions.castToPoint(value);
13
+ this.refresh();
14
+ }
15
+ get position() {
16
+ return this._position;
17
+ }
8
18
  get hostElement() {
9
19
  return this.elementReference.nativeElement;
10
20
  }
@@ -14,7 +24,11 @@ export class FGroupDirective extends FGroupBase {
14
24
  this.renderer = renderer;
15
25
  this.fComponentsStore = fComponentsStore;
16
26
  this.subscriptions$ = new Subscription();
17
- this.fGroupId = `f-group-${uniqueId++}`;
27
+ this.fId = `f-group-${uniqueId++}`;
28
+ this.positionChange = new EventEmitter();
29
+ this.fDraggingDisabled = false;
30
+ this.fSelectionDisabled = false;
31
+ this.connectors = [];
18
32
  }
19
33
  ngOnInit() {
20
34
  this.setStyle('position', 'absolute');
@@ -24,17 +38,43 @@ export class FGroupDirective extends FGroupBase {
24
38
  this.setStyle('left', '0');
25
39
  this.setStyle('top', '0');
26
40
  super.redraw();
27
- this.fComponentsStore.addGroup(this);
41
+ this.fComponentsStore.addComponent(this.fComponentsStore.fGroups, this);
28
42
  }
29
43
  setStyle(styleName, value) {
30
44
  this.renderer.setStyle(this.hostElement, styleName, value);
31
45
  }
46
+ ngAfterViewInit() {
47
+ this.subscriptions$.add(this.subscribeOnResizeChanges());
48
+ }
49
+ subscribeOnResizeChanges() {
50
+ return merge(new FResizeObserver(this.hostElement), this.stateChanges).pipe(debounceTime(5), startWith(null)).subscribe(() => {
51
+ this.connectors.forEach((fConnector) => {
52
+ fConnector.fConnectableSide = new CalculateConnectorConnectableSideHandler().handle(new CalculateConnectorConnectableSideRequest(fConnector, this.hostElement));
53
+ });
54
+ this.fComponentsStore.changes.next();
55
+ });
56
+ }
57
+ addConnector(connector) {
58
+ this.connectors.push(connector);
59
+ this.stateChanges.next();
60
+ }
61
+ removeConnector(connector) {
62
+ const index = this.connectors.indexOf(connector);
63
+ if (index !== -1) {
64
+ this.connectors.splice(index, 1);
65
+ }
66
+ this.stateChanges.next();
67
+ }
68
+ refresh() {
69
+ this.stateChanges.next();
70
+ }
32
71
  ngOnDestroy() {
33
- this.fComponentsStore.removeGroup(this);
72
+ this.fComponentsStore.removeComponent(this.fComponentsStore.fGroups, this);
73
+ this.stateChanges.complete();
34
74
  this.subscriptions$.unsubscribe();
35
75
  }
36
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FGroupDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FGroupDirective, selector: "[fGroup]", inputs: { fGroupId: "fGroupId" }, host: { properties: { "attr.data-f-group-id": "fGroupId" }, classAttribute: "f-group f-component" }, providers: [
77
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FGroupDirective, selector: "[fGroup]", inputs: { fId: ["fGroupId", "fId"], position: ["fGroupPosition", "position"], fDraggingDisabled: ["fGroupDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fGroupSelectionDisabled", "fSelectionDisabled"] }, outputs: { positionChange: "fGroupPositionChange" }, host: { properties: { "attr.data-f-group-id": "fId" }, classAttribute: "f-group f-component" }, providers: [
38
78
  { provide: F_GROUP, useExisting: FGroupDirective }
39
79
  ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
40
80
  }
@@ -44,14 +84,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
44
84
  selector: "[fGroup]",
45
85
  exportAs: "fComponent",
46
86
  host: {
47
- '[attr.data-f-group-id]': 'fGroupId',
87
+ '[attr.data-f-group-id]': 'fId',
48
88
  class: "f-group f-component",
49
89
  },
50
90
  providers: [
51
91
  { provide: F_GROUP, useExisting: FGroupDirective }
52
92
  ],
53
93
  }]
54
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FComponentsStore }], propDecorators: { fGroupId: [{
55
- type: Input
94
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FComponentsStore }], propDecorators: { fId: [{
95
+ type: Input,
96
+ args: ['fGroupId']
97
+ }], position: [{
98
+ type: Input,
99
+ args: ['fGroupPosition']
100
+ }], positionChange: [{
101
+ type: Output,
102
+ args: ['fGroupPositionChange']
103
+ }], fDraggingDisabled: [{
104
+ type: Input,
105
+ args: ['fGroupDraggingDisabled']
106
+ }], fSelectionDisabled: [{
107
+ type: Input,
108
+ args: ['fGroupSelectionDisabled']
56
109
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZ3JvdXAvZi1ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHcEMsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBYXpCLE1BQU0sT0FBTyxlQUFnQixTQUFRLFVBQVU7SUFhN0MsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBeUMsRUFDekMsUUFBbUIsRUFDbkIsZ0JBQWtDO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSkUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFsQnRDLG1CQUFjLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHMUMsYUFBUSxHQUFXLFdBQVksUUFBUSxFQUFHLEVBQUUsQ0FBQztJQWtCN0QsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUIsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRWtCLFFBQVEsQ0FBQyxTQUFpQixFQUFFLEtBQWE7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBM0NVLGVBQWU7a0dBQWYsZUFBZSwwS0FKZjtZQUNULEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFO1NBQ25EOzsyRkFFVSxlQUFlO2tCQVgzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLHdCQUF3QixFQUFFLFVBQVU7d0JBQ3BDLEtBQUssRUFBRSxxQkFBcUI7cUJBQzdCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxpQkFBaUIsRUFBRTtxQkFDbkQ7aUJBQ0Y7c0lBTWlCLFFBQVE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50LCBJUG9pbnQsIElTaXplLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9HUk9VUCwgRkdyb3VwQmFzZSB9IGZyb20gJy4vZi1ncm91cC1iYXNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmR3JvdXBdXCIsXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtZ3JvdXAtaWRdJzogJ2ZHcm91cElkJyxcbiAgICBjbGFzczogXCJmLWdyb3VwIGYtY29tcG9uZW50XCIsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9HUk9VUCwgdXNlRXhpc3Rpbmc6IEZHcm91cERpcmVjdGl2ZSB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZHcm91cERpcmVjdGl2ZSBleHRlbmRzIEZHcm91cEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZHcm91cElkOiBzdHJpbmcgPSBgZi1ncm91cC0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIC8vIEBJbnB1dCh7IHRyYW5zZm9ybTogUG9pbnRFeHRlbnNpb25zLmNhc3RUb1BvaW50LCBhbGlhczogJ2ZHcm91cFBvc2l0aW9uJywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uITogSVBvaW50O1xuXG4gIC8vIEBJbnB1dCh7IGFsaWFzOiAnZkdyb3VwU2l6ZScsIHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBzaXplITogSVNpemU7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0tb3JpZ2luJywgJzAgMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3VzZXItc2VsZWN0JywgJ25vbmUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdwb2ludGVyLWV2ZW50cycsICdhbGwnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0b3AnLCAnMCcpO1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRHcm91cCh0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTdHlsZShzdHlsZU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUdyb3VwKHRoaXMpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZ3JvdXAvZi1ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDRyxZQUFZLEVBQ3hCLEtBQUssRUFFRyxNQUFNLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQyxlQUFlLEVBQWMsTUFBTSxjQUFjLENBQUM7QUFDM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFDTCx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBRXpDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRzVDLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxVQUFVO0lBTzdDLElBQ29CLFFBQVEsQ0FBQyxLQUFpQjtRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBV0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBSUQsWUFDVSxnQkFBeUMsRUFDekMsUUFBbUIsRUFDbkIsZ0JBQWtDO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBSkEscUJBQWdCLEdBQWhCLGdC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Q0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzhHQWhHVSxlQUFlO2tHQUFmLGVBQWUsbVpBSmY7WUFDVCxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRTtTQUNuRDs7MkZBRVUsZUFBZTtrQkFYM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLElBQUksRUFBRTt3QkFDSix3QkFBd0IsRUFBRSxLQUFLO3dCQUMvQixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsaUJBQWlCLEVBQUU7cUJBQ25EO2lCQUNGO3NJQU1pQixHQUFHO3NCQURsQixLQUFLO3VCQUFDLFVBQVU7Z0JBSUcsUUFBUTtzQkFEM0IsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBV1AsY0FBYztzQkFEN0IsTUFBTTt1QkFBQyxzQkFBc0I7Z0JBSWQsaUJBQWlCO3NCQURoQyxLQUFLO3VCQUFDLHdCQUF3QjtnQkFJZixrQkFBa0I7c0JBRGpDLEtBQUs7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVNpemUsIFBvaW50RXh0ZW5zaW9ucywgUG9pbnRJbnB1dCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGX0dST1VQLCBGR3JvdXBCYXNlIH0gZnJvbSAnLi9mLWdyb3VwLWJhc2UnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZUhhbmRsZXIsXG4gIENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3QsXG4gIEZDb25uZWN0b3JCYXNlXG59IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmR3JvdXBdXCIsXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtZ3JvdXAtaWRdJzogJ2ZJZCcsXG4gICAgY2xhc3M6IFwiZi1ncm91cCBmLWNvbXBvbmVudFwiLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfR1JPVVAsIHVzZUV4aXN0aW5nOiBGR3JvdXBEaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGR3JvdXBEaXJlY3RpdmUgZXh0ZW5kcyBGR3JvdXBCYXNlIGltcGxlbWVudHMgT25Jbml0LCBJSGFzSG9zdEVsZW1lbnQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgnZkdyb3VwSWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZklkOiBzdHJpbmcgPSBgZi1ncm91cC0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgnZkdyb3VwUG9zaXRpb24nKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHBvc2l0aW9uKHZhbHVlOiBQb2ludElucHV0KSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuY2FzdFRvUG9pbnQodmFsdWUpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBwb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgfVxuXG4gIEBPdXRwdXQoJ2ZHcm91cFBvc2l0aW9uQ2hhbmdlJylcbiAgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBvaW50PigpO1xuXG4gIEBJbnB1dCgnZkdyb3VwRHJhZ2dpbmdEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZkdyb3VwU2VsZWN0aW9uRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybS1vcmlnaW4nLCAnMCAwJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RvcCcsICcwJyk7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkdyb3VwcywgdGhpcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2V0U3R5bGUoc3R5bGVOYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQsIHN0eWxlTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmFkZChcbiAgICAgIHRoaXMuc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblJlc2l6ZUNoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gbWVyZ2UobmV3IEZSZXNpemVPYnNlcnZlcih0aGlzLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50KSwgdGhpcy5zdGF0ZUNoYW5nZXMpLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoNSksIHN0YXJ0V2l0aChudWxsKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5mb3JFYWNoKChmQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSkgPT4ge1xuXG4gICAgICAgIGZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSA9IG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVSZXF1ZXN0KGZDb25uZWN0b3IsIHRoaXMuaG9zdEVsZW1lbnQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdG9ycy5wdXNoKGNvbm5lY3Rvcik7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNvbm5lY3RvcnMuaW5kZXhPZihjb25uZWN0b3IpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkdyb3VwcywgdGhpcyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,7 @@ import { LineService, NearestCoordinateFinder } from './domain';
4
4
  import { F_LINE_ALIGNMENT, FLineAlignmentBase } from './f-line-alignment-base';
5
5
  import { GetElementRectInFlowRequest } from '../domain';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../f-components-store";
7
+ import * as i1 from "../f-storage";
8
8
  import * as i2 from "../f-draggable";
9
9
  import * as i3 from "../f-mediator";
10
10
  export class FLineAlignmentComponent extends FLineAlignmentBase {
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
88
88
  { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
89
89
  ], styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }]
90
90
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FFlowMediator }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF5QyxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFjeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUU3RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBVUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUF5QyxFQUN6QyxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLFNBQXdCO1FBRWxDLEtBQUssRUFBRSxDQUFDO1FBTEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQWxC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QUFFLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFbEQsTUFBTSxNQUFNLEdBQXlCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzFELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFZSxRQUFRO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDeEMsQ0FBQzs4R0FwRlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIscUdBSnZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3BFLDJFQVJTLEVBQUU7OzJGQVVELHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEIsRUFBRSxZQUVGLFlBQVksUUFDaEI7d0JBQ0osT0FBTyxFQUFFLDhCQUE4QjtxQkFDeEMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJU2l6ZSwgSVRyYW5zZm9ybU1vZGVsLCBSZWN0RXh0ZW5zaW9ucywgU2l6ZUV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSUxpbmVBbGlnbm1lbnRSZXN1bHQsIExpbmVTZXJ2aWNlLCBOZWFyZXN0Q29vcmRpbmF0ZUZpbmRlciB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZfTElORV9BTElHTk1FTlQsIEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4vZi1saW5lLWFsaWdubWVudC1iYXNlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi9mLW1lZGlhdG9yJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWxpbmUtYWxpZ25tZW50XCIsXG4gIHRlbXBsYXRlOiBcIlwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2YtbGluZS1hbGlnbm1lbnQuY29tcG9uZW50LnNjc3NcIiBdLFxuICBleHBvcnRBczogXCJmQ29tcG9uZW50XCIsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1saW5lLWFsaWdubWVudCBmLWNvbXBvbmVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0xJTkVfQUxJR05NRU5ULCB1c2VFeGlzdGluZzogRkxpbmVBbGlnbm1lbnRDb21wb25lbnQgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTGluZUFsaWdubWVudENvbXBvbmVudCBleHRlbmRzIEZMaW5lQWxpZ25tZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBsaW5lU2VydmljZTogTGluZVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBzaXplOiBJU2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIGRyYWdnZWROb2RlUmVjdDogSVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSByZWN0czogSVJlY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZmxvd0hvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGluZVNlcnZpY2UgPSBuZXcgTGluZVNlcnZpY2UodGhpcy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5mbG93SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnJlY3RzID0gW107XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVSZWN0cyA9IGN1cnJlbnROb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0KHguaG9zdEVsZW1lbnQpKTtcbiAgICB9KTtcbiAgICB0aGlzLmRyYWdnZWROb2RlUmVjdCA9IFJlY3RFeHRlbnNpb25zLnVuaW9uKGRyYWdnZWROb2RlUmVjdHMpO1xuXG4gICAgY29uc3QgYWxsTm9kZXNFeGNsdWRlQ3VycmVudHMgPSBhbGxOb2Rlcy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhY3VycmVudE5vZGVzLmluY2x1ZGVzKHgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZWN0cyA9IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3QoeC5ob3N0RWxlbWVudCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhhbmRsZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRyYXdJbnRlcnNlY3RpbmdMaW5lcyhkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGludGVyc2VjdCA9IHRoaXMuZmluZE5lYXJlc3RDb29yZGluYXRlKGRpZmZlcmVuY2UpO1xuICAgIGlmIChpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmRyYXdWZXJ0aWNhbExpbmUoaW50ZXJzZWN0LnhSZXN1bHQudmFsdWUsIHRoaXMuc2l6ZSwgdGhpcy50cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVWZXJ0aWNhbExpbmUoKTtcbiAgICB9XG4gICAgaWYgKGludGVyc2VjdC55UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd0hvcml6b250YWxMaW5lKGludGVyc2VjdC55UmVzdWx0LnZhbHVlLCB0aGlzLnNpemUsIHRoaXMudHJhbnNmb3JtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5saW5lU2VydmljZS5oaWRlSG9yaXpvbnRhbExpbmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZE5lYXJlc3RDb29yZGluYXRlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lQWxpZ25tZW50UmVzdWx0IHtcbiAgICBjb25zdCByZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQodGhpcy5kcmFnZ2VkTm9kZVJlY3QsIGRpZmZlcmVuY2UpO1xuICAgIGNvbnN0IGZpbmRlciA9IG5ldyBOZWFyZXN0Q29vcmRpbmF0ZUZpbmRlcih0aGlzLnJlY3RzLCByZWN0KTtcbiAgICBjb25zdCB4UmVzdWx0ID0gZmluZGVyLmZpbmROZWFyZXN0Q29vcmRpbmF0ZUJ5WCgpO1xuICAgIGNvbnN0IHlSZXN1bHQgPSBmaW5kZXIuZmluZE5lYXJlc3RDb29yZGluYXRlQnlZKCk7XG5cbiAgICBjb25zdCByZXN1bHQ6IElMaW5lQWxpZ25tZW50UmVzdWx0ID0geyB4UmVzdWx0LCB5UmVzdWx0IH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVWZXJ0aWNhbExpbmUoKTtcbiAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICB9XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF5QyxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFjeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUU3RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBVUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUF5QyxFQUN6QyxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLFNBQXdCO1FBRWxDLEtBQUssRUFBRSxDQUFDO1FBTEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQWxC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QUFFLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFbEQsTUFBTSxNQUFNLEdBQXlCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzFELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFZSxRQUFRO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDeEMsQ0FBQzs4R0FwRlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIscUdBSnZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3BFLDJFQVJTLEVBQUU7OzJGQVVELHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEIsRUFBRSxZQUVGLFlBQVksUUFDaEI7d0JBQ0osT0FBTyxFQUFFLDhCQUE4QjtxQkFDeEMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJU2l6ZSwgSVRyYW5zZm9ybU1vZGVsLCBSZWN0RXh0ZW5zaW9ucywgU2l6ZUV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSUxpbmVBbGlnbm1lbnRSZXN1bHQsIExpbmVTZXJ2aWNlLCBOZWFyZXN0Q29vcmRpbmF0ZUZpbmRlciB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZfTElORV9BTElHTk1FTlQsIEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4vZi1saW5lLWFsaWdubWVudC1iYXNlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi9mLW1lZGlhdG9yJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWxpbmUtYWxpZ25tZW50XCIsXG4gIHRlbXBsYXRlOiBcIlwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2YtbGluZS1hbGlnbm1lbnQuY29tcG9uZW50LnNjc3NcIiBdLFxuICBleHBvcnRBczogXCJmQ29tcG9uZW50XCIsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1saW5lLWFsaWdubWVudCBmLWNvbXBvbmVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0xJTkVfQUxJR05NRU5ULCB1c2VFeGlzdGluZzogRkxpbmVBbGlnbm1lbnRDb21wb25lbnQgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTGluZUFsaWdubWVudENvbXBvbmVudCBleHRlbmRzIEZMaW5lQWxpZ25tZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBsaW5lU2VydmljZTogTGluZVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBzaXplOiBJU2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIGRyYWdnZWROb2RlUmVjdDogSVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSByZWN0czogSVJlY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZmxvd0hvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGluZVNlcnZpY2UgPSBuZXcgTGluZVNlcnZpY2UodGhpcy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5mbG93SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnJlY3RzID0gW107XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVSZWN0cyA9IGN1cnJlbnROb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0KHguaG9zdEVsZW1lbnQpKTtcbiAgICB9KTtcbiAgICB0aGlzLmRyYWdnZWROb2RlUmVjdCA9IFJlY3RFeHRlbnNpb25zLnVuaW9uKGRyYWdnZWROb2RlUmVjdHMpO1xuXG4gICAgY29uc3QgYWxsTm9kZXNFeGNsdWRlQ3VycmVudHMgPSBhbGxOb2Rlcy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhY3VycmVudE5vZGVzLmluY2x1ZGVzKHgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZWN0cyA9IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3QoeC5ob3N0RWxlbWVudCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhhbmRsZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRyYXdJbnRlcnNlY3RpbmdMaW5lcyhkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGludGVyc2VjdCA9IHRoaXMuZmluZE5lYXJlc3RDb29yZGluYXRlKGRpZmZlcmVuY2UpO1xuICAgIGlmIChpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmRyYXdWZXJ0aWNhbExpbmUoaW50ZXJzZWN0LnhSZXN1bHQudmFsdWUsIHRoaXMuc2l6ZSwgdGhpcy50cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVWZXJ0aWNhbExpbmUoKTtcbiAgICB9XG4gICAgaWYgKGludGVyc2VjdC55UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd0hvcml6b250YWxMaW5lKGludGVyc2VjdC55UmVzdWx0LnZhbHVlLCB0aGlzLnNpemUsIHRoaXMudHJhbnNmb3JtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5saW5lU2VydmljZS5oaWRlSG9yaXpvbnRhbExpbmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZE5lYXJlc3RDb29yZGluYXRlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lQWxpZ25tZW50UmVzdWx0IHtcbiAgICBjb25zdCByZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQodGhpcy5kcmFnZ2VkTm9kZVJlY3QsIGRpZmZlcmVuY2UpO1xuICAgIGNvbnN0IGZpbmRlciA9IG5ldyBOZWFyZXN0Q29vcmRpbmF0ZUZpbmRlcih0aGlzLnJlY3RzLCByZWN0KTtcbiAgICBjb25zdCB4UmVzdWx0ID0gZmluZGVyLmZpbmROZWFyZXN0Q29vcmRpbmF0ZUJ5WCgpO1xuICAgIGNvbnN0IHlSZXN1bHQgPSBmaW5kZXIuZmluZE5lYXJlc3RDb29yZGluYXRlQnlZKCk7XG5cbiAgICBjb25zdCByZXN1bHQ6IElMaW5lQWxpZ25tZW50UmVzdWx0ID0geyB4UmVzdWx0LCB5UmVzdWx0IH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVWZXJ0aWNhbExpbmUoKTtcbiAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICB9XG59XG4iXX0=
@@ -30,4 +30,4 @@ export class FNodeBase {
30
30
  this.positionChange.emit(this.position);
31
31
  }
32
32
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLW5vZGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBSWhFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBWSxRQUFRLENBQUMsQ0FBQztBQUU5RCxNQUFNLE9BQWdCLFNBQVM7SUFBL0I7UUFNa0IsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU14RCxjQUFTLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBMkM3RCxDQUFDO0lBM0JRLFVBQVUsQ0FBQyxPQUFpQztRQUNqRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxjQUFjLENBQUMsUUFBZ0I7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9TRUxFQ1RFRF9DTEFTUywgSVNlbGVjdGFibGUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFID0gbmV3IEluamVjdGlvblRva2VuPEZOb2RlQmFzZT4oJ0ZfTk9ERScpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVCYXNlIGltcGxlbWVudHMgSUhhc1N0YXRlQ2hhbmdlcywgSVNlbGVjdGFibGUsIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZOb2RlSWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD47XG5cbiAgcHVibGljIGFic3RyYWN0IHBvc2l0aW9uOiBJUG9pbnQ7XG5cbiAgcHJvdGVjdGVkIF9wb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVmcmVzaCgpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0U3R5bGUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnICsgdGhpcy5wb3NpdGlvbi54ICsgJ3B4LCcgKyB0aGlzLnBvc2l0aW9uLnkgKyAncHgpJyk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEZfU0VMRUNURURfQ0xBU1MpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGVEcmFnKCk6IHZvaWQge1xuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UuZW1pdCh0aGlzLnBvc2l0aW9uKTtcbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLW5vZGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBSWhFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBWSxRQUFRLENBQUMsQ0FBQztBQUU5RCxNQUFNLE9BQWdCLFNBQVM7SUFBL0I7UUFNa0IsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU14RCxjQUFTLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBMkM3RCxDQUFDO0lBM0JRLFVBQVUsQ0FBQyxPQUFpQztRQUNqRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxjQUFjLENBQUMsUUFBZ0I7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9TRUxFQ1RFRF9DTEFTUywgSVNlbGVjdGFibGUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFID0gbmV3IEluamVjdGlvblRva2VuPEZOb2RlQmFzZT4oJ0ZfTk9ERScpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVCYXNlIGltcGxlbWVudHMgSUhhc1N0YXRlQ2hhbmdlcywgSVNlbGVjdGFibGUsIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFic3RyYWN0IHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcG9zaXRpb246IElQb2ludDtcblxuICBwcm90ZWN0ZWQgX3Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWZyZXNoKCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW107XG5cbiAgcHVibGljIGFic3RyYWN0IGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVtb3ZlQ29ubmVjdG9yKGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRTdHlsZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuXG4gIHB1YmxpYyBpc0NvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcgKyB0aGlzLnBvc2l0aW9uLnggKyAncHgsJyArIHRoaXMucG9zaXRpb24ueSArICdweCknKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoRl9TRUxFQ1RFRF9DTEFTUyk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmFkZChGX1NFTEVDVEVEX0NMQVNTKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhGX1NFTEVDVEVEX0NMQVNTKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVQb3NpdGlvbihwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZURyYWcoKTogdm9pZCB7XG4gICAgdGhpcy5wb3NpdGlvbkNoYW5nZS5lbWl0KHRoaXMucG9zaXRpb24pO1xuICB9XG59XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import { Directive, EventEmitter, Input, Output, } from "@angular/core";
2
2
  import { PointExtensions } from '@foblex/core';
3
3
  import { F_NODE, FNodeBase } from './f-node-base';
4
- import { startWith, Subscription } from 'rxjs';
4
+ import { debounceTime, merge, startWith, Subscription } from 'rxjs';
5
5
  import { FResizeObserver } from './f-resize-observer';
6
6
  import { CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest } from '../f-connectors';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "../f-components-store";
8
+ import * as i1 from "../f-storage";
9
9
  let uniqueId = 0;
10
10
  export class FNodeDirective extends FNodeBase {
11
11
  set position(value) {
@@ -24,7 +24,7 @@ export class FNodeDirective extends FNodeBase {
24
24
  this.renderer = renderer;
25
25
  this.fComponentsStore = fComponentsStore;
26
26
  this.subscriptions$ = new Subscription();
27
- this.fNodeId = `f-node-${uniqueId++}`;
27
+ this.fId = `f-node-${uniqueId++}`;
28
28
  this.positionChange = new EventEmitter();
29
29
  this.fDraggingDisabled = false;
30
30
  this.fSelectionDisabled = false;
@@ -38,7 +38,7 @@ export class FNodeDirective extends FNodeBase {
38
38
  this.setStyle('left', '0');
39
39
  this.setStyle('top', '0');
40
40
  super.redraw();
41
- this.fComponentsStore.addNode(this);
41
+ this.fComponentsStore.addComponent(this.fComponentsStore.fNodes, this);
42
42
  }
43
43
  setStyle(styleName, value) {
44
44
  this.renderer.setStyle(this.hostElement, styleName, value);
@@ -47,7 +47,7 @@ export class FNodeDirective extends FNodeBase {
47
47
  this.subscriptions$.add(this.subscribeOnResizeChanges());
48
48
  }
49
49
  subscribeOnResizeChanges() {
50
- return new FResizeObserver(this.hostElement).pipe(startWith(null)).subscribe(() => {
50
+ return merge(new FResizeObserver(this.hostElement), this.stateChanges).pipe(debounceTime(5), startWith(null)).subscribe(() => {
51
51
  this.connectors.forEach((fConnector) => {
52
52
  fConnector.fConnectableSide = new CalculateConnectorConnectableSideHandler().handle(new CalculateConnectorConnectableSideRequest(fConnector, this.hostElement));
53
53
  });
@@ -56,23 +56,25 @@ export class FNodeDirective extends FNodeBase {
56
56
  }
57
57
  addConnector(connector) {
58
58
  this.connectors.push(connector);
59
+ this.stateChanges.next();
59
60
  }
60
61
  removeConnector(connector) {
61
62
  const index = this.connectors.indexOf(connector);
62
63
  if (index !== -1) {
63
64
  this.connectors.splice(index, 1);
64
65
  }
66
+ this.stateChanges.next();
65
67
  }
66
68
  refresh() {
67
69
  this.stateChanges.next();
68
70
  }
69
71
  ngOnDestroy() {
70
- this.fComponentsStore.removeNode(this);
72
+ this.fComponentsStore.removeComponent(this.fComponentsStore.fNodes, this);
71
73
  this.stateChanges.complete();
72
74
  this.subscriptions$.unsubscribe();
73
75
  }
74
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FNodeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FNodeDirective, selector: "[fNode]", inputs: { fNodeId: "fNodeId", position: ["fNodePosition", "position"], fDraggingDisabled: ["fNodeDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fNodeSelectionDisabled", "fSelectionDisabled"] }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.data-f-node-id": "fNodeId", "class.f-node-dragging-disabled": "fDraggingDisabled", "class.f-node-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-node f-component" }, providers: [
77
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FNodeDirective, selector: "[fNode]", inputs: { fId: ["fNodeId", "fId"], position: ["fNodePosition", "position"], fDraggingDisabled: ["fNodeDraggingDisabled", "fDraggingDisabled"], fSelectionDisabled: ["fNodeSelectionDisabled", "fSelectionDisabled"] }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.data-f-node-id": "fId", "class.f-node-dragging-disabled": "fDraggingDisabled", "class.f-node-selection-disabled": "fSelectionDisabled" }, classAttribute: "f-node f-component" }, providers: [
76
78
  { provide: F_NODE, useExisting: FNodeDirective }
77
79
  ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
78
80
  }
@@ -82,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
82
84
  selector: "[fNode]",
83
85
  exportAs: "fComponent",
84
86
  host: {
85
- '[attr.data-f-node-id]': 'fNodeId',
87
+ '[attr.data-f-node-id]': 'fId',
86
88
  class: "f-node f-component",
87
89
  '[class.f-node-dragging-disabled]': 'fDraggingDisabled',
88
90
  '[class.f-node-selection-disabled]': 'fSelectionDisabled'
@@ -91,8 +93,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
91
93
  { provide: F_NODE, useExisting: FNodeDirective }
92
94
  ],
93
95
  }]
94
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FComponentsStore }], propDecorators: { fNodeId: [{
95
- type: Input
96
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FComponentsStore }], propDecorators: { fId: [{
97
+ type: Input,
98
+ args: ['fNodeId']
96
99
  }], position: [{
97
100
  type: Input,
98
101
  args: ['fNodePosition']
@@ -106,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
106
109
  type: Input,
107
110
  args: ['fNodeSelectionDisabled']
108
111
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLGVBQWUsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLHdDQUF3QyxFQUN4Qyx3Q0FBd0MsRUFFekMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXpCLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFPM0MsSUFDb0IsUUFBUSxDQUFDLEtBQWlCO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQW9CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFXRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFJRCxZQUNZLGdCQUF5QyxFQUN6QyxRQUFtQixFQUNuQixnQkFBa0M7UUFFNUMsS0FBSyxFQUFFLENBQUM7UUFKRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLGFBQVEsR0FB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N0ZVLGNBQWM7a0dBQWQsY0FBYywwZkFKZDtZQUNULEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO1NBQ2pEOzsyRkFFVSxjQUFjO2tCQWIxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLHVCQUF1QixFQUFFLFNBQVM7d0JBQ2xDLEtBQUssRUFBRSxvQkFBb0I7d0JBQzNCLGtDQUFrQyxFQUFFLG1CQUFtQjt3QkFDdkQsbUNBQW1DLEVBQUUsb0JBQW9CO3FCQUMxRDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUU7cUJBQ2pEO2lCQUNGO3NJQU1pQixPQUFPO3NCQUR0QixLQUFLO2dCQUljLFFBQVE7c0JBRDNCLEtBQUs7dUJBQUMsZUFBZTtnQkFXTixjQUFjO3NCQUQ3QixNQUFNO3VCQUFDLHFCQUFxQjtnQkFJYixpQkFBaUI7c0JBRGhDLEtBQUs7dUJBQUMsdUJBQXVCO2dCQUlkLGtCQUFrQjtzQkFEakMsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFBvaW50SW5wdXQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuL2Ytbm9kZS1iYXNlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuL2YtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlUmVxdWVzdCxcbiAgRkNvbm5lY3RvckJhc2Vcbn0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZOb2RlXVwiLFxuICBleHBvcnRBczogXCJmQ29tcG9uZW50XCIsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLW5vZGUtaWRdJzogJ2ZOb2RlSWQnLFxuICAgIGNsYXNzOiBcImYtbm9kZSBmLWNvbXBvbmVudFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLWRyYWdnaW5nLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9OT0RFLCB1c2VFeGlzdGluZzogRk5vZGVEaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZURpcmVjdGl2ZSBleHRlbmRzIEZOb2RlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgSUhhc0hvc3RFbGVtZW50LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVJZDogc3RyaW5nID0gYGYtbm9kZS0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgnZk5vZGVQb3NpdGlvbicpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgcG9zaXRpb24odmFsdWU6IFBvaW50SW5wdXQpIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCh2YWx1ZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHBvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICB9XG5cbiAgQE91dHB1dCgnZk5vZGVQb3NpdGlvbkNoYW5nZScpXG4gIHB1YmxpYyBvdmVycmlkZSBwb3NpdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPElQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQb2ludD4oKTtcblxuICBASW5wdXQoJ2ZOb2RlRHJhZ2dpbmdEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZk5vZGVTZWxlY3Rpb25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdG9yczogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0tb3JpZ2luJywgJzAgMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3VzZXItc2VsZWN0JywgJ25vbmUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdwb2ludGVyLWV2ZW50cycsICdhbGwnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0b3AnLCAnMCcpO1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGROb2RlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblJlc2l6ZUNoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gbmV3IEZSZXNpemVPYnNlcnZlcih0aGlzLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5mb3JFYWNoKChmQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSkgPT4ge1xuXG4gICAgICAgIGZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSA9IG5ldyBDYWxjdWxhdGVDb25uZWN0b3JDb25uZWN0YWJsZVNpZGVIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3QoZkNvbm5lY3RvciwgdGhpcy5ob3N0RWxlbWVudClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZW1vdmVDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb25uZWN0b3JzLmluZGV4T2YoY29ubmVjdG9yKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZU5vZGUodGhpcyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLGVBQWUsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLHdDQUF3QyxFQUV6QyxNQUFNLGlCQUFpQixDQUFDOzs7QUFFekIsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZXpCLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQU8zQyxJQUNvQixRQUFRLENBQUMsS0FBaUI7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBb0IsUUFBUTtRQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVdELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUlELFlBQ1UsZ0JBQXlDLEVBQ3pDLFFBQW1CLEVBQ25CLGdCQUFrQztRQUUxQyxLQUFLLEVBQUUsQ0FBQztRQUpBLHFCQUFnQixHQUFoQixnQkFBZ0Is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WUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0FqR1UsY0FBYztrR0FBZCxjQUFjLDJmQUpkO1lBQ1QsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7U0FDakQ7OzJGQUVVLGNBQWM7a0JBYjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxZQUFZO29CQUN0QixJQUFJLEVBQUU7d0JBQ0osdUJBQXVCLEVBQUUsS0FBSzt3QkFDOUIsS0FBSyxFQUFFLG9CQUFvQjt3QkFDM0Isa0NBQWtDLEVBQUUsbUJBQW1CO3dCQUN2RCxtQ0FBbUMsRUFBRSxvQkFBb0I7cUJBQzFEO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRTtxQkFDakQ7aUJBQ0Y7c0lBTWlCLEdBQUc7c0JBRGxCLEtBQUs7dUJBQUMsU0FBUztnQkFJSSxRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGVBQWU7Z0JBV04sY0FBYztzQkFEN0IsTUFBTTt1QkFBQyxxQkFBcUI7Z0JBSWIsaUJBQWlCO3NCQURoQyxLQUFLO3VCQUFDLHVCQUF1QjtnQkFJZCxrQkFBa0I7c0JBRGpDLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBQb2ludElucHV0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZfTk9ERSwgRk5vZGVCYXNlIH0gZnJvbSAnLi9mLW5vZGUtYmFzZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1lcmdlLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRlJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi9mLXJlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZUhhbmRsZXIsXG4gIENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3QsXG4gIEZDb25uZWN0b3JCYXNlXG59IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmTm9kZV1cIixcbiAgZXhwb3J0QXM6IFwiZkNvbXBvbmVudFwiLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1ub2RlLWlkXSc6ICdmSWQnLFxuICAgIGNsYXNzOiBcImYtbm9kZSBmLWNvbXBvbmVudFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLWRyYWdnaW5nLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9OT0RFLCB1c2VFeGlzdGluZzogRk5vZGVEaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZURpcmVjdGl2ZSBleHRlbmRzIEZOb2RlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgSUhhc0hvc3RFbGVtZW50LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoJ2ZOb2RlSWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZklkOiBzdHJpbmcgPSBgZi1ub2RlLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmTm9kZVBvc2l0aW9uJylcbiAgcHVibGljIG92ZXJyaWRlIHNldCBwb3NpdGlvbih2YWx1ZTogUG9pbnRJbnB1dCkge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmNhc3RUb1BvaW50KHZhbHVlKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgcG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cblxuICBAT3V0cHV0KCdmTm9kZVBvc2l0aW9uQ2hhbmdlJylcbiAgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBvaW50PigpO1xuXG4gIEBJbnB1dCgnZk5vZGVEcmFnZ2luZ0Rpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmTm9kZVNlbGVjdGlvbkRpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybS1vcmlnaW4nLCAnMCAwJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RvcCcsICcwJyk7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLCB0aGlzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTdHlsZShzdHlsZU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuYWRkKFxuICAgICAgdGhpcy5zdWJzY3JpYmVPblJlc2l6ZUNoYW5nZXMoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiBtZXJnZShuZXcgRlJlc2l6ZU9ic2VydmVyKHRoaXMuaG9zdEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLCB0aGlzLnN0YXRlQ2hhbmdlcykucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg1KSwgc3RhcnRXaXRoKG51bGwpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLmZvckVhY2goKGZDb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKSA9PiB7XG5cbiAgICAgICAgZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlID0gbmV3IENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZUhhbmRsZXIoKS5oYW5kbGUoXG4gICAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3QoZkNvbm5lY3RvciwgdGhpcy5ob3N0RWxlbWVudClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29ubmVjdG9yKGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY29ubmVjdG9ycy5pbmRleE9mKGNvbm5lY3Rvcik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMsIHRoaXMpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=