@foblex/flow 12.3.6 → 12.3.7

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 (169) hide show
  1. package/README.md +1 -1
  2. package/esm2022/domain/clear-selection/clear-selection.execution.mjs +5 -4
  3. package/esm2022/domain/create-connection-markers/create-connection-markers-request.mjs +2 -1
  4. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +4 -4
  5. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +7 -4
  6. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +9 -11
  7. package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +6 -1
  8. package/esm2022/domain/get-connection.handler.mjs +5 -4
  9. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +2 -1
  10. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +5 -4
  11. package/esm2022/domain/get-incoming-connections.handler.mjs +5 -4
  12. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.mjs +2 -1
  13. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +3 -1
  14. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +6 -4
  15. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +5 -4
  16. package/esm2022/domain/get-outgoing-connections.handler.mjs +5 -4
  17. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.mjs +2 -1
  18. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +3 -1
  19. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +6 -4
  20. package/esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs +2 -1
  21. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +5 -4
  22. package/esm2022/domain/get-selection/get-selection.execution.mjs +5 -4
  23. package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +11 -3
  24. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +9 -4
  25. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +6 -4
  26. package/esm2022/domain/select/select.execution.mjs +6 -4
  27. package/esm2022/domain/select/select.request.mjs +3 -1
  28. package/esm2022/domain/select-all/select-all.execution.mjs +6 -4
  29. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +7 -4
  30. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.request.mjs +2 -1
  31. package/esm2022/domain/update-item-layer/update-item-layer.execution.mjs +5 -6
  32. package/esm2022/domain/update-item-layer/update-item-layer.request.mjs +3 -1
  33. package/esm2022/f-backgroud/f-background-base.mjs +4 -4
  34. package/esm2022/f-backgroud/f-background.component.mjs +7 -4
  35. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +16 -13
  36. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +19 -15
  37. package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +3 -1
  38. package/esm2022/f-canvas/f-canvas-base.mjs +5 -4
  39. package/esm2022/f-canvas/f-canvas.component.mjs +10 -5
  40. package/esm2022/f-canvas/f-zoom/f-zoom-base.mjs +4 -3
  41. package/esm2022/f-canvas/f-zoom/f-zoom.directive.mjs +8 -8
  42. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +3 -1
  43. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +2 -1
  44. package/esm2022/f-connection/common/f-connection-base.mjs +9 -7
  45. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +8 -6
  46. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +7 -4
  47. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +6 -5
  48. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +6 -4
  49. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +6 -4
  50. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +6 -6
  51. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +6 -4
  52. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +3 -2
  53. package/esm2022/f-connection/f-connection/f-connection.component.mjs +27 -16
  54. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +9 -9
  55. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +4 -4
  56. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +25 -14
  57. package/esm2022/f-connection/f-marker/f-marker-base.mjs +4 -4
  58. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +13 -11
  59. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +3 -1
  60. package/esm2022/f-connectors/f-connector-base.mjs +5 -7
  61. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +5 -8
  62. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +14 -11
  63. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +6 -9
  64. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +12 -9
  65. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +5 -8
  66. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +15 -12
  67. package/esm2022/f-connectors/index.mjs +1 -2
  68. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +5 -4
  69. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +2 -1
  70. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +5 -4
  71. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +6 -4
  72. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +2 -1
  73. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +6 -4
  74. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +4 -3
  75. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +7 -4
  76. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +2 -1
  77. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +5 -4
  78. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +7 -4
  79. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +4 -1
  80. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +6 -4
  81. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +2 -1
  82. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +6 -4
  83. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +2 -1
  84. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +5 -4
  85. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +6 -4
  86. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +2 -1
  87. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +6 -4
  88. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +8 -5
  89. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +4 -1
  90. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +5 -4
  91. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +2 -1
  92. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +5 -4
  93. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +5 -4
  94. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +3 -1
  95. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +5 -4
  96. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +5 -1
  97. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +7 -4
  98. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +2 -1
  99. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +5 -4
  100. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +7 -4
  101. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +2 -1
  102. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +6 -4
  103. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -6
  104. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.mjs +7 -4
  105. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.request.mjs +2 -1
  106. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.mjs +5 -4
  107. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +7 -4
  108. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.request.mjs +2 -1
  109. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.mjs +5 -4
  110. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +6 -4
  111. package/esm2022/f-draggable/external-item/f-create-node.event.mjs +3 -1
  112. package/esm2022/f-draggable/f-draggable-base.mjs +82 -80
  113. package/esm2022/f-draggable/f-draggable-data-context.mjs +11 -11
  114. package/esm2022/f-draggable/f-draggable.directive.mjs +18 -13
  115. package/esm2022/f-draggable/f-selection-change-event.mjs +3 -1
  116. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +8 -6
  117. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +8 -6
  118. package/esm2022/f-draggable/node/connection.drag-handler.mjs +7 -5
  119. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +9 -4
  120. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +7 -4
  121. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs +2 -1
  122. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +5 -4
  123. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +7 -4
  124. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs +2 -1
  125. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +6 -4
  126. package/esm2022/f-draggable/node/node.drag-handler.mjs +5 -3
  127. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +5 -4
  128. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs +2 -1
  129. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +5 -4
  130. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +7 -4
  131. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs +2 -1
  132. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +6 -4
  133. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +7 -2
  134. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.mjs +5 -4
  135. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.mjs +2 -1
  136. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.mjs +5 -4
  137. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.mjs +7 -4
  138. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.mjs +2 -1
  139. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.mjs +5 -4
  140. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +7 -4
  141. package/esm2022/f-draggable/single-select/single-select.execution.mjs +8 -4
  142. package/esm2022/f-draggable/single-select/single-select.request.mjs +2 -1
  143. package/esm2022/f-draggable/single-select/single-select.validator.mjs +5 -4
  144. package/esm2022/f-external-item/f-external-item-base.mjs +4 -4
  145. package/esm2022/f-external-item/f-external-item.directive.mjs +10 -7
  146. package/esm2022/f-external-item/f-external-item.service.mjs +5 -7
  147. package/esm2022/f-flow/f-flow.component.mjs +12 -9
  148. package/esm2022/f-flow.module.mjs +5 -5
  149. package/esm2022/f-line-alignment/domain/line-element.mjs +3 -2
  150. package/esm2022/f-line-alignment/domain/line-service.mjs +4 -1
  151. package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +4 -1
  152. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +4 -4
  153. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +14 -9
  154. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +6 -5
  155. package/esm2022/f-node/f-node-base.mjs +4 -5
  156. package/esm2022/f-node/f-node.directive.mjs +16 -13
  157. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +7 -6
  158. package/esm2022/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +3 -2
  159. package/esm2022/f-selection-area/f-selection-area-base.mjs +4 -4
  160. package/esm2022/f-selection-area/f-selection-area.component.mjs +7 -5
  161. package/esm2022/f-storage/f-components-store.mjs +16 -13
  162. package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +6 -5
  163. package/esm2022/infrastructure/pipeline/pipeline.mjs +3 -1
  164. package/f-connectors/index.d.ts +0 -1
  165. package/fesm2022/foblex-flow.mjs +888 -612
  166. package/fesm2022/foblex-flow.mjs.map +1 -1
  167. package/package.json +6 -1
  168. package/esm2022/f-connectors/cast-to-connectable-side.mjs +0 -9
  169. package/f-connectors/cast-to-connectable-side.d.ts +0 -2
@@ -16,6 +16,9 @@ import * as i7 from "../common/f-path/f-connection-path.component";
16
16
  import * as i8 from "../common/f-selection/f-connection-selection.component";
