nuxeo-development-framework 4.1.0 → 4.1.2

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 (89) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1025 -607
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
  4. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +6 -7
  5. package/esm2015/lib/components/diagrams/components/connection-label.component.js +92 -0
  6. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +7 -8
  7. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +68 -32
  8. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +22 -19
  9. package/esm2015/lib/components/diagrams/components/gateway-node/gateway-node.component.js +18 -0
  10. package/esm2015/lib/components/diagrams/components/gateway-ports.component.js +118 -0
  11. package/esm2015/lib/components/diagrams/components/index.js +5 -1
  12. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +34 -35
  13. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +30 -31
  14. package/esm2015/lib/components/diagrams/components/node-ports.component.js +98 -0
  15. package/esm2015/lib/components/diagrams/components/remove-button.component.js +46 -43
  16. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +6 -7
  17. package/esm2015/lib/components/diagrams/constants/node-type.js +2 -1
  18. package/esm2015/lib/components/diagrams/constants/sizes.js +2 -1
  19. package/esm2015/lib/components/diagrams/constants/status.js +4 -1
  20. package/esm2015/lib/components/diagrams/diagrams.module.js +14 -6
  21. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +9 -6
  22. package/esm2015/lib/components/diagrams/editor/customize.js +16 -12
  23. package/esm2015/lib/components/diagrams/editor/editor.js +21 -19
  24. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +32 -7
  25. package/esm2015/lib/components/diagrams/editor/path-plugin.js +10 -9
  26. package/esm2015/lib/components/diagrams/models/base-node.model.js +3 -2
  27. package/esm2015/lib/components/diagrams/models/connection.model.js +11 -4
  28. package/esm2015/lib/components/diagrams/models/gate-way.model.js +11 -0
  29. package/esm2015/lib/components/diagrams/models/index.js +2 -1
  30. package/esm2015/lib/components/diagrams/models/ports.model.js +14 -0
  31. package/esm2015/lib/components/diagrams/models/socket.model.js +5 -4
  32. package/esm2015/lib/components/diagrams/services/diagram.service.js +77 -29
  33. package/esm2015/lib/components/diagrams/services/workflow.service.js +14 -19
  34. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  35. package/esm2015/lib/components/diagrams/types/connection-config.type.js +2 -0
  36. package/esm2015/lib/components/diagrams/types/connection-label.type.js +2 -0
  37. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  38. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +1 -1
  39. package/esm2015/lib/components/diagrams/types/index.js +6 -2
  40. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  41. package/esm2015/lib/components/diagrams/types/path.type.js +1 -1
  42. package/esm2015/lib/components/diagrams/types/ports-config.type.js +2 -0
  43. package/esm2015/lib/components/diagrams/types/socket.type.js +2 -0
  44. package/esm2015/lib/components/diagrams/utilities/common.js +35 -0
  45. package/esm2015/lib/components/diagrams/utilities/index.js +3 -1
  46. package/esm2015/lib/components/diagrams/utilities/random.js +11 -0
  47. package/esm2015/lib/components/diagrams/utilities/remove.util.js +2 -2
  48. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +238 -200
  49. package/esm2015/lib/components/file-manger/file-manger.module.js +10 -6
  50. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +2 -2
  51. package/fesm2015/nuxeo-development-framework.js +1194 -640
  52. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  53. package/lib/components/diagrams/components/base-node.component.d.ts +1 -0
  54. package/lib/components/diagrams/components/connection-label.component.d.ts +19 -0
  55. package/lib/components/diagrams/components/custom-connection.component.d.ts +5 -0
  56. package/lib/components/diagrams/components/gateway-node/gateway-node.component.d.ts +6 -0
  57. package/lib/components/diagrams/components/gateway-ports.component.d.ts +12 -0
  58. package/lib/components/diagrams/components/index.d.ts +4 -0
  59. package/lib/components/diagrams/components/node-ports.component.d.ts +13 -0
  60. package/lib/components/diagrams/constants/node-type.d.ts +1 -0
  61. package/lib/components/diagrams/constants/sizes.d.ts +1 -0
  62. package/lib/components/diagrams/constants/status.d.ts +3 -0
  63. package/lib/components/diagrams/diagrams.module.d.ts +12 -8
  64. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +2 -7
  65. package/lib/components/diagrams/models/base-node.model.d.ts +3 -2
  66. package/lib/components/diagrams/models/connection.model.d.ts +9 -1
  67. package/lib/components/diagrams/models/gate-way.model.d.ts +8 -0
  68. package/lib/components/diagrams/models/index.d.ts +1 -0
  69. package/lib/components/diagrams/models/ports.model.d.ts +11 -0
  70. package/lib/components/diagrams/models/socket.model.d.ts +3 -1
  71. package/lib/components/diagrams/services/diagram.service.d.ts +20 -9
  72. package/lib/components/diagrams/services/workflow.service.d.ts +0 -1
  73. package/lib/components/diagrams/types/common.type.d.ts +5 -0
  74. package/lib/components/diagrams/types/connection-config.type.d.ts +11 -0
  75. package/lib/components/diagrams/types/connection-label.type.d.ts +4 -0
  76. package/lib/components/diagrams/types/diagram-config.type.d.ts +6 -0
  77. package/lib/components/diagrams/types/diagram-editor.type.d.ts +3 -2
  78. package/lib/components/diagrams/types/index.d.ts +5 -1
  79. package/lib/components/diagrams/types/node-definition.d.ts +1 -0
  80. package/lib/components/diagrams/types/path.type.d.ts +1 -0
  81. package/lib/components/diagrams/types/ports-config.type.d.ts +11 -0
  82. package/lib/components/diagrams/types/socket.type.d.ts +5 -0
  83. package/lib/components/diagrams/utilities/common.d.ts +19 -0
  84. package/lib/components/diagrams/utilities/index.d.ts +2 -0
  85. package/lib/components/diagrams/utilities/random.d.ts +1 -0
  86. package/lib/components/diagrams/utilities/remove.util.d.ts +1 -1
  87. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +13 -19
  88. package/lib/components/file-manger/file-manger.module.d.ts +2 -1
  89. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
- import { IN_OUT_DIRECTION, MESSAGE_TYPE, NODE_CIRCLE_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_TYPE, NODE_WIDTH, } from '../constants';
4
- import { removeNodeAndConnections } from '../utilities';
3
+ import { IN_OUT_DIRECTION, MESSAGE_TYPE, NODE_CIRCLE_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_TYPE, NODE_WIDTH } from '../constants';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "./diagram.service";
7
6
  import * as i2 from "./diagram-plugins.service";
@@ -17,9 +16,6 @@ export class WorkflowService {
17
16
  this._defaultNodeMargin = NODE_MARGIN;
18
17
  this._offset = 60;
19
18
  }