17
17
  let uniqueId = 0;
18
18
  export class FConnectionComponent extends FConnectionBase {
19
+ fComponentsStore;
20
+ fConnectionId = `f-connection-${uniqueId++}`;
21
+ _fText = '';
19
22
  set fText(value) {
20
23
  this._fText = value;
21
24
  this.fComponentsStore.changes.next();
@@ -23,6 +26,7 @@ export class FConnectionComponent extends FConnectionBase {
23
26
  get fText() {
24
27
  return this._fText;
25
28
  }
29
+ _fStartColor = 'black';
26
30
  set fStartColor(value) {
27
31
  this._fStartColor = value;
28
32
  this.fComponentsStore.changes.next();
@@ -30,6 +34,7 @@ export class FConnectionComponent extends FConnectionBase {
30
34
  get fStartColor() {
31
35
  return this._fStartColor;
32
36
  }
37
+ _fEndColor = 'black';
33
38
  set fEndColor(value) {
34
39
  this._fEndColor = value;
35
40
  this.fComponentsStore.changes.next();
@@ -37,6 +42,7 @@ export class FConnectionComponent extends FConnectionBase {
37
42
  get fEndColor() {
38
43
  return this._fEndColor;
39
44
  }
45
+ _fOutputId;
40
46
  set fOutputId(value) {
41
47
  this._fOutputId = value;
42
48
  this.fComponentsStore.changes.next();
@@ -44,6 +50,7 @@ export class FConnectionComponent extends FConnectionBase {
44
50
  get fOutputId() {
45
51
  return this._fOutputId;
46
52
  }
53
+ _fInputId;
47
54
  set fInputId(value) {
48
55
  this._fInputId = value;
49
56
  this.fComponentsStore.changes.next();
@@ -51,6 +58,7 @@ export class FConnectionComponent extends FConnectionBase {
51
58
  get fInputId() {
52
59
  return this._fInputId;
53
60
  }
61
+ _fRadius = 8;
54
62
  set fRadius(value) {
55
63
  this._fRadius = value;
56
64
  this.fComponentsStore.changes.next();
@@ -58,6 +66,7 @@ export class FConnectionComponent extends FConnectionBase {
58
66
  get fRadius() {
59
67
  return this._fRadius;
60
68
  }
69
+ _fOffset = 32;
61
70
  set fOffset(value) {
62
71
  this._fOffset = value;
63
72
  this.fComponentsStore.changes.next();
@@ -65,6 +74,7 @@ export class FConnectionComponent extends FConnectionBase {
65
74
  get fOffset() {
66
75
  return this._fOffset;
67
76
  }
77
+ _behavior = EFConnectionBehavior.FIXED;
68
78
  set fBehavior(value) {
69
79
  this._behavior = castToEnum(value, 'fBehavior', EFConnectionBehavior);
70
80
  this.fComponentsStore.changes.next();
@@ -72,34 +82,35 @@ export class FConnectionComponent extends FConnectionBase {
72
82
  get fBehavior() {
73
83
  return this._behavior;
74
84
  }
85
+ _type = EFConnectionType.STRAIGHT;
75
86
  set fType(value) {
76
- this._type = castToEnum(value, 'fType', EFConnectionType);
87
+ this._type = value; //castToEnum(value, 'fType', EFConnectionType);
77
88
  this.fComponentsStore.changes.next();
78
89
  }
79
90
  get fType() {
80
91
  return this._type;
81
92
  }
93
+ fDraggingDisabled = false;
94
+ fSelectionDisabled = false;
95
+ fDefs;
82
96
  get fMarkers() {
83
97
  return this.fComponentsStore.fMarkers.filter((x) => {
84
98
  return this.hostElement.contains(x.hostElement);
85
99
  });
86
100
  }
101
+ fPath;
102
+ fGradient;
103
+ fDragHandle;
104
+ fSelection;
105
+ fTextComponent;
106
+ fConnectionCenter;
107
+ fConnectionCenters;
87
108
  get boundingElement() {
88
109
  return this.fPath.hostElement;
89
110
  }
90
111
  constructor(elementReference, fConnectionFactory, fComponentsStore) {
91
112
  super(elementReference, fConnectionFactory);
92
113
  this.fComponentsStore = fComponentsStore;
93
- this.fConnectionId = `f-connection-${uniqueId++}`;
94
- this._fText = '';
95
- this._fStartColor = 'black';
96
- this._fEndColor = 'black';
97
- this._fRadius = 8;
98
- this._fOffset = 32;
99
- this._behavior = EFConnectionBehavior.FIXED;
100
- this._type = EFConnectionType.STRAIGHT;
101
- this.fDraggingDisabled = false;
102
- this.fSelectionDisabled = false;
103
114
  }
104
115
  ngOnInit() {
105
116
  this.fComponentsStore.addComponent(this.fComponentsStore.fConnections, this);
@@ -107,17 +118,17 @@ export class FConnectionComponent extends FConnectionBase {
107
118
  ngOnDestroy() {
108
119
  this.fComponentsStore.removeComponent(this.fComponentsStore.fConnections, this);
109
120
  }
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FConnectionComponent, selector: "f-connection", inputs: { fConnectionId: "fConnectionId", fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fConnectionId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component });
122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FConnectionComponent, selector: "f-connection", inputs: { fConnectionId: "fConnectionId", fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fConnectionId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
112
123
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionComponent, decorators: [{
114
125
  type: Component,
115
126
  args: [{ selector: "f-connection", exportAs: 'fComponent', changeDetection: ChangeDetectionStrategy.OnPush, host: {
116
127
  '[attr.id]': 'fConnectionId',
117
128
  class: "f-component f-connection",
118
129
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled',
119
130
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled',
120
- }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"] }]
131
+ }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"] }]
121
132
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }], propDecorators: { fConnectionId: [{
122
133
  type: Input
123
134
  }], fText: [{
@@ -168,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
168
179
  type: ContentChildren,
169
180
  args: [FConnectionCenterDirective, { descendants: true }]
170
181
  }] } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLGVBQWUsRUFDZiw4QkFBOEIsRUFDOUIsNkJBQTZCLEdBRzlCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFFMUMsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZ0J6QixNQUFNLE9BQU8sb0JBQ1QsU0FBUSxlQUFlO0lBTXpCLElBQ29CLEtBQUssQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQW9CLEtBQUs7UUFDdkIs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QUFJLEVBQUU7Z0JBSTVCLGlCQUFpQjtzQkFEaEMsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTFDLGtCQUFrQjtzQkFEeEIsZUFBZTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENPTk5FQ1RJT05fR1JBRElFTlQsXG4gIENPTk5FQ1RJT05fUEFUSCxcbiAgQ09OTkVDVElPTl9URVhULFxuICBGQ29ubmVjdGlvbkJhc2UsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCxcbiAgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsXG4gIElDb25uZWN0aW9uR3JhZGllbnQsXG4gIElDb25uZWN0aW9uUGF0aCwgSUNvbm5lY3Rpb25UZXh0LFxufSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1tYXJrZXInO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICcuLi8uLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNvbm5lY3Rpb25cIixcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3NcIiBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZkNvbm5lY3Rpb25JZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uXCIsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1jb25uZWN0aW9uLXJlYXNzaWduLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEZDb25uZWN0aW9uQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25JZDogc3RyaW5nID0gYGYtY29ubmVjdGlvbi0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIHByaXZhdGUgX2ZUZXh0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZlRleHQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mVGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZTdGFydENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZTdGFydENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mU3RhcnRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZTdGFydENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZTdGFydENvbG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfZkVuZENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZFbmRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZkVuZENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZkVuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZFbmRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZPdXRwdXRJZCE6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT3V0cHV0SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZPdXRwdXRJZCA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZPdXRwdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mT3V0cHV0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9mSW5wdXRJZCE6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmSW5wdXRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZklucHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmSW5wdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mSW5wdXRJZDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZSYWRpdXM6IG51bWJlciA9IDg7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlJhZGl1cyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZlJhZGl1cyA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZSYWRpdXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZlJhZGl1cztcbiAgfVxuXG4gIHByaXZhdGUgX2ZPZmZzZXQ6IG51bWJlciA9IDMyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZPZmZzZXQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZPZmZzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9iZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmQmVoYXZpb3IodmFsdWU6IHN0cmluZyB8IEVGQ29ubmVjdGlvbkJlaGF2aW9yKSB7XG4gICAgdGhpcy5fYmVoYXZpb3IgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZCZWhhdmlvcigpOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB7XG4gICAgcmV0dXJuIHRoaXMuX2JlaGF2aW9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZTogRUZDb25uZWN0aW9uVHlwZSA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlR5cGUodmFsdWU6IEVGQ29ubmVjdGlvblR5cGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl90eXBlID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZUeXBlJywgRUZDb25uZWN0aW9uVHlwZSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlR5cGUoKTogRUZDb25uZWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBASW5wdXQoJ2ZSZWFzc2lnbkRpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2RlZnMnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRlZnMhOiBFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50PjtcblxuICBwdWJsaWMgZ2V0IGZNYXJrZXJzKCk6IEZNYXJrZXJCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk1hcmtlcnMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyh4Lmhvc3RFbGVtZW50KTtcbiAgICB9KVxuICB9XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1BBVEgsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUGF0aCE6IElDb25uZWN0aW9uUGF0aDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fR1JBRElFTlQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JhZGllbnQhOiBJQ29ubmVjdGlvbkdyYWRpZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdIYW5kbGUhOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb24hOiBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fVEVYVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0Q29tcG9uZW50ITogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uQ2VudGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkNlbnRlciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIGZDb25uZWN0aW9uQ2VudGVycyE6IFF1ZXJ5TGlzdDxGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZT47XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGguaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgZkNvbm5lY3Rpb25GYWN0b3J5OiBGQ29ubmVjdGlvbkZhY3RvcnksXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZSwgZkNvbm5lY3Rpb25GYWN0b3J5KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuYWRkQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMsIHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucywgdGhpcyk7XG4gIH1cbn1cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGU7IGRpc3BsYXk6IGJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1wiPlxuICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICA8bGluZWFyR3JhZGllbnQgZkNvbm5lY3Rpb25HcmFkaWVudD48L2xpbmVhckdyYWRpZW50PlxuICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoIFthdHRyLmRdPVwicGF0aFwiPlxuICAgICAgPC9wYXRoPlxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICA8L2c+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLGVBQWUsRUFDZiw4QkFBOEIsRUFDOUIsNkJBQTZCLEdBRzlCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFFMUMsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZ0J6QixNQUFNLE9BQU8sb0JBQ1QsU0FBUSxlQUFlO0lBeUliO0lBdElJLGFBQWEsR0FBVyxnQkFBaUIsUUFBUSxFQUFHLEVBQUUsQ0FBQztJQUUvRCxNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQzVCLElBQ29CLEtBQUssQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUks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RUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkzQyxVQUFVO3NCQUR6QixTQUFTO3VCQUFDLDZCQUE2QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJMUMsY0FBYztzQkFEN0IsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk1QixpQkFBaUI7c0JBRGhDLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUkxQyxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBDT05ORUNUSU9OX0dSQURJRU5ULFxuICBDT05ORUNUSU9OX1BBVEgsXG4gIENPTk5FQ1RJT05fVEVYVCxcbiAgRkNvbm5lY3Rpb25CYXNlLFxuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LFxuICBJQ29ubmVjdGlvbkdyYWRpZW50LFxuICBJQ29ubmVjdGlvblBhdGgsIElDb25uZWN0aW9uVGV4dCxcbn0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBjYXN0VG9FbnVtIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1jb25uZWN0aW9uXCIsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1jb25uZWN0aW9uLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZDb25uZWN0aW9uSWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvblwiLFxuICAgICdbY2xhc3MuZi1jb25uZWN0aW9uLXNlbGVjdGlvbi1kaXNhYmxlZF0nOiAnZlNlbGVjdGlvbkRpc2FibGVkJyxcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1yZWFzc2lnbi1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQnLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX0NPTk5FQ1RJT04sIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvbkNvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGQ29ubmVjdGlvbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uSWQ6IHN0cmluZyA9IGBmLWNvbm5lY3Rpb24tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwcml2YXRlIF9mVGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZUZXh0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZlRleHQ7XG4gIH1cblxuICBwcml2YXRlIF9mU3RhcnRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmU3RhcnRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZlN0YXJ0Q29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmU3RhcnRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mU3RhcnRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZFbmRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmRW5kQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZFbmRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZFbmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mRW5kQ29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZk91dHB1dElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mT3V0cHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT3V0cHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZk91dHB1dElkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZklucHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZklucHV0SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZJbnB1dElkID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZklucHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZklucHV0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9mUmFkaXVzOiBudW1iZXIgPSA4O1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZSYWRpdXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZSYWRpdXMgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmUmFkaXVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZSYWRpdXM7XG4gIH1cblxuICBwcml2YXRlIF9mT2Zmc2V0OiBudW1iZXIgPSAzMjtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mT2Zmc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk9mZnNldCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mT2Zmc2V0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZkJlaGF2aW9yKHZhbHVlOiBzdHJpbmcgfCBFRkNvbm5lY3Rpb25CZWhhdmlvcikge1xuICAgIHRoaXMuX2JlaGF2aW9yID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmQmVoYXZpb3IoKTogRUZDb25uZWN0aW9uQmVoYXZpb3Ige1xuICAgIHJldHVybiB0aGlzLl9iZWhhdmlvcjtcbiAgfVxuXG4gIHByaXZhdGUgX3R5cGU6IEVGQ29ubmVjdGlvblR5cGUgPSBFRkNvbm5lY3Rpb25UeXBlLlNUUkFJR0hUO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZUeXBlKHZhbHVlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlIGFzIHVua25vd24gYXMgRUZDb25uZWN0aW9uVHlwZTsgLy9jYXN0VG9FbnVtKHZhbHVlLCAnZlR5cGUnLCBFRkNvbm5lY3Rpb25UeXBlKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVHlwZSgpOiBFRkNvbm5lY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgnZlJlYXNzaWduRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIHB1YmxpYyBnZXQgZk1hcmtlcnMoKTogRk1hcmtlckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTWFya2Vycy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpO1xuICAgIH0pXG4gIH1cblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fUEFUSCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZQYXRoITogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9HUkFESUVOVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZHcmFkaWVudCE6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ0hhbmRsZSE6IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbiE6IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9URVhULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHRDb21wb25lbnQhOiBJQ29ubmVjdGlvblRleHQ7XG5cbiAgQFZpZXdDaGlsZCgnZkNvbm5lY3Rpb25DZW50ZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uQ2VudGVyITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgZkNvbm5lY3Rpb25DZW50ZXJzITogUXVlcnlMaXN0PEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlPjtcbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aC5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBmQ29ubmVjdGlvbkZhY3Rvcnk6IEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucywgdGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLCB0aGlzKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTsgZGlzcGxheTogYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICA8L2c+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -3,12 +3,12 @@ import { EFConnectionType, FBezierPathBuilder, FSegmentPathBuilder, FStraightPat
3
3
  import { F_CONNECTION_BUILDERS } from './f-connection-builders';
4
4
  import * as i0 from "@angular/core";
5
5
  export class FConnectionFactory {
6
+ builders = {
7
+ [EFConnectionType.STRAIGHT]: new FStraightPathBuilder(),
8
+ [EFConnectionType.BEZIER]: new FBezierPathBuilder(),
9
+ [EFConnectionType.SEGMENT]: new FSegmentPathBuilder(),
10
+ };
6
11
  constructor(builders) {
7
- this.builders = {
8
- [EFConnectionType.STRAIGHT]: new FStraightPathBuilder(),
9
- [EFConnectionType.BEZIER]: new FBezierPathBuilder(),
10
- [EFConnectionType.SEGMENT]: new FSegmentPathBuilder(),
11
- };
12
12
  if (builders) {
13
13
  this.builders = { ...this.builders, ...builders };
14
14
  }
@@ -20,10 +20,10 @@ export class FConnectionFactory {
20
20
  }
21
21
  return builder.handle(request.payload);
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionFactory, deps: [{ token: F_CONNECTION_BUILDERS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionFactory }); }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionFactory, deps: [{ token: F_CONNECTION_BUILDERS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionFactory });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionFactory, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionFactory, decorators: [{
27
27
  type: Injectable
28
28
  }], ctorParameters: () => [{ type: undefined, decorators: [{
29
29
  type: Optional
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
31
31
  type: Inject,
32
32
  args: [F_CONNECTION_BUILDERS]
33
33
  }] }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tYnVpbGRlci9mLWNvbm5lY3Rpb24tZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLdEYsTUFBTSxPQUFPLGtCQUFrQjtJQVc3QixZQUM2QyxRQUE4QjtRQVYxRCxhQUFRLEdBQThCO1lBRXJELENBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFFLEVBQUUsSUFBSSxvQkFBb0IsRUFBRTtZQUV6RCxDQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBRSxFQUFFLElBQUksa0JBQWtCLEVBQUU7WUFFckQsQ0FBRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUUsRUFBRSxJQUFJLG1CQUFtQixFQUFFO1NBQ3hELENBQUE7UUFLQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQW1DO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUUsT0FBTyxDQUFDLElBQUksQ0FBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQTBDLE9BQU8sQ0FBQyxJQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBMUJVLGtCQUFrQixrQkFZUCxxQkFBcUI7bUhBWmhDLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBYU4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWFwIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElGQ29ubmVjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2ktZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSwgRkJlemllclBhdGhCdWlsZGVyLCBGU2VnbWVudFBhdGhCdWlsZGVyLCBGU3RyYWlnaHRQYXRoQnVpbGRlciB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fQlVJTERFUlMsIElGQ29ubmVjdGlvbkJ1aWxkZXJzIH0gZnJvbSAnLi9mLWNvbm5lY3Rpb24tYnVpbGRlcnMnO1xuaW1wb3J0IHsgSUZDb25uZWN0aW9uRmFjdG9yeVJlcXVlc3QgfSBmcm9tICcuL2ktZi1jb25uZWN0aW9uLWZhY3RvcnktcmVxdWVzdCc7XG5pbXBvcnQgeyBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2UgfSBmcm9tICcuL2ktZi1jb25uZWN0aW9uLWJ1aWxkZXItcmVzcG9uc2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25GYWN0b3J5IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkZXJzOiBJTWFwPElGQ29ubmVjdGlvbkJ1aWxkZXI+ID0ge1xuXG4gICAgWyBFRkNvbm5lY3Rpb25UeXBlLlNUUkFJR0hUIF06IG5ldyBGU3RyYWlnaHRQYXRoQnVpbGRlcigpLFxuXG4gICAgWyBFRkNvbm5lY3Rpb25UeXBlLkJFWklFUiBdOiBuZXcgRkJlemllclBhdGhCdWlsZGVyKCksXG5cbiAgICBbIEVGQ29ubmVjdGlvblR5cGUuU0VHTUVOVCBdOiBuZXcgRlNlZ21lbnRQYXRoQnVpbGRlcigpLFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGX0NPTk5FQ1RJT05fQlVJTERFUlMpIGJ1aWxkZXJzOiBJRkNvbm5lY3Rpb25CdWlsZGVyc1xuICApIHtcbiAgICBpZiAoYnVpbGRlcnMpIHtcbiAgICAgIHRoaXMuYnVpbGRlcnMgPSB7IC4uLnRoaXMuYnVpbGRlcnMsIC4uLmJ1aWxkZXJzIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRkNvbm5lY3Rpb25GYWN0b3J5UmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgYnVpbGRlciA9IHRoaXMuYnVpbGRlcnNbIHJlcXVlc3QudHlwZSBdO1xuICAgIGlmICghYnVpbGRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGQ29ubmVjdGlvbkJ1aWxkZXIgbm90IGZvdW5kIGZvciB0eXBlICR7IHJlcXVlc3QudHlwZSB9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJ1aWxkZXIuaGFuZGxlKHJlcXVlc3QucGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tYnVpbGRlci9mLWNvbm5lY3Rpb24tZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLdEYsTUFBTSxPQUFPLGtCQUFrQjtJQUVaLFFBQVEsR0FBOEI7UUFFckQsQ0FBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUUsRUFBRSxJQUFJLG9CQUFvQixFQUFFO1FBRXpELENBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFFLEVBQUUsSUFBSSxrQkFBa0IsRUFBRTtRQUVyRCxDQUFFLGdCQUFnQixDQUFDLE9BQU8sQ0FBRSxFQUFFLElBQUksbUJBQW1CLEVBQUU7S0FDeEQsQ0FBQTtJQUVELFlBQzZDLFFBQThCO1FBRXpFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsT0FBbUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBMEMsT0FBTyxDQUFDLElBQUssRUFBRSxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQzt1R0ExQlUsa0JBQWtCLGtCQVlQLHFCQUFxQjsyR0FaaEMsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFhTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNYXAgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUZDb25uZWN0aW9uQnVpbGRlciB9IGZyb20gJy4vaS1mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlLCBGQmV6aWVyUGF0aEJ1aWxkZXIsIEZTZWdtZW50UGF0aEJ1aWxkZXIsIEZTdHJhaWdodFBhdGhCdWlsZGVyIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9CVUlMREVSUywgSUZDb25uZWN0aW9uQnVpbGRlcnMgfSBmcm9tICcuL2YtY29ubmVjdGlvbi1idWlsZGVycyc7XG5pbXBvcnQgeyBJRkNvbm5lY3Rpb25GYWN0b3J5UmVxdWVzdCB9IGZyb20gJy4vaS1mLWNvbm5lY3Rpb24tZmFjdG9yeS1yZXF1ZXN0JztcbmltcG9ydCB7IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB9IGZyb20gJy4vaS1mLWNvbm5lY3Rpb24tYnVpbGRlci1yZXNwb25zZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkZhY3Rvcnkge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYnVpbGRlcnM6IElNYXA8SUZDb25uZWN0aW9uQnVpbGRlcj4gPSB7XG5cbiAgICBbIEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQgXTogbmV3IEZTdHJhaWdodFBhdGhCdWlsZGVyKCksXG5cbiAgICBbIEVGQ29ubmVjdGlvblR5cGUuQkVaSUVSIF06IG5ldyBGQmV6aWVyUGF0aEJ1aWxkZXIoKSxcblxuICAgIFsgRUZDb25uZWN0aW9uVHlwZS5TRUdNRU5UIF06IG5ldyBGU2VnbWVudFBhdGhCdWlsZGVyKCksXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZfQ09OTkVDVElPTl9CVUlMREVSUykgYnVpbGRlcnM6IElGQ29ubmVjdGlvbkJ1aWxkZXJzXG4gICkge1xuICAgIGlmIChidWlsZGVycykge1xuICAgICAgdGhpcy5idWlsZGVycyA9IHsgLi4udGhpcy5idWlsZGVycywgLi4uYnVpbGRlcnMgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGQ29ubmVjdGlvbkZhY3RvcnlSZXF1ZXN0KTogSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCBidWlsZGVyID0gdGhpcy5idWlsZGVyc1sgcmVxdWVzdC50eXBlIF07XG4gICAgaWYgKCFidWlsZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZDb25uZWN0aW9uQnVpbGRlciBub3QgZm91bmQgZm9yIHR5cGUgJHsgcmVxdWVzdC50eXBlIH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVpbGRlci5oYW5kbGUocmVxdWVzdC5wYXlsb2FkKTtcbiAgfVxufVxuIl19
@@ -1,13 +1,13 @@
1
1
  import { Directive } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class FConnectionCenterDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionCenterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: FConnectionCenterDirective, selector: "[fConnectionCenter]", ngImport: i0 }); }
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionCenterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FConnectionCenterDirective, selector: "[fConnectionCenter]", ngImport: i0 });
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionCenterDirective, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionCenterDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: "[fConnectionCenter]"
11
11
  }]
12
12
  }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWNlbnRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tY2VudGVyL2YtY29ubmVjdGlvbi1jZW50ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZkNvbm5lY3Rpb25DZW50ZXJdXCJcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUgIHtcbn1cbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWNlbnRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24tY2VudGVyL2YtY29ubmVjdGlvbi1jZW50ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTywwQkFBMEI7dUdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZkNvbm5lY3Rpb25DZW50ZXJdXCJcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUgIHtcbn1cbiJdfQ==
@@ -16,6 +16,10 @@ import * as i7 from "../common/f-path/f-connection-path.component";
16
16
  import * as i8 from "../common/f-selection/f-connection-selection.component";
17
17
  let uniqueId = 0;
18
18
  export class FConnectionForCreateComponent extends FConnectionBase {
19
+ fComponentsStore;
20
+ fConnectionId = `f-connection-for-create-${uniqueId++}`;
21
+ fText = '';
22
+ _fStartColor = 'black';
19
23
  set fStartColor(value) {
20
24
  this._fStartColor = value;
21
25
  this.fComponentsStore.changes.next();
@@ -23,6 +27,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
23
27
  get fStartColor() {
24
28
  return this._fStartColor;
25
29
  }
30
+ _fEndColor = 'black';
26
31
  set fEndColor(value) {
27
32
  this._fEndColor = value;
28
33
  this.fComponentsStore.changes.next();
@@ -30,6 +35,9 @@ export class FConnectionForCreateComponent extends FConnectionBase {
30
35
  get fEndColor() {
31
36
  return this._fEndColor;
32
37
  }
38
+ fOutputId;
39
+ fInputId;
40
+ _fRadius = 8;
33
41
  set fRadius(value) {
34
42
  this._fRadius = value;
35
43
  this.fComponentsStore.changes.next();
@@ -37,6 +45,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
37
45
  get fRadius() {
38
46
  return this._fRadius;
39
47
  }
48
+ _fOffset = 32;
40
49
  set fOffset(value) {
41
50
  this._fOffset = value;
42
51
  this.fComponentsStore.changes.next();
@@ -44,6 +53,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
44
53
  get fOffset() {
45
54
  return this._fOffset;
46
55
  }
56
+ _behavior = EFConnectionBehavior.FIXED;
47
57
  set fBehavior(value) {
48
58
  this._behavior = castToEnum(value, 'fBehavior', EFConnectionBehavior);
49
59
  this.fComponentsStore.changes.next();
@@ -51,6 +61,7 @@ export class FConnectionForCreateComponent extends FConnectionBase {
51
61
  get fBehavior() {
52
62
  return this._behavior;
53
63
  }
64
+ _type = EFConnectionType.STRAIGHT;
54
65
  set fType(value) {
55
66
  this._type = castToEnum(value, 'fType', EFConnectionType);
56
67
  this.fComponentsStore.changes.next();
@@ -58,27 +69,27 @@ export class FConnectionForCreateComponent extends FConnectionBase {
58
69
  get fType() {
59
70
  return this._type;
60
71
  }
72
+ fDraggingDisabled = false;
73
+ fSelectionDisabled = false;
74
+ fDefs;
61
75
  get fMarkers() {
62
76
  return this.fComponentsStore.fMarkers.filter((x) => {
63
77
  return this.hostElement.contains(x.hostElement);
64
78
  });
65
79
  }
80
+ fPath;
81
+ fGradient;
82
+ fDragHandle;
83
+ fSelection;
84
+ fTextComponent;
85
+ fConnectionCenter;
86
+ fConnectionCenters;
66
87
  get boundingElement() {
67
88
  return this.fPath.hostElement;
68
89
  }
69
90
  constructor(elementReference, fConnectionFactory, fComponentsStore) {
70
91
  super(elementReference, fConnectionFactory);
71
92
  this.fComponentsStore = fComponentsStore;
72
- this.fConnectionId = `f-connection-for-create-${uniqueId++}`;
73
- this.fText = '';
74
- this._fStartColor = 'black';
75
- this._fEndColor = 'black';
76
- this._fRadius = 8;
77
- this._fOffset = 32;
78
- this._behavior = EFConnectionBehavior.FIXED;
79
- this._type = EFConnectionType.STRAIGHT;
80
- this.fDraggingDisabled = false;
81
- this.fSelectionDisabled = false;
82
93
  }
83
94
  ngOnInit() {
84
95
  this.fComponentsStore.fTempConnection = this;
@@ -89,10 +100,10 @@ export class FConnectionForCreateComponent extends FConnectionBase {
89
100
  ngOnDestroy() {
90
101
  this.fComponentsStore.fTempConnection = undefined;
91
102
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionForCreateComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fStartColor: "fStartColor", fEndColor: "fEndColor", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType" }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionForCreateComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component });
104
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fStartColor: "fStartColor", fEndColor: "fEndColor", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType" }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i5.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i6.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i7.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
94
105
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
96
107
  type: Component,
97
108
  args: [{ selector: "f-connection-for-create", changeDetection: ChangeDetectionStrategy.OnPush, host: {
98
109
  class: "f-component f-connection f-connection-for-create"
@@ -134,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
134
145
  type: ContentChildren,
135
146
  args: [FConnectionCenterDirective, { descendants: true }]
136
147
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBZ0MsU0FBUyxFQUN2RixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLGVBQWUsRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsR0FFL0UsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztBQUUxQyxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFZekIsTUFBTSxPQUFPLDZCQUNULFNBQVEsZUFBZTtJQU96QixJQUNvQixXQUFXLENBQUMsS0FBYTtRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FB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QU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTNDLFVBQVU7c0JBRHpCLFNBQVM7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkxQyxjQUFjO3NCQUQ3QixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLGlCQUFpQjtzQkFEaEMsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTFDLGtCQUFrQjtzQkFEeEIsZUFBZTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENPTk5FQ1RJT05fR1JBRElFTlQsXG4gIENPTk5FQ1RJT05fUEFUSCwgQ09OTkVDVElPTl9URVhULFxuICBGQ29ubmVjdGlvbkJhc2UsIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsIElDb25uZWN0aW9uR3JhZGllbnQsXG4gIElDb25uZWN0aW9uUGF0aCwgSUNvbm5lY3Rpb25UZXh0LFxufSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICcuLi8uLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2YtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnNjc3NcIiBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvbiBmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZVwiXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnRcbiAgICBleHRlbmRzIEZDb25uZWN0aW9uQmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25JZDogc3RyaW5nID0gYGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0OiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9mU3RhcnRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmU3RhcnRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZlN0YXJ0Q29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmU3RhcnRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mU3RhcnRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZFbmRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmRW5kQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZFbmRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZFbmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mRW5kQ29sb3I7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZk91dHB1dElkITogc3RyaW5nO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCE6IHN0cmluZztcblxuICBwcml2YXRlIF9mUmFkaXVzOiBudW1iZXIgPSA4O1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZSYWRpdXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZSYWRpdXMgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmUmFkaXVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZSYWRpdXM7XG4gIH1cblxuICBwcml2YXRlIF9mT2Zmc2V0OiBudW1iZXIgPSAzMjtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mT2Zmc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk9mZnNldCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mT2Zmc2V0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZkJlaGF2aW9yKHZhbHVlOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB8IHN0cmluZykge1xuICAgIHRoaXMuX2JlaGF2aW9yID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmQmVoYXZpb3IoKTogRUZDb25uZWN0aW9uQmVoYXZpb3Ige1xuICAgIHJldHVybiB0aGlzLl9iZWhhdmlvcjtcbiAgfVxuXG4gIHByaXZhdGUgX3R5cGU6IEVGQ29ubmVjdGlvblR5cGUgPSBFRkNvbm5lY3Rpb25UeXBlLlNUUkFJR0hUO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZUeXBlKHZhbHVlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fdHlwZSA9IGNhc3RUb0VudW0odmFsdWUsICdmVHlwZScsIEVGQ29ubmVjdGlvblR5cGUpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZUeXBlKCk6IEVGQ29ubmVjdGlvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2RlZnMnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRlZnMhOiBFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50PjtcblxuICBwdWJsaWMgZ2V0IGZNYXJrZXJzKCk6IEZNYXJrZXJCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk1hcmtlcnMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyh4Lmhvc3RFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9QQVRILCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlBhdGghOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX0dSQURJRU5ULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyYWRpZW50ITogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnSGFuZGxlITogRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uITogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1RFWFQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dENvbXBvbmVudCE6IElDb25uZWN0aW9uVGV4dDtcblxuICBAVmlld0NoaWxkKCdmQ29ubmVjdGlvbkNlbnRlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25DZW50ZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBmQ29ubmVjdGlvbkNlbnRlcnMhOiBRdWVyeUxpc3Q8RkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmU+O1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGguaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgZkNvbm5lY3Rpb25GYWN0b3J5OiBGQ29ubmVjdGlvbkZhY3RvcnksXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZSwgZkNvbm5lY3Rpb25GYWN0b3J5KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlRlbXBDb25uZWN0aW9uID0gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZUZW1wQ29ubmVjdGlvbiA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGRlZnMgI2RlZnM+PC9kZWZzPlxuICAgIDxnIGNsYXNzPVwiZi1jb25uZWN0aW9uLWdyb3VwXCI+XG4gICAgICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgICAgPGc+XG4gICAgICAgICAgICA8cGF0aCBmLWNvbm5lY3Rpb24tcGF0aFxuICAgICAgICAgICAgICAgICAgW2F0dHIuZF09XCJwYXRoXCI+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZSByPVwiOFwiPjwvY2lyY2xlPlxuICAgICAgICA8L2c+XG4gICAgICAgIDx0ZXh0IGYtY29ubmVjdGlvbi10ZXh0PjwvdGV4dD5cbiAgICA8L2c+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9zdmc+XG48ZGl2ICNmQ29ubmVjdGlvbkNlbnRlciBjbGFzcz1cImYtY29ubmVjdGlvbi1jZW50ZXJcIiAqbmdJZj1cImZDb25uZWN0aW9uQ2VudGVycy5sZW5ndGhcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBZ0MsU0FBUyxFQUN2RixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLGVBQWUsRUFBRSw4QkFBOEIsRUFBRSw2QkFBNkIsR0FFL0UsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztBQUUxQyxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFZekIsTUFBTSxPQUFPLDZCQUNULFNBQVEsZUFBZTtJQStHYjtJQTdHSSxhQUFhLEdBQVcsMkJBQTRCLFFBQVEsRUFBRyxFQUFFLENBQUM7SUFFbEUsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUUzQixZQUFZLEdBQVcsT0FB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QUFLO3NCQURwQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLFNBQVM7c0JBRHhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUloQyxXQUFXO3NCQUQxQixTQUFTO3VCQUFDLDhCQUE4QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJM0MsVUFBVTtzQkFEekIsU0FBUzt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTFDLGNBQWM7c0JBRDdCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJNUIsaUJBQWlCO3NCQURoQyxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJMUMsa0JBQWtCO3NCQUR4QixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ09OTkVDVElPTl9HUkFESUVOVCxcbiAgQ09OTkVDVElPTl9QQVRILCBDT05ORUNUSU9OX1RFWFQsXG4gIEZDb25uZWN0aW9uQmFzZSwgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LCBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCwgSUNvbm5lY3Rpb25HcmFkaWVudCxcbiAgSUNvbm5lY3Rpb25QYXRoLCBJQ29ubmVjdGlvblRleHQsXG59IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1tYXJrZXInO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgY2FzdFRvRW51bSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uIGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCJcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbklkOiBzdHJpbmcgPSBgZi1jb25uZWN0aW9uLWZvci1jcmVhdGUtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2ZTdGFydENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZTdGFydENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mU3RhcnRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZTdGFydENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZTdGFydENvbG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfZkVuZENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZFbmRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZkVuZENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZkVuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZFbmRDb2xvcjtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQhOiBzdHJpbmc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJbnB1dElkITogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2ZSYWRpdXM6IG51bWJlciA9IDg7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlJhZGl1cyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fZlJhZGl1cyA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZSYWRpdXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZlJhZGl1cztcbiAgfVxuXG4gIHByaXZhdGUgX2ZPZmZzZXQ6IG51bWJlciA9IDMyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZPZmZzZXQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZPZmZzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9iZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmQmVoYXZpb3IodmFsdWU6IEVGQ29ubmVjdGlvbkJlaGF2aW9yIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fYmVoYXZpb3IgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZCZWhhdmlvcigpOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB7XG4gICAgcmV0dXJuIHRoaXMuX2JlaGF2aW9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZTogRUZDb25uZWN0aW9uVHlwZSA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlR5cGUodmFsdWU6IEVGQ29ubmVjdGlvblR5cGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl90eXBlID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZUeXBlJywgRUZDb25uZWN0aW9uVHlwZSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlR5cGUoKTogRUZDb25uZWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIHB1YmxpYyBnZXQgZk1hcmtlcnMoKTogRk1hcmtlckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTWFya2Vycy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1BBVEgsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUGF0aCE6IElDb25uZWN0aW9uUGF0aDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fR1JBRElFTlQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JhZGllbnQhOiBJQ29ubmVjdGlvbkdyYWRpZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdIYW5kbGUhOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb24hOiBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fVEVYVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0Q29tcG9uZW50ITogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uQ2VudGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkNlbnRlciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIGZDb25uZWN0aW9uQ2VudGVycyE6IFF1ZXJ5TGlzdDxGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZT47XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aC5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBmQ29ubmVjdGlvbkZhY3Rvcnk6IEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24gPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlRlbXBDb25uZWN0aW9uID0gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gICAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kXT1cInBhdGhcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICAgIDwvZz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -2,10 +2,10 @@ import { Directive, InjectionToken } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export const F_MARKER = new InjectionToken('F_MARKER');
4
4
  export class FMarkerBase {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FMarkerBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: FMarkerBase, ngImport: i0 }); }
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMarkerBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FMarkerBase, ngImport: i0 });
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FMarkerBase, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMarkerBase, decorators: [{
9
9
  type: Directive
10
10
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tYXJrZXItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtbWFya2VyL2YtbWFya2VyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzFELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUd2RCxNQUFNLE9BQWdCLFdBQVc7K0dBQVgsV0FBVzttR0FBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQURoQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZfTUFSS0VSID0gbmV3IEluamVjdGlvblRva2VuKCdGX01BUktFUicpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGTWFya2VyQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgd2lkdGg6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaGVpZ2h0OiBudW1iZXI7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlZlg6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVmWTogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0eXBlOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IG9yaWVudDogJ2F1dG8nIHwgJ2F1dG8tc3RhcnQtcmV2ZXJzZScgfCBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IG1hcmtlclVuaXRzOiAnc3Ryb2tlV2lkdGgnIHwgJ3VzZXJTcGFjZU9uVXNlJztcbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tYXJrZXItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtbWFya2VyL2YtbWFya2VyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzFELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUd2RCxNQUFNLE9BQWdCLFdBQVc7dUdBQVgsV0FBVzsyRkFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQURoQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZfTUFSS0VSID0gbmV3IEluamVjdGlvblRva2VuKCdGX01BUktFUicpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGTWFya2VyQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgd2lkdGg6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaGVpZ2h0OiBudW1iZXI7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlZlg6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVmWTogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB0eXBlOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IG9yaWVudDogJ2F1dG8nIHwgJ2F1dG8tc3RhcnQtcmV2ZXJzZScgfCBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IG1hcmtlclVuaXRzOiAnc3Ryb2tlV2lkdGgnIHwgJ3VzZXJTcGFjZU9uVXNlJztcbn1cbiJdfQ==
@@ -4,20 +4,22 @@ import { EFMarkerType } from './e-f-marker-type';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../f-storage";
6
6
  export class FMarkerDirective extends FMarkerBase {
7
+ fComponentsStore;
8
+ elementReference;
7
9
  get hostElement() {
8
10
  return this.elementReference.nativeElement;
9
11
  }
12
+ width = 0;
13
+ height = 0;
14
+ refX = 0;
15
+ refY = 0;
16
+ type = EFMarkerType.START;
17
+ orient = 'auto';
18
+ markerUnits = 'strokeWidth';
10
19
  constructor(fComponentsStore, elementReference) {
11
20
  super();
12
21
  this.fComponentsStore = fComponentsStore;
13
22
  this.elementReference = elementReference;
14
- this.width = 0;
15
- this.height = 0;
16
- this.refX = 0;
17
- this.refY = 0;
18
- this.type = EFMarkerType.START;
19
- this.orient = 'auto';
20
- this.markerUnits = 'strokeWidth';
21
23
  this.hostElement.style.display = 'none';
22
24
  }
23
25
  ngOnInit() {
@@ -26,10 +28,10 @@ export class FMarkerDirective extends FMarkerBase {
26
28
  ngOnDestroy() {
27
29
  this.fComponentsStore.removeComponent(this.fComponentsStore.fMarkers, this);
28
30
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FMarkerDirective, deps: [{ token: i1.FComponentsStore }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: FMarkerDirective, selector: "svg[fMarker]", inputs: { hostElement: "hostElement", width: "width", height: "height", refX: "refX", refY: "refY", type: "type", orient: "orient", markerUnits: "markerUnits" }, host: { classAttribute: "f-component f-marker" }, providers: [{ provide: F_MARKER, useExisting: FMarkerDirective }], usesInheritance: true, ngImport: i0 }); }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMarkerDirective, deps: [{ token: i1.FComponentsStore }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
32
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FMarkerDirective, selector: "svg[fMarker]", inputs: { hostElement: "hostElement", width: "width", height: "height", refX: "refX", refY: "refY", type: "type", orient: "orient", markerUnits: "markerUnits" }, host: { classAttribute: "f-component f-marker" }, providers: [{ provide: F_MARKER, useExisting: FMarkerDirective }], usesInheritance: true, ngImport: i0 });
31
33
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FMarkerDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FMarkerDirective, decorators: [{
33
35
  type: Directive,
34
36
  args: [{
35
37
  selector: "svg[fMarker]",
@@ -55,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
55
57
  }], markerUnits: [{
56
58
  type: Input
57
59
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tYXJrZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1tYXJrZXIvZi1tYXJrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQWMsS0FBSyxFQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBVWpELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBRS9DLElBQ29CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUF1QkQsWUFDVSxnQkFBa0MsRUFDbEMsZ0JBQXlDO1FBRWpELEtBQUssRUFBRSxDQUFDO1FBSEEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBdEJuQyxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBR2xCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFHbkIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUdqQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBR2pCLFNBQUksR0FBVyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBR2xDLFdBQU0sR0FBMEQsTUFBTSxDQUFDO1FBR3ZFLGdCQUFXLEdBQXFDLGFBQWEsQ0FBQztRQU81RSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RSxDQUFDOytHQTFDVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwyUEFGaEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUU7OzRGQUV4RCxnQkFBZ0I7a0JBUDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3FCQUM5QjtvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFFO2lCQUNwRTs4R0FJcUIsV0FBVztzQkFEOUIsS0FBSztnQkFNVSxLQUFLO3NCQURwQixLQUFLO2dCQUlVLE1BQU07c0JBRHJCLEtBQUs7Z0JBSVUsSUFBSTtzQkFEbkIsS0FBSztnQkFJVSxJQUFJO3NCQURuQixLQUFLO2dCQUlVLElBQUk7c0JBRG5CLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsS0FBSztnQkFJVSxXQUFXO3NCQUQxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfTUFSS0VSLCBGTWFya2VyQmFzZSB9IGZyb20gJy4vZi1tYXJrZXItYmFzZSc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuL2UtZi1tYXJrZXItdHlwZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcInN2Z1tmTWFya2VyXVwiLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1tYXJrZXJcIlxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX01BUktFUiwgdXNlRXhpc3Rpbmc6IEZNYXJrZXJEaXJlY3RpdmUgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTWFya2VyRGlyZWN0aXZlIGV4dGVuZHMgRk1hcmtlckJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHdpZHRoOiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBoZWlnaHQ6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHJlZlg6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHJlZlk6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHR5cGU6IHN0cmluZyA9IEVGTWFya2VyVHlwZS5TVEFSVDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgb3JpZW50OiAnYXV0bycgfCAnYXV0by1zdGFydC1yZXZlcnNlJyB8ICdjYWxjdWxhdGVkJyB8IHN0cmluZyA9ICdhdXRvJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgbWFya2VyVW5pdHM6ICdzdHJva2VXaWR0aCcgfCAndXNlclNwYWNlT25Vc2UnID0gJ3N0cm9rZVdpZHRoJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk1hcmtlcnMsIHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZNYXJrZXJzLCB0aGlzKTtcbiAgfVxufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tYXJrZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1tYXJrZXIvZi1tYXJrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQWMsS0FBSyxFQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBVWpELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBNkJyQztJQUNBO0lBNUJWLElBQ29CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFHZSxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBR2xCLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFHbkIsSUFBSSxHQUFXLENBQUMsQ0FBQztJQUdqQixJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBR2pCLElBQUksR0FBVyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBR2xDLE1BQU0sR0FBMEQsTUFBTSxDQUFDO0lBR3ZFLFdBQVcsR0FBcUMsYUFBYSxDQUFDO0lBRTlFLFlBQ1UsZ0JBQWtDLEVBQ2xDLGdCQUF5QztRQUVqRCxLQUFLLEVBQUUsQ0FBQztRQUhBLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUdqRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RSxDQUFDO3VHQTFDVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQiwyUEFGaEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUU7OzJGQUV4RCxnQkFBZ0I7a0JBUDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3FCQUM5QjtvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFFO2lCQUNwRTs4R0FJcUIsV0FBVztzQkFEOUIsS0FBSztnQkFNVSxLQUFLO3NCQURwQixLQUFLO2dCQUlVLE1BQU07c0JBRHJCLEtBQUs7Z0JBSVUsSUFBSTtzQkFEbkIsS0FBSztnQkFJVSxJQUFJO3NCQURuQixLQUFLO2dCQUlVLElBQUk7c0JBRG5CLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsS0FBSztnQkFJVSxXQUFXO3NCQUQxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfTUFSS0VSLCBGTWFya2VyQmFzZSB9IGZyb20gJy4vZi1tYXJrZXItYmFzZSc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuL2UtZi1tYXJrZXItdHlwZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcInN2Z1tmTWFya2VyXVwiLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1tYXJrZXJcIlxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX01BUktFUiwgdXNlRXhpc3Rpbmc6IEZNYXJrZXJEaXJlY3RpdmUgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTWFya2VyRGlyZWN0aXZlIGV4dGVuZHMgRk1hcmtlckJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHdpZHRoOiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBoZWlnaHQ6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHJlZlg6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHJlZlk6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHR5cGU6IHN0cmluZyA9IEVGTWFya2VyVHlwZS5TVEFSVDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgb3JpZW50OiAnYXV0bycgfCAnYXV0by1zdGFydC1yZXZlcnNlJyB8ICdjYWxjdWxhdGVkJyB8IHN0cmluZyA9ICdhdXRvJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgbWFya2VyVW5pdHM6ICdzdHJva2VXaWR0aCcgfCAndXNlclNwYWNlT25Vc2UnID0gJ3N0cm9rZVdpZHRoJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk1hcmtlcnMsIHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZNYXJrZXJzLCB0aGlzKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,9 @@
1
1
  export class CalculateConnectorConnectableSideRequest {
2
+ fConnector;
3
+ fNodeHost;
2
4
  constructor(fConnector, fNodeHost) {
3
5
  this.fConnector = fConnector;
4
6
  this.fNodeHost = fNodeHost;
5
7
  }
6
8
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rvci1jb25uZWN0YWJsZS1zaWRlLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9kb21haW4vY2FsY3VsYXRlLWNvbm5lY3Rvci1jb25uZWN0YWJsZS1zaWRlL2NhbGN1bGF0ZS1jb25uZWN0b3ItY29ubmVjdGFibGUtc2lkZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3Q0FBd0M7SUFFbkQsWUFDVyxVQUEwQixFQUMxQixTQUFtQztRQURuQyxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUEwQjtJQUU5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9yLWJhc2UnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdG9yQ29ubmVjdGFibGVTaWRlUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgZkNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UsXG4gICAgICBwdWJsaWMgZk5vZGVIb3N0OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnRcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rvci1jb25uZWN0YWJsZS1zaWRlLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9kb21haW4vY2FsY3VsYXRlLWNvbm5lY3Rvci1jb25uZWN0YWJsZS1zaWRlL2NhbGN1bGF0ZS1jb25uZWN0b3ItY29ubmVjdGFibGUtc2lkZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3Q0FBd0M7SUFHeEM7SUFDQTtJQUZYLFlBQ1csVUFBMEIsRUFDMUIsU0FBbUM7UUFEbkMsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFDMUIsY0FBUyxHQUFULFNBQVMsQ0FBMEI7SUFFOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rvci1iYXNlJztcblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZVJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGZDb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlLFxuICAgICAgcHVibGljIGZOb2RlSG9zdDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50XG4gICkge1xuICB9XG59XG4iXX0=
@@ -1,12 +1,10 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { EFConnectableSide } from './e-f-connectable-side';
3
3
  export class FConnectorBase {
4
- constructor() {
5
- this.stateChanges = new Subject();
6
- this.isSelfConnectable = true;
7
- this.fConnectableSide = EFConnectableSide.AUTO;
8
- this._fConnectableSide = EFConnectableSide.AUTO;
9
- }
4
+ stateChanges = new Subject();
5
+ isSelfConnectable = true;
6
+ fConnectableSide = EFConnectableSide.AUTO;
7
+ _fConnectableSide = EFConnectableSide.AUTO;
10
8
  isContains(element) {
11
9
  return this.hostElement.contains(element);
12
10
  }
@@ -14,4 +12,4 @@ export class FConnectorBase {
14
12
  this.isConnected = isConnected;
15
13
  }
16
14
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0b3ItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2YtY29ubmVjdG9yLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUczRCxNQUFNLE9BQWdCLGNBQWM7SUFBcEM7UUFRa0IsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU0zRCxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFFbEMscUJBQWdCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU3RCxzQkFBaUIsR0FBc0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDO0lBU3ZFLENBQUM7SUFQUSxVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sWUFBWSxDQUFDLFdBQW9CO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNvbm5lY3RvckJhc2UgaW1wbGVtZW50cyBJSGFzU3RhdGVDaGFuZ2VzLCBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgY2FuQmVDb25uZWN0ZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGlzQ29ubmVjdGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBpc1NlbGZDb25uZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwdWJsaWMgX2ZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb25uZWN0ZWQoaXNDb25uZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gaXNDb25uZWN0ZWQ7XG4gIH1cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0b3ItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2YtY29ubmVjdG9yLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUczRCxNQUFNLE9BQWdCLGNBQWM7SUFRbEIsWUFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBTTNELGlCQUFpQixHQUFZLElBQUksQ0FBQztJQUVsQyxnQkFBZ0IsR0FBc0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDO0lBRTdELGlCQUFpQixHQUFzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFFOUQsVUFBVSxDQUFDLE9BQWlDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFlBQVksQ0FBQyxXQUFvQjtRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IElIYXNTdGF0ZUNoYW5nZXMgfSBmcm9tICcuLi9pLWhhcy1zdGF0ZS1jaGFuZ2VzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDb25uZWN0b3JCYXNlIGltcGxlbWVudHMgSUhhc1N0YXRlQ2hhbmdlcywgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGNhbkJlQ29ubmVjdGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpc0Nvbm5lY3RlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgaXNTZWxmQ29ubmVjdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBmQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIF9mQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29ubmVjdGVkKGlzQ29ubmVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGlzQ29ubmVjdGVkO1xuICB9XG59XG4iXX0=