20
- get _diagramClientRect() {
21
- return this._plugins.area.container.getBoundingClientRect();
22
- }
23
19
  setConfig(_config) {
24
20
  this._config = _config;
25
21
  this._message.sendMessage(MESSAGE_TYPE.configUpdated, _config);
@@ -61,10 +57,7 @@ export class WorkflowService {
61
57
  }
62
58
  removeEndNode() {
63
59
  return __awaiter(this, void 0, void 0, function* () {
64
- const node = this._diagram.getNodesByType(NODE_TYPE.end)[0];
65
- if (node) {
66
- yield removeNodeAndConnections(node, this._diagram.editor);
67
- }
60
+ yield this._diagram.removeEndNode();
68
61
  });
69
62
  }
70
63
  /**
@@ -77,7 +70,7 @@ export class WorkflowService {
77
70
  const isEndNode = _node.type === NODE_TYPE.end;
78
71
  return {
79
72
  x: this._calculatePositionX(lastNode.node.type, lastNode.viewNode.position.x),
80
- y: this._calculatePositionY(isEndNode ? NODE_TYPE.end : lastNode.node.type, lastNode.viewNode.position.y),
73
+ y: this._calculatePositionY(isEndNode ? NODE_TYPE.end : lastNode.node.type, lastNode.viewNode.position.y)
81
74
  };
82
75
  }
83
76
  _createNode(nodeType, data, config) {
@@ -95,7 +88,8 @@ export class WorkflowService {
95
88
  return this._changeNodeSocketPosition(context);
96
89
  }
97
90
  }
98
- if (context.type === 'nodecreated' && context.data.type !== NODE_TYPE.end) {
91
+ if (context.type === 'nodecreated' &&
92
+ context.data.type !== NODE_TYPE.end) {
99
93
  setTimeout(() => {
100
94
  this._updateNodePosition(context);
101
95
  });
@@ -114,12 +108,12 @@ export class WorkflowService {
114
108
  }
115
109
  return Object.assign({}, context);
116
110
  }
117
- _linkToLastNode(_addedNode) {
111
+ _linkToLastNode(_addedNode, connectionConfig) {
118
112
  return __awaiter(this, void 0, void 0, function* () {
119
113
  let node = this._diagram.getLastNode();
120
114
  let viewNode = this._diagram.getLastViewNode();
121
115
  if (node && viewNode) {
122
- yield this._diagram.addConnection(node, _addedNode);
116
+ yield this._diagram.addConnection(node, _addedNode, connectionConfig);
123
117
  return { node, viewNode };
124
118
  }
125
119
  return null;
@@ -148,7 +142,7 @@ export class WorkflowService {
148
142
  const startNode = this._diagram.createNode(NODE_TYPE.start, {
149
143
  type: NODE_TYPE.start,
150
144
  label: NODE_TYPE.start,
151
- name: 'start',
145
+ name: 'start'
152
146
  });
153
147
  yield this._diagram.addNode(startNode);
154
148
  yield this._plugins.area.translate(startNode.id, position);
@@ -189,7 +183,7 @@ export class WorkflowService {
189
183
  */
190
184
  _isOverEndBoundary(node, previousNode) {
191
185
  var _a;
192
- const _diagramWidth = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeMargin;
186
+ const _diagramWidth = Number((_a = this._diagram.diagramClientRect()) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeMargin;
193
187
  const _width = previousNode.position.x + (node.width + this._defaultNodeMargin) * 2;
194
188
  return _width >= _diagramWidth;
195
189
  }
@@ -204,7 +198,8 @@ export class WorkflowService {
204
198
  this._defaultNodeWidth +
205
199
  this._defaultNodeMargin * 2 +
206
200
  this._offset;
207
- const wrapLine = Number((_a = this._diagramClientRect) === null || _a === void 0 ? void 0 : _a.width) - this._defaultNodeWidth * 2;
201
+ const wrapLine = Number((_a = this._diagram.diagramClientRect()) === null || _a === void 0 ? void 0 : _a.width) -
202
+ this._defaultNodeWidth * 2;
208
203
  return currentPosition >= wrapLine;
209
204
  }
210
205
  _updateNodePosition(context) {
@@ -213,7 +208,7 @@ export class WorkflowService {
213
208
  const _previousNode = this._diagram.getLastNode();
214
209
  const _nodeViewPosition = (_a = this._plugins.area.nodeViews.get(context.data.id)) === null || _a === void 0 ? void 0 : _a.position;
215
210
  if (_previousNode && _nodeViewPosition) {
216
- const _diagramWidth = Number((_b = this._diagramClientRect) === null || _b === void 0 ? void 0 : _b.width);
211
+ const _diagramWidth = Number((_b = this._diagram.diagramClientRect()) === null || _b === void 0 ? void 0 : _b.width);
217
212
  const _currentX = _nodeViewPosition.x + context.data.width;
218
213
  if (_currentX >= _diagramWidth) {
219
214
  this._plugins.readonly.disable();
@@ -227,7 +222,7 @@ export class WorkflowService {
227
222
  }
228
223
  yield this._plugins.area.translate(context.data.id, {
229
224
  x: x,
230
- y: _nodeViewPosition.y + this._defaultNodeMargin + context.data.height,
225
+ y: _nodeViewPosition.y + this._defaultNodeMargin + context.data.height
231
226
  });
232
227
  this._plugins.readonly.enable();
233
228
  }
@@ -241,4 +236,4 @@ WorkflowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
241
236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: WorkflowService, decorators: [{
242
237
  type: Injectable
243
238
  }], ctorParameters: function () { return [{ type: i1.DiagramService }, { type: i2.DiagramPluginsService }, { type: i3.MessageService }]; } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvc2VydmljZXMvd29ya2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sY0FBYyxDQUFDO0FBU3RCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFNeEQsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFDVSxRQUF3QixFQUN4QixRQUErQixFQUMvQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUF1QjtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQVIxQix1QkFBa0IsR0FBRyxXQUFXLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsVUFBVSxDQUFDO1FBQy9CLDJCQUFzQixHQUFHLGdCQUFnQixDQUFDO1FBQzFDLHVCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUNqQyxZQUFPLEdBQUcsRUFBRSxDQUFDO0lBS2xCLENBQUM7SUFFSixJQUFZLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUssT0FBTyxDQUFVLFFBQWtCLEVBQUUsSUFBb0I7OztZQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUNqQztnQkFDRCxPQUFPO2FBQ1I7WUFFRCxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFcEQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbEM7WUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUUvQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUMxQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDbkM7WUFFRCxJQUFJLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLDBDQUFFLFFBQVEsRUFBRTtnQkFDL0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLFFBQVEsRUFBRTtvQkFDWixRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDckQ7YUFDRjtZQUVELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUV2RCxJQUFJLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsU0FBUyxFQUFFO2dCQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzVCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNUO1lBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDakM7O0tBQ0Y7SUFFSyxhQUFhOztZQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1RDtRQUNILENBQUM7S0FBQTtJQUVEOzs7OztPQUtHO0lBQ0ssa0JBQWtCLENBQ3hCLEtBQWtCLEVBQ2xCLFFBR0M7UUFFRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFDL0MsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzdFLENBQUMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQ3pCLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQzlDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDN0I7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FDakIsUUFBa0IsRUFDbEIsSUFBb0IsRUFDcEIsTUFBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLGdDQUN0QyxLQUFLLEVBQUUsUUFBUSxFQUNmLElBQUksRUFBRSxRQUFRLEVBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUNoQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FDekIsT0FBTyxFQUFFLElBQUksSUFDYixDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQTJCO1FBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBTyxPQUFPLEVBQUUsRUFBRTtZQUMvQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO2dCQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ3ZDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFpQixDQUFDO29CQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7b0JBQy9DLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2xEO3FCQUFNO29CQUNMLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNoRDthQUNGO1lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGFBQWEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6RSxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCLENBQUMsT0FHakM7UUFDQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXJELElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN6RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1NBQzNEO1FBRUQsSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUU7WUFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztZQUN0RCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDO1NBQ3hEO1FBQ0QseUJBQVksT0FBTyxFQUFHO0lBQ3hCLENBQUM7SUFFYSxlQUFlLENBQUMsVUFBdUI7O1lBQ25ELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFpQixDQUFDO1lBQ3RELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFL0MsSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFO2dCQUNwQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUMzQjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUFBO0lBRUQ7OztPQUdHO0lBQ0ssbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDbEUsQ0FBQztJQUNEOzs7T0FHRztJQUNLLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUNqRSxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0csWUFBWSxDQUFDLFFBQWtDOztZQUNuRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO2dCQUMxRCxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUs7Z0JBQ3JCLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSztnQkFDdEIsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDLENBQUM7WUFFSCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUFBO0lBRUQ7Ozs7O09BS0c7SUFDSyxtQkFBbUIsQ0FBQyxRQUFrQixFQUFFLENBQVM7UUFDdkQsSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDLEtBQUssRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzVFLENBQUM7U0FDSDtRQUVELElBQUksUUFBUSxLQUFLLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM1RSxDQUFDO1NBQ0g7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRDs7Ozs7T0FLRztJQUNLLG1CQUFtQixDQUFDLFFBQWtCLEVBQUUsaUJBQXlCO1FBQ3ZFLE1BQU0sVUFBVSxHQUNkLFFBQVEsS0FBSyxTQUFTLENBQUMsT0FBTztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBRWxDLE9BQU8saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxrQkFBa0IsQ0FBQyxJQUFtQixFQUFFLFlBQXNCOztRQUNwRSxNQUFNLGFBQWEsR0FDakIsTUFBTSxDQUFDLE1BQUEsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbkUsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRixPQUFPLE1BQU0sSUFBSSxhQUFhLENBQUM7SUFDakMsQ0FBQztJQUNEOzs7O09BSUc7SUFDSyxrQkFBa0IsQ0FBQyxZQUFzQjs7UUFDL0MsTUFBTSxlQUFlLEdBQ25CLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsaUJBQWlCO1lBQ3RCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDZixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDckYsT0FBTyxlQUFlLElBQUksUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFFYSxtQkFBbUIsQ0FBQyxPQUFtRDs7O1lBQ25GLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEQsTUFBTSxpQkFBaUIsR0FBRyxNQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsMENBQUUsUUFBUSxDQUFDO1lBRXRGLElBQUksYUFBYSxJQUFJLGlCQUFpQixFQUFFO2dCQUN0QyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBRTNELElBQUksU0FBUyxJQUFJLGFBQWEsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTt5QkFDaEMsUUFBUSxFQUFFO3lCQUNWLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRTdDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQ3JCLElBQUksTUFBTSxFQUFFO3dCQUNWLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUMvRCxDQUFDLEdBQUcsQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsUUFBUSxDQUFDLENBQUMsS0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUM1QztvQkFFRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTt3QkFDbEQsQ0FBQyxFQUFFLENBQUM7d0JBQ0osQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO3FCQUN2RSxDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQ2pDO2FBQ0Y7WUFDRCxPQUFPLE9BQU8sQ0FBQzs7S0FDaEI7OzZHQXhSVSxlQUFlO2lIQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm9kZUVkaXRvciwgUm9vdCB9IGZyb20gJ3JldGUnO1xyXG5pbXBvcnQgeyBOb2RlVmlldyB9IGZyb20gJ3JldGUtYXJlYS1wbHVnaW4nO1xyXG5pbXBvcnQge1xyXG4gIElOX09VVF9ESVJFQ1RJT04sXHJcbiAgTUVTU0FHRV9UWVBFLFxyXG4gIE5PREVfQ0lSQ0xFX1NJWkUsXHJcbiAgTk9ERV9IRUlHSFQsXHJcbiAgTk9ERV9NQVJHSU4sXHJcbiAgTk9ERV9UWVBFLFxyXG4gIE5PREVfV0lEVEgsXHJcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQmFzZU5vZGVDbGFzcywgQ29udGVudE5vZGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIERpYWdyYW1Db25maWcsXHJcbiAgTm9kZUNvbnRlbnQsXHJcbiAgTm9kZURlZmluaXRpb25EYXRhLFxyXG4gIE5vZGVUeXBlLFxyXG4gIFNjaGVtZXMsXHJcbn0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyByZW1vdmVOb2RlQW5kQ29ubmVjdGlvbnMgfSBmcm9tICcuLi91dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBEaWFncmFtUGx1Z2luc1NlcnZpY2UgfSBmcm9tICcuL2RpYWdyYW0tcGx1Z2lucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhZ3JhbVNlcnZpY2UgfSBmcm9tICcuL2RpYWdyYW0uc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9tZXNzYWdlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9jb25maWchOiBEaWFncmFtQ29uZmlnO1xyXG5cclxuICBwcml2YXRlIF9kZWZhdWx0Tm9kZUhlaWdodCA9IE5PREVfSEVJR0hUO1xyXG4gIHByaXZhdGUgX2RlZmF1bHROb2RlV2lkdGggPSBOT0RFX1dJRFRIO1xyXG4gIHByaXZhdGUgX2RlZmF1bHROb2RlQ2lyY2xlU2l6ZSA9IE5PREVfQ0lSQ0xFX1NJWkU7XHJcbiAgcHJpdmF0ZSBfZGVmYXVsdE5vZGVNYXJnaW4gPSBOT0RFX01BUkdJTjtcclxuICBwcml2YXRlIF9vZmZzZXQgPSA2MDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2RpYWdyYW06IERpYWdyYW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGx1Z2luczogRGlhZ3JhbVBsdWdpbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgZ2V0IF9kaWFncmFtQ2xpZW50UmVjdCgpOiBET01SZWN0IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9wbHVnaW5zLmFyZWEuY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29uZmlnKF9jb25maWc6IERpYWdyYW1Db25maWcpIHtcclxuICAgIHRoaXMuX2NvbmZpZyA9IF9jb25maWc7XHJcbiAgICB0aGlzLl9tZXNzYWdlLnNlbmRNZXNzYWdlKE1FU1NBR0VfVFlQRS5jb25maWdVcGRhdGVkLCBfY29uZmlnKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGFkZE5vZGU8VCA9IGFueT4obm9kZVR5cGU6IE5vZGVUeXBlLCBkYXRhOiBOb2RlQ29udGVudDxUPikge1xyXG4gICAgaWYgKCF0aGlzLl9kaWFncmFtLmNhbkFkZE5vZGUobm9kZVR5cGUpKSB7XHJcbiAgICAgIGlmICh0aGlzLl9pc1JlYWRvbmx5RGlzYWJsZWQoKSkge1xyXG4gICAgICAgIHRoaXMuX3BsdWdpbnMucmVhZG9ubHkuZW5hYmxlKCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogdGhpcy5fb2Zmc2V0LCB5OiB0aGlzLl9vZmZzZXQgfTtcclxuXHJcbiAgICBpZiAodGhpcy5faXNSZWFkb25seUVuYWJsZWQoKSkge1xyXG4gICAgICB0aGlzLl9wbHVnaW5zLnJlYWRvbmx5LmRpc2FibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBfbm9kZSA9IHRoaXMuX2NyZWF0ZU5vZGUobm9kZVR5cGUsIGRhdGEpO1xyXG5cclxuICAgIGlmICh0aGlzLl9kaWFncmFtLnNob3VsZEFkZFN0YXJ0KG5vZGVUeXBlKSkge1xyXG4gICAgICBhd2FpdCB0aGlzLmFkZFN0YXJ0Tm9kZShwb3NpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5ub2RlPy5pc0xpbmtlZCkge1xyXG4gICAgICBjb25zdCBsYXN0Tm9kZSA9IGF3YWl0IHRoaXMuX2xpbmtUb0xhc3ROb2RlKF9ub2RlKTtcclxuICAgICAgaWYgKGxhc3ROb2RlKSB7XHJcbiAgICAgICAgcG9zaXRpb24gPSB0aGlzLl9jYWxjdWxhdGVQb3NpdGlvbihfbm9kZSwgbGFzdE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXdhaXQgdGhpcy5fZGlhZ3JhbS5hZGROb2RlKF9ub2RlKTtcclxuICAgIGF3YWl0IHRoaXMuX3BsdWdpbnMuYXJlYS50cmFuc2xhdGUoX25vZGUuaWQsIHBvc2l0aW9uKTtcclxuXHJcbiAgICBpZiAodGhpcy5fY29uZmlnPy5maXRUb1ZpZXcpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZGlhZ3JhbS5maXRUb1pvb20oKTtcclxuICAgICAgfSwgMzAwKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5faXNSZWFkb25seURpc2FibGVkKCkpIHtcclxuICAgICAgdGhpcy5fcGx1Z2lucy5yZWFkb25seS5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHJlbW92ZUVuZE5vZGUoKSB7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5fZGlhZ3JhbS5nZXROb2Rlc0J5VHlwZShOT0RFX1RZUEUuZW5kKVswXTtcclxuICAgIGlmIChub2RlKSB7XHJcbiAgICAgIGF3YWl0IHJlbW92ZU5vZGVBbmRDb25uZWN0aW9ucyhub2RlLCB0aGlzLl9kaWFncmFtLmVkaXRvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBfbm9kZVxyXG4gICAqIEBwYXJhbSBsYXN0Tm9kZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUG9zaXRpb24oXHJcbiAgICBfbm9kZTogQ29udGVudE5vZGUsXHJcbiAgICBsYXN0Tm9kZToge1xyXG4gICAgICBub2RlOiBDb250ZW50Tm9kZTtcclxuICAgICAgdmlld05vZGU6IE5vZGVWaWV3O1xyXG4gICAgfVxyXG4gICk6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB7XHJcbiAgICBjb25zdCBpc0VuZE5vZGUgPSBfbm9kZS50eXBlID09PSBOT0RFX1RZUEUuZW5kO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgeDogdGhpcy5fY2FsY3VsYXRlUG9zaXRpb25YKGxhc3ROb2RlLm5vZGUudHlwZSwgbGFzdE5vZGUudmlld05vZGUucG9zaXRpb24ueCksXHJcbiAgICAgIHk6IHRoaXMuX2NhbGN1bGF0ZVBvc2l0aW9uWShcclxuICAgICAgICBpc0VuZE5vZGUgPyBOT0RFX1RZUEUuZW5kIDogbGFzdE5vZGUubm9kZS50eXBlLFxyXG4gICAgICAgIGxhc3ROb2RlLnZpZXdOb2RlLnBvc2l0aW9uLnlcclxuICAgICAgKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVOb2RlPFQgPSBhbnk+KFxyXG4gICAgbm9kZVR5cGU6IE5vZGVUeXBlLFxyXG4gICAgZGF0YTogTm9kZUNvbnRlbnQ8VD4sXHJcbiAgICBjb25maWc/OiBOb2RlRGVmaW5pdGlvbkRhdGFcclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLl9kaWFncmFtLmNyZWF0ZU5vZGUobm9kZVR5cGUsIHtcclxuICAgICAgbGFiZWw6IG5vZGVUeXBlLFxyXG4gICAgICB0eXBlOiBub2RlVHlwZSxcclxuICAgICAgbmFtZTogZGF0YS5uYW1lLFxyXG4gICAgICBkZXNjcmlwdGlvbjogZGF0YS5kZXNjcmlwdGlvbixcclxuICAgICAgc3RhdHVzOiBkYXRhLnN0YXR1cyxcclxuICAgICAgLi4uKGNvbmZpZyA/IGNvbmZpZyA6IHt9KSxcclxuICAgICAgY29udGVudDogZGF0YSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkV3JhcE5vZGVzUGlwZShlZGl0b3I6IE5vZGVFZGl0b3I8U2NoZW1lcz4pIHtcclxuICAgIGVkaXRvci5hZGRQaXBlKGFzeW5jIChjb250ZXh0KSA9PiB7XHJcbiAgICAgIGlmIChjb250ZXh0LnR5cGUgPT09ICdub2RlY3JlYXRlJykge1xyXG4gICAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gTk9ERV9UWVBFLmVuZCkge1xyXG4gICAgICAgICAgbGV0IG5vZGUgPSB0aGlzLl9kaWFncmFtLmdldExhc3ROb2RlKCkgYXMgQ29udGVudE5vZGU7XHJcbiAgICAgICAgICBub2RlLmRpcmVjdGlvbnMub3V0cHV0cyA9IElOX09VVF9ESVJFQ1RJT04uZW5kO1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fcGx1Z2lucy5hcmVhLnVwZGF0ZSgnbm9kZScsIG5vZGUuaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5fY2hhbmdlTm9kZVNvY2tldFBvc2l0aW9uKGNvbnRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbnRleHQudHlwZSA9PT0gJ25vZGVjcmVhdGVkJyAmJiBjb250ZXh0LmRhdGEudHlwZSAhPT0gTk9ERV9UWVBFLmVuZCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fdXBkYXRlTm9kZVBvc2l0aW9uKGNvbnRleHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gY29udGV4dDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hhbmdlTm9kZVNvY2tldFBvc2l0aW9uKGNvbnRleHQ6IHtcclxuICAgIHR5cGU6ICdub2RlY3JlYXRlJztcclxuICAgIGRhdGE6IEJhc2VOb2RlQ2xhc3M7XHJcbiAgfSk6IFJvb3Q8U2NoZW1lcz4gfCBQcm9taXNlPFJvb3Q8U2NoZW1lcz4gfCB1bmRlZmluZWQ+IHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHByZXZpb3VzTm9kZSA9IHRoaXMuX2RpYWdyYW0uZ2V0TGFzdFZpZXdOb2RlKCk7XHJcblxyXG4gICAgaWYgKHByZXZpb3VzTm9kZSAmJiB0aGlzLl9pc05lYXJFbmRCb3VuZGFyeShwcmV2aW91c05vZGUpKSB7XHJcbiAgICAgIGNvbnRleHQuZGF0YS5kaXJlY3Rpb25zLm91dHB1dHMgPSBJTl9PVVRfRElSRUNUSU9OLmJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJldmlvdXNOb2RlICYmIHRoaXMuX2lzT3ZlckVuZEJvdW5kYXJ5KGNvbnRleHQuZGF0YSwgcHJldmlvdXNOb2RlKSkge1xyXG4gICAgICBjb250ZXh0LmRhdGEuZGlyZWN0aW9ucy5pbnB1dHMgPSBJTl9PVVRfRElSRUNUSU9OLnRvcDtcclxuICAgICAgY29udGV4dC5kYXRhLmRpcmVjdGlvbnMub3V0cHV0cyA9IElOX09VVF9ESVJFQ1RJT04uZW5kO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsgLi4uY29udGV4dCB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfbGlua1RvTGFzdE5vZGUoX2FkZGVkTm9kZTogQ29udGVudE5vZGUpIHtcclxuICAgIGxldCBub2RlID0gdGhpcy5fZGlhZ3JhbS5nZXRMYXN0Tm9kZSgpIGFzIENvbnRlbnROb2RlO1xyXG4gICAgbGV0IHZpZXdOb2RlID0gdGhpcy5fZGlhZ3JhbS5nZXRMYXN0Vmlld05vZGUoKTtcclxuXHJcbiAgICBpZiAobm9kZSAmJiB2aWV3Tm9kZSkge1xyXG4gICAgICBhd2FpdCB0aGlzLl9kaWFncmFtLmFkZENvbm5lY3Rpb24obm9kZSwgX2FkZGVkTm9kZSk7XHJcbiAgICAgIHJldHVybiB7IG5vZGUsIHZpZXdOb2RlIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaXNSZWFkb25seURpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZWFkb25seSAmJiAhdGhpcy5fcGx1Z2lucy5yZWFkb25seS5lbmFibGVkO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaXNSZWFkb25seUVuYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlYWRvbmx5ICYmIHRoaXMuX3BsdWdpbnMucmVhZG9ubHkuZW5hYmxlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcG9zaXRpb25cclxuICAgKi9cclxuICBhc3luYyBhZGRTdGFydE5vZGUocG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkge1xyXG4gICAgY29uc3Qgc3RhcnROb2RlID0gdGhpcy5fZGlhZ3JhbS5jcmVhdGVOb2RlKE5PREVfVFlQRS5zdGFydCwge1xyXG4gICAgICB0eXBlOiBOT0RFX1RZUEUuc3RhcnQsXHJcbiAgICAgIGxhYmVsOiBOT0RFX1RZUEUuc3RhcnQsXHJcbiAgICAgIG5hbWU6ICdzdGFydCcsXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLl9kaWFncmFtLmFkZE5vZGUoc3RhcnROb2RlKTtcclxuICAgIGF3YWl0IHRoaXMuX3BsdWdpbnMuYXJlYS50cmFuc2xhdGUoc3RhcnROb2RlLmlkLCBwb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBub2RlVHlwZVxyXG4gICAqIEBwYXJhbSB5XHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcml2YXRlIF9jYWxjdWxhdGVQb3NpdGlvblkobm9kZVR5cGU6IE5vZGVUeXBlLCB5OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgaWYgKG5vZGVUeXBlID09PSBOT0RFX1RZUEUuc3RhcnQpIHtcclxuICAgICAgcmV0dXJuIE1hdGguYWJzKFxyXG4gICAgICAgIE1hdGguZmxvb3IoeSAtICh0aGlzLl9kZWZhdWx0Tm9kZUhlaWdodCAtIHRoaXMuX2RlZmF1bHROb2RlQ2lyY2xlU2l6ZSkgLyAyKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChub2RlVHlwZSA9PT0gTk9ERV9UWVBFLmVuZCkge1xyXG4gICAgICByZXR1cm4gTWF0aC5hYnMoXHJcbiAgICAgICAgTWF0aC5mbG9vcih5ICsgKHRoaXMuX2RlZmF1bHROb2RlSGVpZ2h0IC0gdGhpcy5fZGVmYXVsdE5vZGVDaXJjbGVTaXplKSAvIDIpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbm9kZVR5cGVcclxuICAgKiBAcGFyYW0gbGFzdE5vZGVQb3NpdGlvblhcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVBvc2l0aW9uWChub2RlVHlwZTogTm9kZVR5cGUsIGxhc3ROb2RlUG9zaXRpb25YOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IF9ub2RlV2lkdGggPVxyXG4gICAgICBub2RlVHlwZSA9PT0gTk9ERV9UWVBFLmNvbnRlbnRcclxuICAgICAgICA/IHRoaXMuX2RlZmF1bHROb2RlV2lkdGhcclxuICAgICAgICA6IHRoaXMuX2RlZmF1bHROb2RlQ2lyY2xlU2l6ZTtcclxuXHJcbiAgICByZXR1cm4gbGFzdE5vZGVQb3NpdGlvblggKyB0aGlzLl9kZWZhdWx0Tm9kZU1hcmdpbiArIF9ub2RlV2lkdGg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBub2RlXHJcbiAgICogQHBhcmFtIHByZXZpb3VzTm9kZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaXNPdmVyRW5kQm91bmRhcnkobm9kZTogQmFzZU5vZGVDbGFzcywgcHJldmlvdXNOb2RlOiBOb2RlVmlldykge1xyXG4gICAgY29uc3QgX2RpYWdyYW1XaWR0aCA9XHJcbiAgICAgIE51bWJlcih0aGlzLl9kaWFncmFtQ2xpZW50UmVjdD8ud2lkdGgpIC0gdGhpcy5fZGVmYXVsdE5vZGVNYXJnaW47XHJcbiAgICBjb25zdCBfd2lkdGggPSBwcmV2aW91c05vZGUucG9zaXRpb24ueCArIChub2RlLndpZHRoICsgdGhpcy5fZGVmYXVsdE5vZGVNYXJnaW4pICogMjtcclxuICAgIHJldHVybiBfd2lkdGggPj0gX2RpYWdyYW1XaWR0aDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcHJldmlvdXNOb2RlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcml2YXRlIF9pc05lYXJFbmRCb3VuZGFyeShwcmV2aW91c05vZGU6IE5vZGVWaWV3KSB7XHJcbiAgICBjb25zdCBjdXJyZW50UG9zaXRpb24gPVxyXG4gICAgICBwcmV2aW91c05vZGUucG9zaXRpb24ueCArXHJcbiAgICAgIHRoaXMuX2RlZmF1bHROb2RlV2lkdGggK1xyXG4gICAgICB0aGlzLl9kZWZhdWx0Tm9kZU1hcmdpbiAqIDIgK1xyXG4gICAgICB0aGlzLl9vZmZzZXQ7XHJcbiAgICBjb25zdCB3cmFwTGluZSA9IE51bWJlcih0aGlzLl9kaWFncmFtQ2xpZW50UmVjdD8ud2lkdGgpIC0gdGhpcy5fZGVmYXVsdE5vZGVXaWR0aCAqIDI7XHJcbiAgICByZXR1cm4gY3VycmVudFBvc2l0aW9uID49IHdyYXBMaW5lO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlTm9kZVBvc2l0aW9uKGNvbnRleHQ6IHsgdHlwZTogJ25vZGVjcmVhdGVkJzsgZGF0YTogQ29udGVudE5vZGUgfSkge1xyXG4gICAgY29uc3QgX3ByZXZpb3VzTm9kZSA9IHRoaXMuX2RpYWdyYW0uZ2V0TGFzdE5vZGUoKTtcclxuICAgIGNvbnN0IF9ub2RlVmlld1Bvc2l0aW9uID0gdGhpcy5fcGx1Z2lucy5hcmVhLm5vZGVWaWV3cy5nZXQoY29udGV4dC5kYXRhLmlkKT8ucG9zaXRpb247XHJcblxyXG4gICAgaWYgKF9wcmV2aW91c05vZGUgJiYgX25vZGVWaWV3UG9zaXRpb24pIHtcclxuICAgICAgY29uc3QgX2RpYWdyYW1XaWR0aCA9IE51bWJlcih0aGlzLl9kaWFncmFtQ2xpZW50UmVjdD8ud2lkdGgpO1xyXG4gICAgICBjb25zdCBfY3VycmVudFggPSBfbm9kZVZpZXdQb3NpdGlvbi54ICsgY29udGV4dC5kYXRhLndpZHRoO1xyXG5cclxuICAgICAgaWYgKF9jdXJyZW50WCA+PSBfZGlhZ3JhbVdpZHRoKSB7XHJcbiAgICAgICAgdGhpcy5fcGx1Z2lucy5yZWFkb25seS5kaXNhYmxlKCk7XHJcbiAgICAgICAgY29uc3QgX2ZOb2RlID0gdGhpcy5fZGlhZ3JhbS5lZGl0b3JcclxuICAgICAgICAgIC5nZXROb2RlcygpXHJcbiAgICAgICAgICAuZmluZCgobmQpID0+IG5kLnR5cGUgIT09IE5PREVfVFlQRS5zdGFydCk7XHJcblxyXG4gICAgICAgIGxldCB4ID0gdGhpcy5fb2Zmc2V0O1xyXG4gICAgICAgIGlmIChfZk5vZGUpIHtcclxuICAgICAgICAgIGNvbnN0IF9mVmlld05vZGUgPSB0aGlzLl9wbHVnaW5zLmFyZWEubm9kZVZpZXdzLmdldChfZk5vZGUuaWQpO1xyXG4gICAgICAgICAgeCA9IF9mVmlld05vZGU/LnBvc2l0aW9uLnggfHwgdGhpcy5fb2Zmc2V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXdhaXQgdGhpcy5fcGx1Z2lucy5hcmVhLnRyYW5zbGF0ZShjb250ZXh0LmRhdGEuaWQsIHtcclxuICAgICAgICAgIHg6IHgsXHJcbiAgICAgICAgICB5OiBfbm9kZVZpZXdQb3NpdGlvbi55ICsgdGhpcy5fZGVmYXVsdE5vZGVNYXJnaW4gKyBjb250ZXh0LmRhdGEuaGVpZ2h0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3BsdWdpbnMucmVhZG9ubHkuZW5hYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjb250ZXh0O1xyXG4gIH1cclxufVxyXG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvc2VydmljZXMvd29ya2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sY0FBYyxDQUFDOzs7OztBQWV0QixNQUFNLE9BQU8sZUFBZTtJQVEzQixZQUNTLFFBQXdCLEVBQ3hCLFFBQStCLEVBQy9CLFFBQXdCO1FBRnhCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBUnpCLHVCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxVQUFVLENBQUM7UUFDL0IsMkJBQXNCLEdBQUcsZ0JBQWdCLENBQUM7UUFDMUMsdUJBQWtCLEdBQUcsV0FBVyxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFLbEIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUFzQjtRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFSyxPQUFPLENBQVUsUUFBa0IsRUFBRSxJQUFvQjs7O1lBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDeEMsSUFB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LENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTTtxQkFDdEUsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUNoQzthQUNEO1lBQ0QsT0FBTyxPQUFPLENBQUM7O0tBQ2Y7OzZHQXRTVyxlQUFlO2lIQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm9kZUVkaXRvciwgUm9vdCB9IGZyb20gJ3JldGUnO1xyXG5pbXBvcnQgeyBOb2RlVmlldyB9IGZyb20gJ3JldGUtYXJlYS1wbHVnaW4nO1xyXG5pbXBvcnQge1xyXG4gIElOX09VVF9ESVJFQ1RJT04sXHJcbiAgTUVTU0FHRV9UWVBFLFxyXG4gIE5PREVfQ0lSQ0xFX1NJWkUsXHJcbiAgTk9ERV9IRUlHSFQsXHJcbiAgTk9ERV9NQVJHSU4sXHJcbiAgTk9ERV9UWVBFLFxyXG4gIE5PREVfV0lEVEhcclxufSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlTm9kZUNsYXNzLCBDb250ZW50Tm9kZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7XHJcbiAgQ29ubmVjdGlvbkNvbmZpZ1R5cGUsXHJcbiAgRGlhZ3JhbUNvbmZpZyxcclxuICBOb2RlQ29udGVudCxcclxuICBOb2RlRGVmaW5pdGlvbkRhdGEsXHJcbiAgTm9kZVR5cGUsXHJcbiAgU2NoZW1lc1xyXG59IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgRGlhZ3JhbVBsdWdpbnNTZXJ2aWNlIH0gZnJvbSAnLi9kaWFncmFtLXBsdWdpbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IERpYWdyYW1TZXJ2aWNlIH0gZnJvbSAnLi9kaWFncmFtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFdvcmtmbG93U2VydmljZSB7XHJcblx0cHJpdmF0ZSBfY29uZmlnITogRGlhZ3JhbUNvbmZpZztcclxuXHJcblx0cHJpdmF0ZSBfZGVmYXVsdE5vZGVIZWlnaHQgPSBOT0RFX0hFSUdIVDtcclxuXHRwcml2YXRlIF9kZWZhdWx0Tm9kZVdpZHRoID0gTk9ERV9XSURUSDtcclxuXHRwcml2YXRlIF9kZWZhdWx0Tm9kZUNpcmNsZVNpemUgPSBOT0RFX0NJUkNMRV9TSVpFO1xyXG5cdHByaXZhdGUgX2RlZmF1bHROb2RlTWFyZ2luID0gTk9ERV9NQVJHSU47XHJcblx0cHJpdmF0ZSBfb2Zmc2V0ID0gNjA7XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIF9kaWFncmFtOiBEaWFncmFtU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3BsdWdpbnM6IERpYWdyYW1QbHVnaW5zU2VydmljZSxcclxuXHRcdHByaXZhdGUgX21lc3NhZ2U6IE1lc3NhZ2VTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHRzZXRDb25maWcoX2NvbmZpZzogRGlhZ3JhbUNvbmZpZykge1xyXG5cdFx0dGhpcy5fY29uZmlnID0gX2NvbmZpZztcclxuXHRcdHRoaXMuX21lc3NhZ2Uuc2VuZE1lc3NhZ2UoTUVTU0FHRV9UWVBFLmNvbmZpZ1VwZGF0ZWQsIF9jb25maWcpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgYWRkTm9kZTxUID0gYW55Pihub2RlVHlwZTogTm9kZVR5cGUsIGRhdGE6IE5vZGVDb250ZW50PFQ+KSB7XHJcblx0XHRpZiAoIXRoaXMuX2RpYWdyYW0uY2FuQWRkTm9kZShub2RlVHlwZSkpIHtcclxuXHRcdFx0aWYgKHRoaXMuX2lzUmVhZG9ubHlEaXNhYmxlZCgpKSB7XHJcblx0XHRcdFx0dGhpcy5fcGx1Z2lucy5yZWFkb25seS5lbmFibGUoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0bGV0IHBvc2l0aW9uID0geyB4OiB0aGlzLl9vZmZzZXQsIHk6IHRoaXMuX29mZnNldCB9O1xyXG5cclxuXHRcdGlmICh0aGlzLl9pc1JlYWRvbmx5RW5hYmxlZCgpKSB7XHJcblx0XHRcdHRoaXMuX3BsdWdpbnMucmVhZG9ubHkuZGlzYWJsZSgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IF9ub2RlID0gdGhpcy5fY3JlYXRlTm9kZShub2RlVHlwZSwgZGF0YSk7XHJcblxyXG5cdFx0aWYgKHRoaXMuX2RpYWdyYW0uc2hvdWxkQWRkU3RhcnQobm9kZVR5cGUpKSB7XHJcblx0XHRcdGF3YWl0IHRoaXMuYWRkU3RhcnROb2RlKHBvc2l0aW9uKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5fY29uZmlnLm5vZGU/LmlzTGlua2VkKSB7XHJcblx0XHRcdGNvbnN0IGxhc3ROb2RlID0gYXdhaXQgdGhpcy5fbGlua1RvTGFzdE5vZGUoX25vZGUpO1xyXG5cdFx0XHRpZiAobGFzdE5vZGUpIHtcclxuXHRcdFx0XHRwb3NpdGlvbiA9IHRoaXMuX2NhbGN1bGF0ZVBvc2l0aW9uKF9ub2RlLCBsYXN0Tm9kZSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRhd2FpdCB0aGlzLl9kaWFncmFtLmFkZE5vZGUoX25vZGUpO1xyXG5cdFx0YXdhaXQgdGhpcy5fcGx1Z2lucy5hcmVhLnRyYW5zbGF0ZShfbm9kZS5pZCwgcG9zaXRpb24pO1xyXG5cclxuXHRcdGlmICh0aGlzLl9jb25maWc/LmZpdFRvVmlldykge1xyXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLl9kaWFncmFtLmZpdFRvWm9vbSgpO1xyXG5cdFx0XHR9LCAzMDApO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLl9pc1JlYWRvbmx5RGlzYWJsZWQoKSkge1xyXG5cdFx0XHR0aGlzLl9wbHVnaW5zLnJlYWRvbmx5LmVuYWJsZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgcmVtb3ZlRW5kTm9kZSgpIHtcclxuXHRcdGF3YWl0IHRoaXMuX2RpYWdyYW0ucmVtb3ZlRW5kTm9kZSgpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICpcclxuXHQgKiBAcGFyYW0gX25vZGVcclxuXHQgKiBAcGFyYW0gbGFzdE5vZGVcclxuXHQgKiBAcmV0dXJuc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2NhbGN1bGF0ZVBvc2l0aW9uKFxyXG5cdFx0X25vZGU6IENvbnRlbnROb2RlLFxyXG5cdFx0bGFzdE5vZGU6IHtcclxuXHRcdFx0bm9kZTogQ29udGVudE5vZGU7XHJcblx0XHRcdHZpZXdOb2RlOiBOb2RlVmlldztcclxuXHRcdH1cclxuXHQpOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0ge1xyXG5cdFx0Y29uc3QgaXNFbmROb2RlID0gX25vZGUudHlwZSA9PT0gTk9ERV9UWVBFLmVuZDtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdHg6IHRoaXMuX2NhbGN1bGF0ZVBvc2l0aW9uWChcclxuXHRcdFx0XHRsYXN0Tm9kZS5ub2RlLnR5cGUsXHJcblx0XHRcdFx0bGFzdE5vZGUudmlld05vZGUucG9zaXRpb24ueFxyXG5cdFx0XHQpLFxyXG5cdFx0XHR5OiB0aGlzLl9jYWxjdWxhdGVQb3NpdGlvblkoXHJcblx0XHRcdFx0aXNFbmROb2RlID8gTk9ERV9UWVBFLmVuZCA6IGxhc3ROb2RlLm5vZGUudHlwZSxcclxuXHRcdFx0XHRsYXN0Tm9kZS52aWV3Tm9kZS5wb3NpdGlvbi55XHJcblx0XHRcdClcclxuXHRcdH07XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9jcmVhdGVOb2RlPFQgPSBhbnk+KFxyXG5cdFx0bm9kZVR5cGU6IE5vZGVUeXBlLFxyXG5cdFx0ZGF0YTogTm9kZUNvbnRlbnQ8VD4sXHJcblx0XHRjb25maWc/OiBOb2RlRGVmaW5pdGlvbkRhdGFcclxuXHQpIHtcclxuXHRcdHJldHVybiB0aGlzLl9kaWFncmFtLmNyZWF0ZU5vZGUobm9kZVR5cGUsIHtcclxuXHRcdFx0bGFiZWw6IG5vZGVUeXBlLFxyXG5cdFx0XHR0eXBlOiBub2RlVHlwZSxcclxuXHRcdFx0bmFtZTogZGF0YS5uYW1lLFxyXG5cdFx0XHRkZXNjcmlwdGlvbjogZGF0YS5kZXNjcmlwdGlvbixcclxuXHRcdFx0c3RhdHVzOiBkYXRhLnN0YXR1cyxcclxuXHRcdFx0Li4uKGNvbmZpZyA/IGNvbmZpZyA6IHt9KSxcclxuXHRcdFx0Y29udGVudDogZGF0YVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRhZGRXcmFwTm9kZXNQaXBlKGVkaXRvcjogTm9kZUVkaXRvcjxTY2hlbWVzPikge1xyXG5cdFx0ZWRpdG9yLmFkZFBpcGUoYXN5bmMgKGNvbnRleHQpID0+IHtcclxuXHRcdFx0aWYgKGNvbnRleHQudHlwZSA9PT0gJ25vZGVjcmVhdGUnKSB7XHJcblx0XHRcdFx0aWYgKGNvbnRleHQuZGF0YS50eXBlID09PSBOT0RFX1RZUEUuZW5kKSB7XHJcblx0XHRcdFx0XHRsZXQgbm9kZSA9IHRoaXMuX2RpYWdyYW0uZ2V0TGFzdE5vZGUoKSBhcyBDb250ZW50Tm9kZTtcclxuXHRcdFx0XHRcdG5vZGUuZGlyZWN0aW9ucy5vdXRwdXRzID0gSU5fT1VUX0RJUkVDVElPTi5lbmQ7XHJcblx0XHRcdFx0XHRhd2FpdCB0aGlzLl9wbHVnaW5zLmFyZWEudXBkYXRlKCdub2RlJywgbm9kZS5pZCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLl9jaGFuZ2VOb2RlU29ja2V0UG9zaXRpb24oY29udGV4dCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0Y29udGV4dC50eXBlID09PSAnbm9kZWNyZWF0ZWQnICYmXHJcblx0XHRcdFx0Y29udGV4dC5kYXRhLnR5cGUgIT09IE5PREVfVFlQRS5lbmRcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLl91cGRhdGVOb2RlUG9zaXRpb24oY29udGV4dCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiBjb250ZXh0O1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9jaGFuZ2VOb2RlU29ja2V0UG9zaXRpb24oY29udGV4dDoge1xyXG5cdFx0dHlwZTogJ25vZGVjcmVhdGUnO1xyXG5cdFx0ZGF0YTogQmFzZU5vZGVDbGFzcztcclxuXHR9KTogUm9vdDxTY2hlbWVzPiB8IFByb21pc2U8Um9vdDxTY2hlbWVzPiB8IHVuZGVmaW5lZD4gfCB1bmRlZmluZWQge1xyXG5cdFx0Y29uc3QgcHJldmlvdXNOb2RlID0gdGhpcy5fZGlhZ3JhbS5nZXRMYXN0Vmlld05vZGUoKTtcclxuXHJcblx0XHRpZiAocHJldmlvdXNOb2RlICYmIHRoaXMuX2lzTmVhckVuZEJvdW5kYXJ5KHByZXZpb3VzTm9kZSkpIHtcclxuXHRcdFx0Y29udGV4dC5kYXRhLmRpcmVjdGlvbnMub3V0cHV0cyA9IElOX09VVF9ESVJFQ1RJT04uYm90dG9tO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChwcmV2aW91c05vZGUgJiYgdGhpcy5faXNPdmVyRW5kQm91bmRhcnkoY29udGV4dC5kYXRhLCBwcmV2aW91c05vZGUpKSB7XHJcblx0XHRcdGNvbnRleHQuZGF0YS5kaXJlY3Rpb25zLmlucHV0cyA9IElOX09VVF9ESVJFQ1RJT04udG9wO1xyXG5cdFx0XHRjb250ZXh0LmRhdGEuZGlyZWN0aW9ucy5vdXRwdXRzID0gSU5fT1VUX0RJUkVDVElPTi5lbmQ7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4geyAuLi5jb250ZXh0IH07XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFzeW5jIF9saW5rVG9MYXN0Tm9kZShcclxuXHRcdF9hZGRlZE5vZGU6IENvbnRlbnROb2RlLFxyXG5cdFx0Y29ubmVjdGlvbkNvbmZpZz86IENvbm5lY3Rpb25Db25maWdUeXBlXHJcblx0KSB7XHJcblx0XHRsZXQgbm9kZSA9IHRoaXMuX2RpYWdyYW0uZ2V0TGFzdE5vZGUoKSBhcyBDb250ZW50Tm9kZTtcclxuXHRcdGxldCB2aWV3Tm9kZSA9IHRoaXMuX2RpYWdyYW0uZ2V0TGFzdFZpZXdOb2RlKCk7XHJcblxyXG5cdFx0aWYgKG5vZGUgJiYgdmlld05vZGUpIHtcclxuXHRcdFx0YXdhaXQgdGhpcy5fZGlhZ3JhbS5hZGRDb25uZWN0aW9uKG5vZGUsIF9hZGRlZE5vZGUsIGNvbm5lY3Rpb25Db25maWcpO1xyXG5cdFx0XHRyZXR1cm4geyBub2RlLCB2aWV3Tm9kZSB9O1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBudWxsO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICpcclxuXHQgKiBAcmV0dXJuc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2lzUmVhZG9ubHlEaXNhYmxlZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9jb25maWcucmVhZG9ubHkgJiYgIXRoaXMuX3BsdWdpbnMucmVhZG9ubHkuZW5hYmxlZDtcclxuXHR9XHJcblx0LyoqXHJcblx0ICpcclxuXHQgKiBAcmV0dXJuc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2lzUmVhZG9ubHlFbmFibGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2NvbmZpZy5yZWFkb25seSAmJiB0aGlzLl9wbHVnaW5zLnJlYWRvbmx5LmVuYWJsZWQ7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqXHJcblx0ICogQHBhcmFtIHBvc2l0aW9uXHJcblx0ICovXHJcblx0YXN5bmMgYWRkU3RhcnROb2RlKHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pIHtcclxuXHRcdGNvbnN0IHN0YXJ0Tm9kZSA9IHRoaXMuX2RpYWdyYW0uY3JlYXRlTm9kZShOT0RFX1RZUEUuc3RhcnQsIHtcclxuXHRcdFx0dHlwZTogTk9ERV9UWVBFLnN0YXJ0LFxyXG5cdFx0XHRsYWJlbDogTk9ERV9UWVBFLnN0YXJ0LFxyXG5cdFx0XHRuYW1lOiAnc3RhcnQnXHJcblx0XHR9KTtcclxuXHJcblx0XHRhd2FpdCB0aGlzLl9kaWFncmFtLmFkZE5vZGUoc3RhcnROb2RlKTtcclxuXHRcdGF3YWl0IHRoaXMuX3BsdWdpbnMuYXJlYS50cmFuc2xhdGUoc3RhcnROb2RlLmlkLCBwb3NpdGlvbik7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKlxyXG5cdCAqIEBwYXJhbSBub2RlVHlwZVxyXG5cdCAqIEBwYXJhbSB5XHJcblx0ICogQHJldHVybnNcclxuXHQgKi9cclxuXHRwcml2YXRlIF9jYWxjdWxhdGVQb3NpdGlvblkobm9kZVR5cGU6IE5vZGVUeXBlLCB5OiBudW1iZXIpOiBudW1iZXIge1xyXG5cdFx0aWYgKG5vZGVUeXBlID09PSBOT0RFX1RZUEUuc3RhcnQpIHtcclxuXHRcdFx0cmV0dXJuIE1hdGguYWJzKFxyXG5cdFx0XHRcdE1hdGguZmxvb3IoXHJcblx0XHRcdFx0XHR5IC0gKHRoaXMuX2RlZmF1bHROb2RlSGVpZ2h0IC0gdGhpcy5fZGVmYXVsdE5vZGVDaXJjbGVTaXplKSAvIDJcclxuXHRcdFx0XHQpXHJcblx0XHRcdCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKG5vZGVUeXBlID09PSBOT0RFX1RZUEUuZW5kKSB7XHJcblx0XHRcdHJldHVybiBNYXRoLmFicyhcclxuXHRcdFx0XHRNYXRoLmZsb29yKFxyXG5cdFx0XHRcdFx0eSArICh0aGlzLl9kZWZhdWx0Tm9kZUhlaWdodCAtIHRoaXMuX2RlZmF1bHROb2RlQ2lyY2xlU2l6ZSkgLyAyXHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHk7XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqXHJcblx0ICogQHBhcmFtIG5vZGVUeXBlXHJcblx0ICogQHBhcmFtIGxhc3ROb2RlUG9zaXRpb25YXHJcblx0ICogQHJldHVybnNcclxuXHQgKi9cclxuXHRwcml2YXRlIF9jYWxjdWxhdGVQb3NpdGlvblgobm9kZVR5cGU6IE5vZGVUeXBlLCBsYXN0Tm9kZVBvc2l0aW9uWDogbnVtYmVyKSB7XHJcblx0XHRjb25zdCBfbm9kZVdpZHRoID1cclxuXHRcdFx0bm9kZVR5cGUgPT09IE5PREVfVFlQRS5jb250ZW50XHJcblx0XHRcdFx0PyB0aGlzLl9kZWZhdWx0Tm9kZVdpZHRoXHJcblx0XHRcdFx0OiB0aGlzLl9kZWZhdWx0Tm9kZUNpcmNsZVNpemU7XHJcblxyXG5cdFx0cmV0dXJuIGxhc3ROb2RlUG9zaXRpb25YICsgdGhpcy5fZGVmYXVsdE5vZGVNYXJnaW4gKyBfbm9kZVdpZHRoO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICpcclxuXHQgKiBAcGFyYW0gbm9kZVxyXG5cdCAqIEBwYXJhbSBwcmV2aW91c05vZGVcclxuXHQgKiBAcmV0dXJuc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2lzT3ZlckVuZEJvdW5kYXJ5KG5vZGU6IEJhc2VOb2RlQ2xhc3MsIHByZXZpb3VzTm9kZTogTm9kZVZpZXcpIHtcclxuXHRcdGNvbnN0IF9kaWFncmFtV2lkdGggPVxyXG5cdFx0XHROdW1iZXIodGhpcy5fZGlhZ3JhbS5kaWFncmFtQ2xpZW50UmVjdCgpPy53aWR0aCkgLSB0aGlzLl9kZWZhdWx0Tm9kZU1hcmdpbjtcclxuXHRcdGNvbnN0IF93aWR0aCA9XHJcblx0XHRcdHByZXZpb3VzTm9kZS5wb3NpdGlvbi54ICsgKG5vZGUud2lkdGggKyB0aGlzLl9kZWZhdWx0Tm9kZU1hcmdpbikgKiAyO1xyXG5cdFx0cmV0dXJuIF93aWR0aCA+PSBfZGlhZ3JhbVdpZHRoO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKlxyXG5cdCAqIEBwYXJhbSBwcmV2aW91c05vZGVcclxuXHQgKiBAcmV0dXJuc1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgX2lzTmVhckVuZEJvdW5kYXJ5KHByZXZpb3VzTm9kZTogTm9kZVZpZXcpIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9XHJcblx0XHRcdHByZXZpb3VzTm9kZS5wb3NpdGlvbi54ICtcclxuXHRcdFx0dGhpcy5fZGVmYXVsdE5vZGVXaWR0aCArXHJcblx0XHRcdHRoaXMuX2RlZmF1bHROb2RlTWFyZ2luICogMiArXHJcblx0XHRcdHRoaXMuX29mZnNldDtcclxuXHRcdGNvbnN0IHdyYXBMaW5lID1cclxuXHRcdFx0TnVtYmVyKHRoaXMuX2RpYWdyYW0uZGlhZ3JhbUNsaWVudFJlY3QoKT8ud2lkdGgpIC1cclxuXHRcdFx0dGhpcy5fZGVmYXVsdE5vZGVXaWR0aCAqIDI7XHJcblx0XHRyZXR1cm4gY3VycmVudFBvc2l0aW9uID49IHdyYXBMaW5lO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBhc3luYyBfdXBkYXRlTm9kZVBvc2l0aW9uKGNvbnRleHQ6IHtcclxuXHRcdHR5cGU6ICdub2RlY3JlYXRlZCc7XHJcblx0XHRkYXRhOiBDb250ZW50Tm9kZTtcclxuXHR9KSB7XHJcblx0XHRjb25zdCBfcHJldmlvdXNOb2RlID0gdGhpcy5fZGlhZ3JhbS5nZXRMYXN0Tm9kZSgpO1xyXG5cdFx0Y29uc3QgX25vZGVWaWV3UG9zaXRpb24gPSB0aGlzLl9wbHVnaW5zLmFyZWEubm9kZVZpZXdzLmdldChcclxuXHRcdFx0Y29udGV4dC5kYXRhLmlkXHJcblx0XHQpPy5wb3NpdGlvbjtcclxuXHJcblx0XHRpZiAoX3ByZXZpb3VzTm9kZSAmJiBfbm9kZVZpZXdQb3NpdGlvbikge1xyXG5cdFx0XHRjb25zdCBfZGlhZ3JhbVdpZHRoID0gTnVtYmVyKHRoaXMuX2RpYWdyYW0uZGlhZ3JhbUNsaWVudFJlY3QoKT8ud2lkdGgpO1xyXG5cdFx0XHRjb25zdCBfY3VycmVudFggPSBfbm9kZVZpZXdQb3NpdGlvbi54ICsgY29udGV4dC5kYXRhLndpZHRoO1xyXG5cclxuXHRcdFx0aWYgKF9jdXJyZW50WCA+PSBfZGlhZ3JhbVdpZHRoKSB7XHJcblx0XHRcdFx0dGhpcy5fcGx1Z2lucy5yZWFkb25seS5kaXNhYmxlKCk7XHJcblx0XHRcdFx0Y29uc3QgX2ZOb2RlID0gdGhpcy5fZGlhZ3JhbS5lZGl0b3JcclxuXHRcdFx0XHRcdC5nZXROb2RlcygpXHJcblx0XHRcdFx0XHQuZmluZCgobmQpID0+IG5kLnR5cGUgIT09IE5PREVfVFlQRS5zdGFydCk7XHJcblxyXG5cdFx0XHRcdGxldCB4ID0gdGhpcy5fb2Zmc2V0O1xyXG5cdFx0XHRcdGlmIChfZk5vZGUpIHtcclxuXHRcdFx0XHRcdGNvbnN0IF9mVmlld05vZGUgPSB0aGlzLl9wbHVnaW5zLmFyZWEubm9kZVZpZXdzLmdldChfZk5vZGUuaWQpO1xyXG5cdFx0XHRcdFx0eCA9IF9mVmlld05vZGU/LnBvc2l0aW9uLnggfHwgdGhpcy5fb2Zmc2V0O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0YXdhaXQgdGhpcy5fcGx1Z2lucy5hcmVhLnRyYW5zbGF0ZShjb250ZXh0LmRhdGEuaWQsIHtcclxuXHRcdFx0XHRcdHg6IHgsXHJcblx0XHRcdFx0XHR5OiBfbm9kZVZpZXdQb3NpdGlvbi55ICsgdGhpcy5fZGVmYXVsdE5vZGVNYXJnaW4gKyBjb250ZXh0LmRhdGEuaGVpZ2h0XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhpcy5fcGx1Z2lucy5yZWFkb25seS5lbmFibGUoKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGNvbnRleHQ7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3R5cGVzL2NvbW1vbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTl9PVVRfRElSRUNUSU9OLCBNRVNTQUdFX1RZUEUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgRGlyZWN0aW9uVHlwZSA9ICh0eXBlb2YgSU5fT1VUX0RJUkVDVElPTilba2V5b2YgdHlwZW9mIElOX09VVF9ESVJFQ1RJT05dO1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uYWw8VCA9IHVua25vd24+ID0gVCB8IHVuZGVmaW5lZDtcclxuXHJcbmV4cG9ydCB0eXBlIE1lc3NhZ2VUeXBlID0gKHR5cGVvZiBNRVNTQUdFX1RZUEUpW2tleW9mIHR5cGVvZiBNRVNTQUdFX1RZUEVdO1xyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3R5cGVzL2NvbW1vbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJ3JldGUtY29ubmVjdGlvbi1wbHVnaW4vX3R5cGVzL3R5cGVzJztcclxuaW1wb3J0IHsgSU5fT1VUX0RJUkVDVElPTiwgTUVTU0FHRV9UWVBFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29ubmVjdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb25uZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgUGF0aFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vcGF0aC50eXBlJztcclxuXHJcbmV4cG9ydCB0eXBlIERpcmVjdGlvblR5cGUgPVxyXG5cdCh0eXBlb2YgSU5fT1VUX0RJUkVDVElPTilba2V5b2YgdHlwZW9mIElOX09VVF9ESVJFQ1RJT05dO1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uYWw8VCA9IHVua25vd24+ID0gVCB8IHVuZGVmaW5lZDtcclxuXHJcbmV4cG9ydCB0eXBlIE1lc3NhZ2VUeXBlID0gKHR5cGVvZiBNRVNTQUdFX1RZUEUpW2tleW9mIHR5cGVvZiBNRVNTQUdFX1RZUEVdO1xyXG5cclxuZXhwb3J0IHR5cGUgUG9ydFR5cGUgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAncXVhdGVybmFyeSc7XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJGYWN0b3J5ID0gKFxyXG4gIGNvbm5lY3Rpb24gOiBDb25uZWN0aW9uLFxyXG5cdG9wdGlvbnM6IFBhdGhQbHVnaW5Db25maWdcclxuKSA9PiAocG9pbnRzOiBQb3NpdGlvbltdKSA9PiBQb3NpdGlvbltdO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1jb25maWcudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvdHlwZXMvY29ubmVjdGlvbi1jb25maWcudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvbkxhYmVsVHlwZSB9IGZyb20gJy4vY29ubmVjdGlvbi1sYWJlbC50eXBlJztcclxuXHJcbmV4cG9ydCB0eXBlIENvbm5lY3Rpb25Db25maWdUeXBlID0ge1xyXG5cdHJlbmRlclR5cGU/OiAnZGVmYXVsdCcgfCAnY3VzdG9tJztcclxuXHRzb3VyY2VPdXRwdXQ/OiBzdHJpbmc7XHJcblx0dGFyZ2V0SW5wdXQ/OiBzdHJpbmc7XHJcblx0c3RhdHVzPzogc3RyaW5nO1xyXG5cdHN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcblx0bGFiZWw/OiBzdHJpbmcgfCBDb25uZWN0aW9uTGFiZWxUeXBlO1xyXG5cdGRpcmVjdGlvbj86IENvbm5lY3Rpb25EaXJlY3Rpb25UeXBlO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29ubmVjdGlvbkRpcmVjdGlvblR5cGUgPSAnZm9yd2FyZCcgfCAnYmFja3dhcmQnIHwgJ3VwJyB8ICdkb3duJztcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1sYWJlbC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy90eXBlcy9jb25uZWN0aW9uLWxhYmVsLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbm5lY3Rpb25MYWJlbFR5cGUgPSB7XHJcblx0dGV4dDogc3RyaW5nO1xyXG5cdHBvc2l0aW9uPzogJ2NlbnRlcicgfCAnc3RhcnQnIHwgJ2VuZCc7XHJcbn07XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1jb25maWcudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvdHlwZXMvZGlhZ3JhbS1jb25maWcudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZVR5cGUgfSBmcm9tICcuL25vZGUudHlwZSc7XHJcbmltcG9ydCB7IFBhdGhQbHVnaW5Db25maWcgfSBmcm9tICcuL3BhdGgudHlwZSc7XHJcblxyXG5leHBvcnQgdHlwZSBEaWFncmFtQ29uZmlnID0ge1xyXG4gIHJlYWRvbmx5Pzoge1xyXG4gICAgYWN0aXZlOiBib29sZWFuO1xyXG4gICAgd3JhcE5vZGVzPzogYm9vbGVhbjtcclxuICB9O1xyXG4gIGVuYWJsZUFycmFuZ2U/OiBib29sZWFuO1xyXG4gIHJlcm91dGU/OiBib29sZWFuO1xyXG4gIGNvbmZpZz86IGJvb2xlYW47XHJcbiAgc29ja2V0VHlwZT86ICdkZWZhdWx0JyB8ICdjdXN0b20nO1xyXG4gIG5vZGVUeXBlPzogTm9kZVR5cGU7XHJcbiAgY29ubmVjdGlvblR5cGU/OiAnZGVmYXVsdCcgfCAnY3VzdG9tJztcclxuICBmaXRUb1ZpZXc/OiBib29sZWFuO1xyXG4gIHBhdGg/OiBQYXRoUGx1Z2luQ29uZmlnO1xyXG4gIG1pbmltYXA/OiB7XHJcbiAgICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgICBzaXplPzogbnVtYmVyO1xyXG4gICAgb3B0aW9ucz86XHJcbiAgICAgIHwge1xyXG4gICAgICAgICAgbWluRGlzdGFuY2U/OiBudW1iZXI7XHJcbiAgICAgICAgICByYXRpbz86IG51bWJlcjtcclxuICAgICAgICAgIGJvdW5kVmlld3BvcnQ/OiBib29sZWFuO1xyXG4gICAgICAgIH1cclxuICAgICAgfCB1bmRlZmluZWQ7XHJcbiAgfTtcclxuICBhcmVhPzoge1xyXG4gICAgcmVzdHJpY3Q6IGJvb2xlYW47XHJcbiAgICBzY2FsaW5nPzogeyBtaW46IG51bWJlcjsgbWF4OiBudW1iZXIgfTtcclxuICB9O1xyXG4gIG5vZGU/OiB7XHJcbiAgICBpc0xpbmtlZD86IGJvb2xlYW47XHJcbiAgICBjYW5SZW1vdmU/OiBib29sZWFuO1xyXG4gIH07XHJcbn07XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1jb25maWcudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvdHlwZXMvZGlhZ3JhbS1jb25maWcudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZUVkaXRvciB9IGZyb20gJ3JldGUnO1xyXG5pbXBvcnQgeyBQcmVzZXQgYXMgQXJyYW5nZVByZXNldCB9IGZyb20gJ3JldGUtYXV0by1hcnJhbmdlLXBsdWdpbic7XHJcbmltcG9ydCB7IE5vZGVUeXBlIH0gZnJvbSAnLi9ub2RlLnR5cGUnO1xyXG5pbXBvcnQgeyBQYXRoUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi9wYXRoLnR5cGUnO1xyXG5pbXBvcnQgeyBTY2hlbWVzIH0gZnJvbSAnLi9zY2hlbWVzLnR5cGUnO1xyXG5cclxuZXhwb3J0IHR5cGUgRGlhZ3JhbUNvbmZpZyA9IHtcclxuICByZWFkb25seT86IHtcclxuICAgIGFjdGl2ZTogYm9vbGVhbjtcclxuICAgIHdyYXBOb2Rlcz86IGJvb2xlYW47XHJcbiAgfTtcclxuICBlbmFibGVBcnJhbmdlPzogYm9vbGVhbjtcclxuICByZXJvdXRlPzogYm9vbGVhbjtcclxuICBjb25maWc/OiBib29sZWFuO1xyXG4gIHNvY2tldFR5cGU/OiAnZGVmYXVsdCcgfCAnY3VzdG9tJztcclxuICBub2RlVHlwZT86IE5vZGVUeXBlO1xyXG4gIGNvbm5lY3Rpb25UeXBlPzogJ2RlZmF1bHQnIHwgJ2N1c3RvbSc7XHJcbiAgZml0VG9WaWV3PzogYm9vbGVhbjtcclxuICBwYXRoPzogUGF0aFBsdWdpbkNvbmZpZztcclxuICBtaW5pbWFwPzoge1xyXG4gICAgYWN0aXZlOiBib29sZWFuO1xyXG4gICAgc2l6ZT86IG51bWJlcjtcclxuICAgIG9wdGlvbnM/OlxyXG4gICAgICB8IHtcclxuICAgICAgICAgIG1pbkRpc3RhbmNlPzogbnVtYmVyO1xyXG4gICAgICAgICAgcmF0aW8/OiBudW1iZXI7XHJcbiAgICAgICAgICBib3VuZFZpZXdwb3J0PzogYm9vbGVhbjtcclxuICAgICAgICB9XHJcbiAgICAgIHwgdW5kZWZpbmVkO1xyXG4gIH07XHJcbiAgYXJlYT86IHtcclxuICAgIHJlc3RyaWN0OiBib29sZWFuO1xyXG4gICAgc2NhbGluZz86IHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH07XHJcbiAgfTtcclxuICBub2RlPzoge1xyXG4gICAgaXNMaW5rZWQ/OiBib29sZWFuO1xyXG4gICAgY2FuUmVtb3ZlPzogYm9vbGVhbjtcclxuICB9O1xyXG4gIHByZXNldHM/OiB7XHJcbiAgICBhcnJhbmdlPzogKGVkaXRvcjogTm9kZUVkaXRvcjxTY2hlbWVzPikgPT4gQXJyYW5nZVByZXNldDtcclxuICB9O1xyXG59O1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1lZGl0b3IudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvdHlwZXMvZGlhZ3JhbS1lZGl0b3IudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCwgTm9kZUVkaXRvciB9IGZyb20gJ3JldGUnO1xyXG5pbXBvcnQgeyBBbmd1bGFyQXJlYTJEIH0gZnJvbSAncmV0ZS1hbmd1bGFyLXBsdWdpbic7XHJcbmltcG9ydCB7IEFyZWFQbHVnaW4gfSBmcm9tICdyZXRlLWFyZWEtcGx1Z2luJztcclxuaW1wb3J0IHsgQXV0b0FycmFuZ2VQbHVnaW4gfSBmcm9tICdyZXRlLWF1dG8tYXJyYW5nZS1wbHVnaW4nO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uUGx1Z2luIH0gZnJvbSAncmV0ZS1jb25uZWN0aW9uLXBsdWdpbic7XHJcbmltcG9ydCB7IFJlcm91dGVFeHRyYSwgUmVyb3V0ZVBsdWdpbiB9IGZyb20gJ3JldGUtY29ubmVjdGlvbi1yZXJvdXRlLXBsdWdpbic7XHJcbmltcG9ydCB7IE1pbmltYXBFeHRyYSB9IGZyb20gJ3JldGUtbWluaW1hcC1wbHVnaW4nO1xyXG5pbXBvcnQgeyBSZWFkb25seVBsdWdpbiB9IGZyb20gJ3JldGUtcmVhZG9ubHktcGx1Z2luJztcclxuaW1wb3J0IHsgQXJyYW5nZVByb3BzIH0gZnJvbSAnLi9sYXlvdXQudHlwZSc7XHJcbmltcG9ydCB7IFNjaGVtZXMgfSBmcm9tICcuL3NjaGVtZXMudHlwZSc7XHJcblxyXG5leHBvcnQgdHlwZSBEaWFncmFtRWRpdG9yV2l0aFBsdWdpbnMgPSB7XHJcbiAgZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+O1xyXG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XHJcbiAgbGF5b3V0OiAocHJvcHM/OiBBcnJhbmdlUHJvcHMpID0+IHZvaWQ7XHJcbiAgZml0VG9ab29tOiAoKSA9PiB2b2lkO1xyXG4gIHNvY2tldDogQ2xhc3NpY1ByZXNldC5Tb2NrZXQ7XHJcbiAgcGx1Z2luczoge1xyXG4gICAgYXJlYTogQXJlYVBsdWdpbjxTY2hlbWVzLCBBcmVhRXh0cmE+O1xyXG4gICAgY29ubmVjdGlvbjogQ29ubmVjdGlvblBsdWdpbjxTY2hlbWVzLCBBcmVhRXh0cmE+O1xyXG4gICAgYXJyYW5nZTogQXV0b0FycmFuZ2VQbHVnaW48U2NoZW1lcywgbmV2ZXI+O1xyXG4gICAgcmVyb3V0ZTogUmVyb3V0ZVBsdWdpbjxTY2hlbWVzPjtcclxuXHJcbiAgICByZWFkb25seTogUmVhZG9ubHlQbHVnaW48U2NoZW1lcz47XHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFyZWFFeHRyYSA9IEFuZ3VsYXJBcmVhMkQ8U2NoZW1lcz4gfCBSZXJvdXRlRXh0cmEgfCBNaW5pbWFwRXh0cmE7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1lZGl0b3IudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvdHlwZXMvZGlhZ3JhbS1lZGl0b3IudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZUVkaXRvciB9IGZyb20gJ3JldGUnO1xyXG5pbXBvcnQgeyBBbmd1bGFyQXJlYTJEIH0gZnJvbSAncmV0ZS1hbmd1bGFyLXBsdWdpbic7XHJcbmltcG9ydCB7IEFyZWFQbHVnaW4gfSBmcm9tICdyZXRlLWFyZWEtcGx1Z2luJztcclxuaW1wb3J0IHsgQXV0b0FycmFuZ2VQbHVnaW4gfSBmcm9tICdyZXRlLWF1dG8tYXJyYW5nZS1wbHVnaW4nO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uUGx1Z2luIH0gZnJvbSAncmV0ZS1jb25uZWN0aW9uLXBsdWdpbic7XHJcbmltcG9ydCB7IFJlcm91dGVFeHRyYSwgUmVyb3V0ZVBsdWdpbiB9IGZyb20gJ3JldGUtY29ubmVjdGlvbi1yZXJvdXRlLXBsdWdpbic7XHJcbmltcG9ydCB7IE1pbmltYXBFeHRyYSB9IGZyb20gJ3JldGUtbWluaW1hcC1wbHVnaW4nO1xyXG5pbXBvcnQgeyBSZWFkb25seVBsdWdpbiB9IGZyb20gJ3JldGUtcmVhZG9ubHktcGx1Z2luJztcclxuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXJyYW5nZVByb3BzIH0gZnJvbSAnLi9sYXlvdXQudHlwZSc7XHJcbmltcG9ydCB7IFNjaGVtZXMgfSBmcm9tICcuL3NjaGVtZXMudHlwZSc7XHJcblxyXG5leHBvcnQgdHlwZSBEaWFncmFtRWRpdG9yV2l0aFBsdWdpbnMgPSB7XHJcblx0ZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+O1xyXG5cdGRlc3Ryb3k6ICgpID0+IHZvaWQ7XHJcblx0bGF5b3V0OiAocHJvcHM/OiBBcnJhbmdlUHJvcHMpID0+IHZvaWQ7XHJcblx0Zml0VG9ab29tOiAoKSA9PiB2b2lkO1xyXG5cdHNvY2tldDogU29ja2V0O1xyXG5cdHBsdWdpbnM6IHtcclxuXHRcdGFyZWE6IEFyZWFQbHVnaW48U2NoZW1lcywgQXJlYUV4dHJhPjtcclxuXHRcdGNvbm5lY3Rpb246IENvbm5lY3Rpb25QbHVnaW48U2NoZW1lcywgQXJlYUV4dHJhPjtcclxuXHRcdGFycmFuZ2U6IEF1dG9BcnJhbmdlUGx1Z2luPFNjaGVtZXMsIG5ldmVyPjtcclxuXHRcdHJlcm91dGU6IFJlcm91dGVQbHVnaW48U2NoZW1lcz47XHJcblx0XHRyZWFkb25seTogUmVhZG9ubHlQbHVnaW48U2NoZW1lcz47XHJcblx0fTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFyZWFFeHRyYSA9IEFuZ3VsYXJBcmVhMkQ8U2NoZW1lcz4gfCBSZXJvdXRlRXh0cmEgfCBNaW5pbWFwRXh0cmE7XHJcbiJdfQ==
@@ -1,4 +1,6 @@
1
1
  export * from './common.type';
2
+ export * from './connection-config.type';
3
+ export * from './connection-label.type';
2
4
  export * from './customization.type';
3
5
  export * from './diagram-config.type';
4
6
  export * from './diagram-editor.type';
@@ -6,9 +8,11 @@ export * from './emitter-type';
6
8
  export * from './layout.type';
7
9
  export * from './node-content';
8
10
  export * from './node-definition';
11
+ export * from './node-status.type';
9
12
  export * from './node.type';
10
13
  export * from './notify-event.type';
11
14
  export * from './path.type';
15
+ export * from './ports-config.type';
12
16
  export * from './schemes.type';
13
- export * from './node-status.type';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21tb24udHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9taXphdGlvbi50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtLWNvbmZpZy50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtLWVkaXRvci50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbWl0dGVyLXR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xheW91dC50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWNvbnRlbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vZGUtZGVmaW5pdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZnktZXZlbnQudHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWVzLnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vZGUtc3RhdHVzLnR5cGUnXHJcbiJdfQ==
17
+ export * from './socket.type';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21tb24udHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbi1jb25maWcudHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbi1sYWJlbC50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jdXN0b21pemF0aW9uLnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWdyYW0tY29uZmlnLnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWdyYW0tZWRpdG9yLnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VtaXR0ZXItdHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0LnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vZGUtY29udGVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1kZWZpbml0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLXN0YXR1cy50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmeS1ldmVudC50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wYXRoLnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BvcnRzLWNvbmZpZy50eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWVzLnR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvY2tldC50eXBlJztcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy90eXBlcy9ub2RlLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvblR5cGUgfSBmcm9tICcuL2NvbW1vbi50eXBlJztcclxuaW1wb3J0IHsgRGlhZ3JhbUNvbmZpZyB9IGZyb20gJy4vZGlhZ3JhbS1jb25maWcudHlwZSc7XHJcbmltcG9ydCB7IE5vZGVDb250ZW50IH0gZnJvbSAnLi9ub2RlLWNvbnRlbnQnO1xyXG5pbXBvcnQgeyBOb2RlVHlwZSB9IGZyb20gJy4vbm9kZS50eXBlJztcclxuXHJcbmV4cG9ydCB0eXBlIE5vZGVEZWZpbml0aW9uRGF0YTxUID0gYW55PiA9IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgdHlwZTogTm9kZVR5cGU7XHJcbiAgc3RhdHVzPzogYW55O1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIGhlaWdodD86IG51bWJlcjtcclxuICBjb250ZW50PzogTm9kZUNvbnRlbnQ8VD47XHJcbiAgY29uZmlnPzogRGlhZ3JhbUNvbmZpZ1snbm9kZSddO1xyXG4gIGRpcmVjdGlvbnM/OiBSZWNvcmQ8J2lucHV0cycgfCAnb3V0cHV0cycsIERpcmVjdGlvblR5cGU+O1xyXG4gIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBzdHlsZUNsYXNzPzogc3RyaW5nO1xyXG59O1xyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy90eXBlcy9ub2RlLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvblR5cGUgfSBmcm9tICcuL2NvbW1vbi50eXBlJztcclxuaW1wb3J0IHsgRGlhZ3JhbUNvbmZpZyB9IGZyb20gJy4vZGlhZ3JhbS1jb25maWcudHlwZSc7XHJcbmltcG9ydCB7IE5vZGVDb250ZW50IH0gZnJvbSAnLi9ub2RlLWNvbnRlbnQnO1xyXG5pbXBvcnQgeyBOb2RlVHlwZSB9IGZyb20gJy4vbm9kZS50eXBlJztcclxuXHJcbmV4cG9ydCB0eXBlIE5vZGVEZWZpbml0aW9uRGF0YTxUID0gYW55PiA9IHtcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdG5hbWU/OiBzdHJpbmc7XHJcblx0ZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcblx0dHlwZTogTm9kZVR5cGU7XHJcblx0c3RhdHVzPzogYW55O1xyXG5cdHdpZHRoPzogbnVtYmVyO1xyXG5cdGhlaWdodD86IG51bWJlcjtcclxuXHRjb250ZW50PzogTm9kZUNvbnRlbnQ8VD47XHJcblx0Y29uZmlnPzogRGlhZ3JhbUNvbmZpZ1snbm9kZSddO1xyXG5cdGRpcmVjdGlvbnM/OiBSZWNvcmQ8J2lucHV0cycgfCAnb3V0cHV0cycsIERpcmVjdGlvblR5cGU+O1xyXG5cdHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRzdHlsZUNsYXNzPzogc3RyaW5nO1xyXG5cdG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59O1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy90eXBlcy9wYXRoLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnZlRmFjdG9yeSB9IGZyb20gJ2QzLXNoYXBlJztcclxuXHJcbmV4cG9ydCB0eXBlIFBhdGhQbHVnaW5Db25maWcgPSB7XHJcbiAgdmVydGljYWw/OiBib29sZWFuO1xyXG4gIGN1cnZlPzogQ3VydmVGYWN0b3J5O1xyXG4gIGN1cnZhdHVyZT86IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBhcnJvdz86XHJcbiAgICB8IGJvb2xlYW5cclxuICAgIHwge1xyXG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xyXG4gICAgICAgIG1hcmtlcj86IHN0cmluZztcclxuICAgICAgfTtcclxuICB0cmFuc2Zvcm0/OiB7XHJcbiAgICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgICBvcHRpb25zPzogeyBtdWx0aVBvaW50cz86IGJvb2xlYW47IG9mZnNldD86IG51bWJlciB9O1xyXG4gIH07XHJcbn07XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy90eXBlcy9wYXRoLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnZlRmFjdG9yeSB9IGZyb20gJ2QzLXNoYXBlJztcclxuXHJcbmV4cG9ydCB0eXBlIFBhdGhQbHVnaW5Db25maWcgPSB7XHJcblx0dmVydGljYWw/OiBib29sZWFuO1xyXG5cdGN1cnZlPzogQ3VydmVGYWN0b3J5O1xyXG5cdGRpcmVjdGlvbj86ICdmb3J3YXJkJyB8ICdiYWNrd2FyZCcgfCAnYm90aCc7XHJcblx0Y3VydmF0dXJlPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG5cdGFycm93PzpcclxuXHRcdHwgYm9vbGVhblxyXG5cdFx0fCB7XHJcblx0XHRcdFx0Y29sb3I/OiBzdHJpbmc7XHJcblx0XHRcdFx0bWFya2VyPzogc3RyaW5nO1xyXG5cdFx0ICB9O1xyXG5cdHRyYW5zZm9ybT86IHtcclxuXHRcdGFjdGl2ZTogYm9vbGVhbjtcclxuXHRcdG9wdGlvbnM/OiB7IG11bHRpUG9pbnRzPzogYm9vbGVhbjsgb2Zmc2V0PzogbnVtYmVyIH07XHJcblx0fTtcclxufTtcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydHMtY29uZmlnLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3R5cGVzL3BvcnRzLWNvbmZpZy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFBvcnRDb25maWcgPSB7XHJcblx0bGFiZWw/OiBzdHJpbmc7XHJcblx0bXVsdGlwbGVDb25uZWN0aW9ucz86IGJvb2xlYW47XHJcblx0c3R5bGVDbGFzcz86IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBvcnRNb2RlbENvbmZpZzxTPiA9IHtcclxuXHRzb2NrZXQ6IFM7XHJcbn0gJiBQb3J0Q29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgSW5wdXRDb25maWdUeXBlID0gUG9ydENvbmZpZztcclxuZXhwb3J0IHR5cGUgT3V0cHV0Q29uZmlnVHlwZSA9IFBvcnRDb25maWc7XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3R5cGVzL3NvY2tldC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTb2NrZXRDb25maWcgPSB7XHJcblx0bmFtZTogc3RyaW5nO1xyXG5cdHJlbmRlclR5cGU6ICdkZWZhdWx0JyB8ICdjdXN0b20nO1xyXG5cdHN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcbn07XHJcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ export class DiagramUtils {
2
+ static createInputId(id, type = 'primary') {
3
+ return `${id}-${type}-input`;
4
+ }
5
+ static createOutputId(id, type = 'primary') {
6
+ return `${id}-${type}-output`;
7
+ }
8
+ static createInputClass(type = 'primary') {
9
+ return `input-${type}-port`;
10
+ }
11
+ static createOutputClass(type = 'primary') {
12
+ return `output-${type}-port`;
13
+ }
14
+ static createOutputsConfig(id, types) {
15
+ return types.map((type) => {
16
+ return {
17
+ id: DiagramUtils.createOutputId(id, type),
18
+ config: {
19
+ styleClass: DiagramUtils.createOutputClass(type)
20
+ }
21
+ };
22
+ });
23
+ }
24
+ static createInputsConfig(id, types) {
25
+ return types.map((type) => {
26
+ return {
27
+ id: DiagramUtils.createInputId(id, type),
28
+ config: {
29
+ styleClass: DiagramUtils.createInputClass(type)
30
+ }
31
+ };
32
+ });
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy91dGlsaXRpZXMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxZQUFZO0lBRXhCLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBVSxFQUFFLE9BQWlCLFNBQVM7UUFDMUQsT0FBTyxHQUFHLEVBQUUsSUFBSSxJQUFJLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFVLEVBQUUsT0FBaUIsU0FBUztRQUMzRCxPQUFPLEdBQUcsRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBaUIsU0FBUztRQUNqRCxPQUFPLFNBQVMsSUFBSSxPQUFPLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFpQixTQUFTO1FBQ2xELE9BQU8sVUFBVSxJQUFJLE9BQU8sQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQVUsRUFBRSxLQUFpQjtRQUN2RCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN6QixPQUFPO2dCQUNOLEVBQUUsRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRTtvQkFDUCxVQUFVLEVBQUUsWUFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztpQkFDaEQ7YUFDRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEVBQVUsRUFBRSxLQUFpQjtRQUN0RCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN6QixPQUFPO2dCQUNOLEVBQUUsRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7Z0JBQ3hDLE1BQU0sRUFBRTtvQkFDUCxVQUFVLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztpQkFDL0M7YUFDRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0VHlwZSB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEaWFncmFtVXRpbHMge1xyXG5cclxuXHRzdGF0aWMgY3JlYXRlSW5wdXRJZChpZDogc3RyaW5nLCB0eXBlOiBQb3J0VHlwZSA9ICdwcmltYXJ5Jykge1xyXG5cdFx0cmV0dXJuIGAke2lkfS0ke3R5cGV9LWlucHV0YDtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBjcmVhdGVPdXRwdXRJZChpZDogc3RyaW5nLCB0eXBlOiBQb3J0VHlwZSA9ICdwcmltYXJ5Jykge1xyXG5cdFx0cmV0dXJuIGAke2lkfS0ke3R5cGV9LW91dHB1dGA7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgY3JlYXRlSW5wdXRDbGFzcyh0eXBlOiBQb3J0VHlwZSA9ICdwcmltYXJ5Jykge1xyXG5cdFx0cmV0dXJuIGBpbnB1dC0ke3R5cGV9LXBvcnRgO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGNyZWF0ZU91dHB1dENsYXNzKHR5cGU6IFBvcnRUeXBlID0gJ3ByaW1hcnknKSB7XHJcblx0XHRyZXR1cm4gYG91dHB1dC0ke3R5cGV9LXBvcnRgO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGNyZWF0ZU91dHB1dHNDb25maWcoaWQ6IHN0cmluZywgdHlwZXM6IFBvcnRUeXBlW10pIHtcclxuXHRcdHJldHVybiB0eXBlcy5tYXAoKHR5cGUpID0+IHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRpZDogRGlhZ3JhbVV0aWxzLmNyZWF0ZU91dHB1dElkKGlkLCB0eXBlKSxcclxuXHRcdFx0XHRjb25maWc6IHtcclxuXHRcdFx0XHRcdHN0eWxlQ2xhc3M6IERpYWdyYW1VdGlscy5jcmVhdGVPdXRwdXRDbGFzcyh0eXBlKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGNyZWF0ZUlucHV0c0NvbmZpZyhpZDogc3RyaW5nLCB0eXBlczogUG9ydFR5cGVbXSkge1xyXG5cdFx0cmV0dXJuIHR5cGVzLm1hcCgodHlwZSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGlkOiBEaWFncmFtVXRpbHMuY3JlYXRlSW5wdXRJZChpZCwgdHlwZSksXHJcblx0XHRcdFx0Y29uZmlnOiB7XHJcblx0XHRcdFx0XHRzdHlsZUNsYXNzOiBEaWFncmFtVXRpbHMuY3JlYXRlSW5wdXRDbGFzcyh0eXBlKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fTtcclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -1,3 +1,5 @@
1
+ export * from './common';
2
+ export * from './random';
1
3
  export * from './remove.util';
2
4
  export * from './serialize';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3V0aWxpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLnV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcmlhbGl6ZSc7XHJcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3V0aWxpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9yYW5kb20nO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZS51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJpYWxpemUnO1xyXG4iXX0=
@@ -0,0 +1,11 @@
1
+ export function getRandomNumber(x, y, step = 1, min = 0, max = 1000) {
2
+ // Create a deterministic seed based on x and y
3
+ const seed = Math.abs(x * 31 + y * 17) % 100000;
4
+ // Generate a pseudo-random number based on the seed
5
+ const seededRandom = ((seed * 9301 + 49297) % 233280) / 233280;
6
+ // Calculate range
7
+ const range = Math.floor((max - min) / step) + 1;
8
+ // Return the adjusted number
9
+ return min + Math.floor(seededRandom * range) * step;
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy91dGlsaXRpZXMvcmFuZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxlQUFlLENBQzlCLENBQVMsRUFDVCxDQUFTLEVBQ1QsSUFBSSxHQUFHLENBQUMsRUFDUixHQUFHLEdBQUcsQ0FBQyxFQUNQLEdBQUcsR0FBRyxJQUFJO0lBRVYsK0NBQStDO0lBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBRWhELG9EQUFvRDtJQUNwRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7SUFFL0Qsa0JBQWtCO0lBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpELDZCQUE2QjtJQUM3QixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRSYW5kb21OdW1iZXIoXHJcblx0eDogbnVtYmVyLFxyXG5cdHk6IG51bWJlcixcclxuXHRzdGVwID0gMSxcclxuXHRtaW4gPSAwLFxyXG5cdG1heCA9IDEwMDBcclxuKSB7XHJcblx0Ly8gQ3JlYXRlIGEgZGV0ZXJtaW5pc3RpYyBzZWVkIGJhc2VkIG9uIHggYW5kIHlcclxuXHRjb25zdCBzZWVkID0gTWF0aC5hYnMoeCAqIDMxICsgeSAqIDE3KSAlIDEwMDAwMDtcclxuXHJcblx0Ly8gR2VuZXJhdGUgYSBwc2V1ZG8tcmFuZG9tIG51bWJlciBiYXNlZCBvbiB0aGUgc2VlZFxyXG5cdGNvbnN0IHNlZWRlZFJhbmRvbSA9ICgoc2VlZCAqIDkzMDEgKyA0OTI5NykgJSAyMzMyODApIC8gMjMzMjgwO1xyXG5cclxuXHQvLyBDYWxjdWxhdGUgcmFuZ2VcclxuXHRjb25zdCByYW5nZSA9IE1hdGguZmxvb3IoKG1heCAtIG1pbikgLyBzdGVwKSArIDE7XHJcblxyXG5cdC8vIFJldHVybiB0aGUgYWRqdXN0ZWQgbnVtYmVyXHJcblx0cmV0dXJuIG1pbiArIE1hdGguZmxvb3Ioc2VlZGVkUmFuZG9tICogcmFuZ2UpICogc3RlcDtcclxufVxyXG4iXX0=
@@ -89,7 +89,7 @@ const _updateConnections = (outputs, inputs, editor) => __awaiter(void 0, void 0
89
89
  if (!sourceNode || !targetNode) {
90
90
  return;
91
91
  }
92
- const connection = new Connection(sourceNode, `${sourceNode.id}-output`, targetNode, `${targetNode.id}-input`);
92
+ const connection = new Connection(sourceNode, targetNode);
93
93
  yield editor.addConnection(connection);
94
94
  });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3V0aWxpdGllcy9yZW1vdmUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLElBQXdCLEVBQ3hCLE1BQTJCLEVBQzNCLEVBQUU7SUFDRixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixPQUFPO0tBQ1I7SUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFekMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNyRCxPQUFPO0tBQ1I7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRS9CLE9BQU8sQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsUUFBUTtRQUN6QixDQUFDLENBQUMsTUFBTSwrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQ3JELENBQUMsQ0FBQyxNQUFNLHdCQUF3QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUEsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxJQUFtQixFQUNuQixNQUEyQixFQUMzQixFQUFFO0lBQ0YsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFBLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSwrQkFBK0IsR0FBRyxDQUN0QyxJQUFtQixFQUNuQixNQUEyQixFQUMzQixFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUM1QixNQUFNLEVBQ04sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FDN0MsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FDM0IsTUFBTSxFQUNOLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQzdDLENBQUM7SUFFRixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ3ZDLE1BQU0sa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNuRDtTQUFNO1FBQ0wsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUEsQ0FBQztBQUNGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixJQUFtQixFQUNuQixNQUEyQixFQUMzQixFQUFFO0lBQ0YsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUNoQyxNQUFNLEVBQ04sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNiLFVBQVUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBQUUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQ2pFLENBQUM7SUFFRixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7UUFDdEIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7S0FDSjtBQUNILENBQUMsQ0FBQztBQUNGOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLE1BQTJCLEVBQzNCLFNBQThDLEVBQzlDLEVBQUU7SUFDRixPQUFPLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBQ0Y7Ozs7O0dBS0c7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLE9BQXFCLEVBQ3JCLE1BQW9CLEVBQ3BCLE1BQTJCLEVBQzNCLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFakMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQWtCLENBQUM7SUFDM0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQWtCLENBQUM7SUFFM0QsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFPLFVBQVUsRUFBRSxFQUFFO1FBQ25ELE1BQU0sTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUM5QixPQUFPO0tBQ1I7SUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FDL0IsVUFBVSxFQUNWLEdBQUcsVUFBVSxDQUFDLEVBQUUsU0FBUyxFQUN6QixVQUFVLEVBQ1YsR0FBRyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQ3pCLENBQUM7SUFFRixNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlRWRpdG9yIH0gZnJvbSAncmV0ZSc7XHJcbmltcG9ydCB7IE5PREVfVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEJhc2VOb2RlQ2xhc3MsIENvbm5lY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTY2hlbWVzIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBub2RlXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgcmVtb3ZlTm9kZSA9IGFzeW5jIChcclxuICBkYXRhOiB7IG5vZGVJZDogc3RyaW5nIH0sXHJcbiAgZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+XHJcbikgPT4ge1xyXG4gIGlmICghZGF0YSB8fCAhZWRpdG9yKSB7XHJcbiAgICBjb25zb2xlLmxvZygnTm9kZSBub3QgZm91bmQuJyk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGNvbnN0IG5vZGVzID0gZWRpdG9yLmdldE5vZGVzKCk7XHJcbiAgY29uc3Qgbm9kZSA9IGVkaXRvci5nZXROb2RlKGRhdGEubm9kZUlkKTtcclxuXHJcbiAgaWYgKCFub2RlKSB7XHJcbiAgICBjb25zb2xlLmxvZygnTm9kZSBub3QgZm91bmQuJyk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBpZiAobm9kZS50eXBlID09PSBOT0RFX1RZUEUuc3RhcnQgJiYgbm9kZXMubGVuZ3RoID4gMSkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgbm9kZUNvbmZpZyA9IG5vZGUuY29uZmlnO1xyXG5cclxuICByZXR1cm4gbm9kZUNvbmZpZz8uaXNMaW5rZWRcclxuICAgID8gYXdhaXQgcmVtb3ZlTm9kZUFuZFJlcGxhY2VDb25uZWN0aW9ucyhub2RlLCBlZGl0b3IpXHJcbiAgICA6IGF3YWl0IHJlbW92ZU5vZGVBbmRDb25uZWN0aW9ucyhub2RlLCBlZGl0b3IpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBub2RlXHJcbiAqIEBwYXJhbSBlZGl0b3JcclxuICovXHJcbmV4cG9ydCBjb25zdCByZW1vdmVOb2RlQW5kQ29ubmVjdGlvbnMgPSBhc3luYyAoXHJcbiAgbm9kZTogQmFzZU5vZGVDbGFzcyxcclxuICBlZGl0b3I6IE5vZGVFZGl0b3I8U2NoZW1lcz5cclxuKSA9PiB7XHJcbiAgcmVtb3ZlQ29ubmVjdGlvbnMobm9kZSwgZWRpdG9yKTtcclxuICBhd2FpdCBlZGl0b3IucmVtb3ZlTm9kZShub2RlLmlkKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gbm9kZVxyXG4gKiBAcGFyYW0gZWRpdG9yXHJcbiAqL1xyXG5jb25zdCByZW1vdmVOb2RlQW5kUmVwbGFjZUNvbm5lY3Rpb25zID0gYXN5bmMgKFxyXG4gIG5vZGU6IEJhc2VOb2RlQ2xhc3MsXHJcbiAgZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+XHJcbikgPT4ge1xyXG4gIGNvbnN0IG91dHB1dHMgPSBnZXRDb25uZWN0aW9ucyhcclxuICAgIGVkaXRvcixcclxuICAgIChjb25uZWN0aW9uKSA9PiBjb25uZWN0aW9uLnNvdXJjZSA9PSBub2RlLmlkXHJcbiAgKTtcclxuICBjb25zdCBpbnB1dHMgPSBnZXRDb25uZWN0aW9ucyhcclxuICAgIGVkaXRvcixcclxuICAgIChjb25uZWN0aW9uKSA9PiBjb25uZWN0aW9uLnRhcmdldCA9PSBub2RlLmlkXHJcbiAgKTtcclxuXHJcbiAgaWYgKCEhaW5wdXRzLmxlbmd0aCAmJiAhIW91dHB1dHMubGVuZ3RoKSB7XHJcbiAgICBhd2FpdCBfdXBkYXRlQ29ubmVjdGlvbnMob3V0cHV0cywgaW5wdXRzLCBlZGl0b3IpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZW1vdmVDb25uZWN0aW9ucyhub2RlLCBlZGl0b3IpO1xyXG4gIH1cclxuXHJcbiAgYXdhaXQgZWRpdG9yLnJlbW92ZU5vZGUobm9kZS5pZCk7XHJcbn07XHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gbm9kZVxyXG4gKiBAcGFyYW0gZWRpdG9yXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgcmVtb3ZlQ29ubmVjdGlvbnMgPSAoXHJcbiAgbm9kZTogQmFzZU5vZGVDbGFzcyxcclxuICBlZGl0b3I6IE5vZGVFZGl0b3I8U2NoZW1lcz5cclxuKSA9PiB7XHJcbiAgY29uc3QgY29ubmVjdGlvbnMgPSBnZXRDb25uZWN0aW9ucyhcclxuICAgIGVkaXRvcixcclxuICAgIChjb25uZWN0aW9uKSA9PlxyXG4gICAgICBjb25uZWN0aW9uLnNvdXJjZSA9PT0gbm9kZS5pZCB8fCBjb25uZWN0aW9uLnRhcmdldCA9PT0gbm9kZS5pZFxyXG4gICk7XHJcblxyXG4gIGlmIChjb25uZWN0aW9ucy5sZW5ndGgpIHtcclxuICAgIGNvbm5lY3Rpb25zLmZvckVhY2goKGNvbm5lY3Rpb24pID0+IHtcclxuICAgICAgZWRpdG9yLnJlbW92ZUNvbm5lY3Rpb24oY29ubmVjdGlvbi5pZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gZWRpdG9yXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGVcclxuICogQHJldHVybnNcclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRDb25uZWN0aW9ucyA9IChcclxuICBlZGl0b3I6IE5vZGVFZGl0b3I8U2NoZW1lcz4sXHJcbiAgcHJlZGljYXRlOiAoY29ubmVjdGlvbjogQ29ubmVjdGlvbikgPT4gYm9vbGVhblxyXG4pID0+IHtcclxuICByZXR1cm4gZWRpdG9yLmdldENvbm5lY3Rpb25zKCkuZmlsdGVyKHByZWRpY2F0ZSk7XHJcbn07XHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gb3V0cHV0c1xyXG4gKiBAcGFyYW0gaW5wdXRzXHJcbiAqIEBwYXJhbSBlZGl0b3JcclxuICovXHJcbmNvbnN0IF91cGRhdGVDb25uZWN0aW9ucyA9IGFzeW5jIChcclxuICBvdXRwdXRzOiBDb25uZWN0aW9uW10sXHJcbiAgaW5wdXRzOiBDb25uZWN0aW9uW10sXHJcbiAgZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+XHJcbikgPT4ge1xyXG4gIGNvbnN0IHNvdXJjZSA9IGlucHV0c1swXS5zb3VyY2U7XHJcbiAgY29uc3QgdGFyZ2V0ID0gb3V0cHV0c1swXS50YXJnZXQ7XHJcblxyXG4gIGNvbnN0IHNvdXJjZU5vZGUgPSBlZGl0b3IuZ2V0Tm9kZShzb3VyY2UpIGFzIEJhc2VOb2RlQ2xhc3M7XHJcbiAgY29uc3QgdGFyZ2V0Tm9kZSA9IGVkaXRvci5nZXROb2RlKHRhcmdldCkgYXMgQmFzZU5vZGVDbGFzcztcclxuXHJcbiAgWy4uLm91dHB1dHMsIC4uLmlucHV0c10uZm9yRWFjaChhc3luYyAoY29ubmVjdGlvbikgPT4ge1xyXG4gICAgYXdhaXQgZWRpdG9yLnJlbW92ZUNvbm5lY3Rpb24oY29ubmVjdGlvbi5pZCk7XHJcbiAgfSk7XHJcblxyXG4gIGlmICghc291cmNlTm9kZSB8fCAhdGFyZ2V0Tm9kZSkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBjb25zdCBjb25uZWN0aW9uID0gbmV3IENvbm5lY3Rpb24oXHJcbiAgICBzb3VyY2VOb2RlLFxyXG4gICAgYCR7c291cmNlTm9kZS5pZH0tb3V0cHV0YCxcclxuICAgIHRhcmdldE5vZGUsXHJcbiAgICBgJHt0YXJnZXROb2RlLmlkfS1pbnB1dGBcclxuICApO1xyXG5cclxuICBhd2FpdCBlZGl0b3IuYWRkQ29ubmVjdGlvbihjb25uZWN0aW9uKTtcclxufTtcclxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3V0aWxpdGllcy9yZW1vdmUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLElBQXdCLEVBQ3hCLE1BQTJCLEVBQzNCLEVBQUU7SUFDRixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixPQUFPO0tBQ1I7SUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFekMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNyRCxPQUFPO0tBQ1I7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRS9CLE9BQU8sQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsUUFBUTtRQUN6QixDQUFDLENBQUMsTUFBTSwrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1FB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QixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUM5QixPQUFPO0tBQ1I7SUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FDL0IsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0lBRUYsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZUVkaXRvciB9IGZyb20gJ3JldGUnO1xyXG5pbXBvcnQgeyBOT0RFX1RZUEUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlTm9kZUNsYXNzLCBDb25uZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2NoZW1lcyB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gbm9kZVxyXG4gKiBAcmV0dXJuc1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHJlbW92ZU5vZGUgPSBhc3luYyAoXHJcbiAgZGF0YTogeyBub2RlSWQ6IHN0cmluZyB9LFxyXG4gIGVkaXRvcjogTm9kZUVkaXRvcjxTY2hlbWVzPlxyXG4pID0+IHtcclxuICBpZiAoIWRhdGEgfHwgIWVkaXRvcikge1xyXG4gICAgY29uc29sZS5sb2coJ05vZGUgbm90IGZvdW5kLicpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBjb25zdCBub2RlcyA9IGVkaXRvci5nZXROb2RlcygpO1xyXG4gIGNvbnN0IG5vZGUgPSBlZGl0b3IuZ2V0Tm9kZShkYXRhLm5vZGVJZCk7XHJcblxyXG4gIGlmICghbm9kZSkge1xyXG4gICAgY29uc29sZS5sb2coJ05vZGUgbm90IGZvdW5kLicpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgaWYgKG5vZGUudHlwZSA9PT0gTk9ERV9UWVBFLnN0YXJ0ICYmIG5vZGVzLmxlbmd0aCA+IDEpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGNvbnN0IG5vZGVDb25maWcgPSBub2RlLmNvbmZpZztcclxuXHJcbiAgcmV0dXJuIG5vZGVDb25maWc/LmlzTGlua2VkXHJcbiAgICA/IGF3YWl0IHJlbW92ZU5vZGVBbmRSZXBsYWNlQ29ubmVjdGlvbnMobm9kZSwgZWRpdG9yKVxyXG4gICAgOiBhd2FpdCByZW1vdmVOb2RlQW5kQ29ubmVjdGlvbnMobm9kZSwgZWRpdG9yKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gbm9kZVxyXG4gKiBAcGFyYW0gZWRpdG9yXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgcmVtb3ZlTm9kZUFuZENvbm5lY3Rpb25zID0gYXN5bmMgKFxyXG4gIG5vZGU6IEJhc2VOb2RlQ2xhc3MsXHJcbiAgZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+XHJcbikgPT4ge1xyXG4gIHJlbW92ZUNvbm5lY3Rpb25zKG5vZGUsIGVkaXRvcik7XHJcbiAgYXdhaXQgZWRpdG9yLnJlbW92ZU5vZGUobm9kZS5pZCk7XHJcbn07XHJcblxyXG4vKipcclxuICpcclxuICogQHBhcmFtIG5vZGVcclxuICogQHBhcmFtIGVkaXRvclxyXG4gKi9cclxuY29uc3QgcmVtb3ZlTm9kZUFuZFJlcGxhY2VDb25uZWN0aW9ucyA9IGFzeW5jIChcclxuICBub2RlOiBCYXNlTm9kZUNsYXNzLFxyXG4gIGVkaXRvcjogTm9kZUVkaXRvcjxTY2hlbWVzPlxyXG4pID0+IHtcclxuICBjb25zdCBvdXRwdXRzID0gZ2V0Q29ubmVjdGlvbnMoXHJcbiAgICBlZGl0b3IsXHJcbiAgICAoY29ubmVjdGlvbikgPT4gY29ubmVjdGlvbi5zb3VyY2UgPT0gbm9kZS5pZFxyXG4gICk7XHJcbiAgY29uc3QgaW5wdXRzID0gZ2V0Q29ubmVjdGlvbnMoXHJcbiAgICBlZGl0b3IsXHJcbiAgICAoY29ubmVjdGlvbikgPT4gY29ubmVjdGlvbi50YXJnZXQgPT0gbm9kZS5pZFxyXG4gICk7XHJcblxyXG4gIGlmICghIWlucHV0cy5sZW5ndGggJiYgISFvdXRwdXRzLmxlbmd0aCkge1xyXG4gICAgYXdhaXQgX3VwZGF0ZUNvbm5lY3Rpb25zKG91dHB1dHMsIGlucHV0cywgZWRpdG9yKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmVtb3ZlQ29ubmVjdGlvbnMobm9kZSwgZWRpdG9yKTtcclxuICB9XHJcblxyXG4gIGF3YWl0IGVkaXRvci5yZW1vdmVOb2RlKG5vZGUuaWQpO1xyXG59O1xyXG4vKipcclxuICpcclxuICogQHBhcmFtIG5vZGVcclxuICogQHBhcmFtIGVkaXRvclxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHJlbW92ZUNvbm5lY3Rpb25zID0gKFxyXG4gIG5vZGU6IEJhc2VOb2RlQ2xhc3MsXHJcbiAgZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+XHJcbikgPT4ge1xyXG4gIGNvbnN0IGNvbm5lY3Rpb25zID0gZ2V0Q29ubmVjdGlvbnMoXHJcbiAgICBlZGl0b3IsXHJcbiAgICAoY29ubmVjdGlvbikgPT5cclxuICAgICAgY29ubmVjdGlvbi5zb3VyY2UgPT09IG5vZGUuaWQgfHwgY29ubmVjdGlvbi50YXJnZXQgPT09IG5vZGUuaWRcclxuICApO1xyXG5cclxuICBpZiAoY29ubmVjdGlvbnMubGVuZ3RoKSB7XHJcbiAgICBjb25uZWN0aW9ucy5mb3JFYWNoKChjb25uZWN0aW9uKSA9PiB7XHJcbiAgICAgIGVkaXRvci5yZW1vdmVDb25uZWN0aW9uKGNvbm5lY3Rpb24uaWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG4vKipcclxuICpcclxuICogQHBhcmFtIGVkaXRvclxyXG4gKiBAcGFyYW0gcHJlZGljYXRlXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbnMgPSAoXHJcbiAgZWRpdG9yOiBOb2RlRWRpdG9yPFNjaGVtZXM+LFxyXG4gIHByZWRpY2F0ZTogKGNvbm5lY3Rpb246IENvbm5lY3Rpb24pID0+IGJvb2xlYW5cclxuKSA9PiB7XHJcbiAgcmV0dXJuIGVkaXRvci5nZXRDb25uZWN0aW9ucygpLmZpbHRlcihwcmVkaWNhdGUpO1xyXG59O1xyXG4vKipcclxuICpcclxuICogQHBhcmFtIG91dHB1dHNcclxuICogQHBhcmFtIGlucHV0c1xyXG4gKiBAcGFyYW0gZWRpdG9yXHJcbiAqL1xyXG5jb25zdCBfdXBkYXRlQ29ubmVjdGlvbnMgPSBhc3luYyAoXHJcbiAgb3V0cHV0czogQ29ubmVjdGlvbltdLFxyXG4gIGlucHV0czogQ29ubmVjdGlvbltdLFxyXG4gIGVkaXRvcjogTm9kZUVkaXRvcjxTY2hlbWVzPlxyXG4pID0+IHtcclxuICBjb25zdCBzb3VyY2UgPSBpbnB1dHNbMF0uc291cmNlO1xyXG4gIGNvbnN0IHRhcmdldCA9IG91dHB1dHNbMF0udGFyZ2V0O1xyXG5cclxuICBjb25zdCBzb3VyY2VOb2RlID0gZWRpdG9yLmdldE5vZGUoc291cmNlKSBhcyBCYXNlTm9kZUNsYXNzO1xyXG4gIGNvbnN0IHRhcmdldE5vZGUgPSBlZGl0b3IuZ2V0Tm9kZSh0YXJnZXQpIGFzIEJhc2VOb2RlQ2xhc3M7XHJcblxyXG4gIFsuLi5vdXRwdXRzLCAuLi5pbnB1dHNdLmZvckVhY2goYXN5bmMgKGNvbm5lY3Rpb24pID0+IHtcclxuICAgIGF3YWl0IGVkaXRvci5yZW1vdmVDb25uZWN0aW9uKGNvbm5lY3Rpb24uaWQpO1xyXG4gIH0pO1xyXG5cclxuICBpZiAoIXNvdXJjZU5vZGUgfHwgIXRhcmdldE5vZGUpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgY29uc3QgY29ubmVjdGlvbiA9IG5ldyBDb25uZWN0aW9uKFxyXG4gICAgc291cmNlTm9kZSxcclxuICAgIHRhcmdldE5vZGUsXHJcbiAgKTtcclxuXHJcbiAgYXdhaXQgZWRpdG9yLmFkZENvbm5lY3Rpb24oY29ubmVjdGlvbik7XHJcbn07XHJcbiJdfQ==