ngx-vflow 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/vflow/components/node/node.component.mjs +18 -49
- package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +3 -3
- package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +55 -1
- package/esm2022/lib/vflow/directives/node-handles-controller.directive.mjs +33 -0
- package/esm2022/lib/vflow/directives/node-resize-controller.directive.mjs +35 -0
- package/esm2022/lib/vflow/directives/selectable.directive.mjs +2 -2
- package/esm2022/lib/vflow/models/handle.model.mjs +33 -33
- package/esm2022/lib/vflow/models/node.model.mjs +30 -67
- package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +3 -3
- package/esm2022/lib/vflow/public-components/resizable/resizable.component.mjs +4 -3
- package/esm2022/lib/vflow/services/draggable.service.mjs +2 -2
- package/esm2022/lib/vflow/services/handle.service.mjs +1 -1
- package/esm2022/lib/vflow/testing-utils/component-mocks/handle-mock.component.mjs +22 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/minimap-mock.component.mjs +22 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.mjs +19 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/resizable-mock.component.mjs +21 -0
- package/esm2022/lib/vflow/testing-utils/component-mocks/vflow-mock.component.mjs +251 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.mjs +15 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.mjs +11 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.mjs +14 -0
- package/esm2022/lib/vflow/testing-utils/directive-mocks/template-mock.directive.mjs +87 -0
- package/esm2022/lib/vflow/testing-utils/provide-custom-node-mocks.mjs +9 -8
- package/esm2022/lib/vflow/testing-utils/vflow-mocks.mjs +26 -0
- package/esm2022/public-api.mjs +11 -1
- package/fesm2022/ngx-vflow.mjs +689 -182
- package/fesm2022/ngx-vflow.mjs.map +1 -1
- package/lib/vflow/components/node/node.component.d.ts +5 -11
- package/lib/vflow/directives/changes-controller.directive.d.ts +54 -0
- package/lib/vflow/directives/node-handles-controller.directive.d.ts +11 -0
- package/lib/vflow/directives/node-resize-controller.directive.d.ts +11 -0
- package/lib/vflow/models/handle.model.d.ts +8 -23
- package/lib/vflow/models/node.model.d.ts +17 -13
- package/lib/vflow/services/handle.service.d.ts +1 -1
- package/lib/vflow/testing-utils/component-mocks/handle-mock.component.d.ts +11 -0
- package/lib/vflow/testing-utils/component-mocks/minimap-mock.component.d.ts +10 -0
- package/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.d.ts +7 -0
- package/lib/vflow/testing-utils/component-mocks/resizable-mock.component.d.ts +8 -0
- package/lib/vflow/testing-utils/component-mocks/vflow-mock.component.d.ts +48 -0
- package/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.d.ts +7 -0
- package/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.d.ts +5 -0
- package/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.d.ts +5 -0
- package/lib/vflow/testing-utils/directive-mocks/template-mock.directive.d.ts +32 -0
- package/lib/vflow/testing-utils/vflow-mocks.d.ts +10 -0
- package/package.json +1 -1
- package/public-api.d.ts +10 -0
|
@@ -15,37 +15,67 @@ export class ChangesControllerDirective {
|
|
|
15
15
|
this.onNodesChangePosition = outputFromObservable(this.nodeChangesOfType('position'), {
|
|
16
16
|
alias: 'onNodesChange.position',
|
|
17
17
|
});
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated use `onNodesChange.position` instead
|
|
20
|
+
*/
|
|
18
21
|
this.onNodesChangePositionSignle = outputFromObservable(this.singleChange(this.nodeChangesOfType('position')), { alias: 'onNodesChange.position.single' });
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated use `onNodesChange.position` instead
|
|
24
|
+
*/
|
|
19
25
|
this.onNodesChangePositionMany = outputFromObservable(this.manyChanges(this.nodeChangesOfType('position')), { alias: 'onNodesChange.position.many' });
|
|
20
26
|
this.onNodesChangeSize = outputFromObservable(this.nodeChangesOfType('size'), {
|
|
21
27
|
alias: 'onNodesChange.size',
|
|
22
28
|
});
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated use `onNodesChange.size` instead
|
|
31
|
+
*/
|
|
23
32
|
this.onNodesChangeSizeSingle = outputFromObservable(this.singleChange(this.nodeChangesOfType('size')), {
|
|
24
33
|
alias: 'onNodesChange.size.single',
|
|
25
34
|
});
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated use `onNodesChange.size` instead
|
|
37
|
+
*/
|
|
26
38
|
this.onNodesChangeSizeMany = outputFromObservable(this.manyChanges(this.nodeChangesOfType('size')), {
|
|
27
39
|
alias: 'onNodesChange.size.many',
|
|
28
40
|
});
|
|
29
41
|
this.onNodesChangeAdd = outputFromObservable(this.nodeChangesOfType('add'), {
|
|
30
42
|
alias: 'onNodesChange.add',
|
|
31
43
|
});
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated use `onNodesChange.add` instead
|
|
46
|
+
*/
|
|
32
47
|
this.onNodesChangeAddSingle = outputFromObservable(this.singleChange(this.nodeChangesOfType('add')), {
|
|
33
48
|
alias: 'onNodesChange.add.single',
|
|
34
49
|
});
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated use `onNodesChange.add` instead
|
|
52
|
+
*/
|
|
35
53
|
this.onNodesChangeAddMany = outputFromObservable(this.manyChanges(this.nodeChangesOfType('add')), {
|
|
36
54
|
alias: 'onNodesChange.add.many',
|
|
37
55
|
});
|
|
38
56
|
this.onNodesChangeRemove = outputFromObservable(this.nodeChangesOfType('remove'), {
|
|
39
57
|
alias: 'onNodesChange.remove',
|
|
40
58
|
});
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated use `onNodesChange.remove` instead
|
|
61
|
+
*/
|
|
41
62
|
this.onNodesChangeRemoveSingle = outputFromObservable(this.singleChange(this.nodeChangesOfType('remove')), { alias: 'onNodesChange.remove.single' });
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated use `onNodesChange.remove` instead
|
|
65
|
+
*/
|
|
42
66
|
this.onNodesChangeRemoveMany = outputFromObservable(this.manyChanges(this.nodeChangesOfType('remove')), {
|
|
43
67
|
alias: 'onNodesChange.remove.many',
|
|
44
68
|
});
|
|
45
69
|
this.onNodesChangeSelect = outputFromObservable(this.nodeChangesOfType('select'), {
|
|
46
70
|
alias: 'onNodesChange.select',
|
|
47
71
|
});
|
|
72
|
+
/**
|
|
73
|
+
* @deprecated use `onNodesChange.select` instead
|
|
74
|
+
*/
|
|
48
75
|
this.onNodesChangeSelectSingle = outputFromObservable(this.singleChange(this.nodeChangesOfType('select')), { alias: 'onNodesChange.select.single' });
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated use `onNodesChange.select` instead
|
|
78
|
+
*/
|
|
49
79
|
this.onNodesChangeSelectMany = outputFromObservable(this.manyChanges(this.nodeChangesOfType('select')), {
|
|
50
80
|
alias: 'onNodesChange.select.many',
|
|
51
81
|
});
|
|
@@ -56,32 +86,56 @@ export class ChangesControllerDirective {
|
|
|
56
86
|
this.onNodesChangeDetached = outputFromObservable(this.edgeChangesOfType('detached'), {
|
|
57
87
|
alias: 'onEdgesChange.detached',
|
|
58
88
|
});
|
|
89
|
+
/**
|
|
90
|
+
* @deprecated use `onEdgesChange.detached` instead
|
|
91
|
+
*/
|
|
59
92
|
this.onNodesChangeDetachedSingle = outputFromObservable(this.singleChange(this.edgeChangesOfType('detached')), { alias: 'onEdgesChange.detached.single' });
|
|
93
|
+
/**
|
|
94
|
+
* @deprecated use `onEdgesChange.detached` instead
|
|
95
|
+
*/
|
|
60
96
|
this.onNodesChangeDetachedMany = outputFromObservable(this.manyChanges(this.edgeChangesOfType('detached')), { alias: 'onEdgesChange.detached.many' });
|
|
61
97
|
this.onEdgesChangeAdd = outputFromObservable(this.edgeChangesOfType('add'), {
|
|
62
98
|
alias: 'onEdgesChange.add',
|
|
63
99
|
});
|
|
100
|
+
/**
|
|
101
|
+
* @deprecated use `onEdgesChange.add` instead
|
|
102
|
+
*/
|
|
64
103
|
this.onEdgeChangeAddSingle = outputFromObservable(this.singleChange(this.edgeChangesOfType('add')), {
|
|
65
104
|
alias: 'onEdgesChange.add.single',
|
|
66
105
|
});
|
|
106
|
+
/**
|
|
107
|
+
* @deprecated use `onEdgesChange.add` instead
|
|
108
|
+
*/
|
|
67
109
|
this.onEdgeChangeAddMany = outputFromObservable(this.manyChanges(this.edgeChangesOfType('add')), {
|
|
68
110
|
alias: 'onEdgesChange.add.many',
|
|
69
111
|
});
|
|
70
112
|
this.onEdgeChangeRemove = outputFromObservable(this.edgeChangesOfType('remove'), {
|
|
71
113
|
alias: 'onEdgesChange.remove',
|
|
72
114
|
});
|
|
115
|
+
/**
|
|
116
|
+
* @deprecated use `onEdgesChange.remove` instead
|
|
117
|
+
*/
|
|
73
118
|
this.onEdgeChangeRemoveSingle = outputFromObservable(this.singleChange(this.edgeChangesOfType('remove')), {
|
|
74
119
|
alias: 'onEdgesChange.remove.single',
|
|
75
120
|
});
|
|
121
|
+
/**
|
|
122
|
+
* @deprecated use `onEdgesChange.remove` instead
|
|
123
|
+
*/
|
|
76
124
|
this.onEdgeChangeRemoveMany = outputFromObservable(this.manyChanges(this.edgeChangesOfType('remove')), {
|
|
77
125
|
alias: 'onEdgesChange.remove.many',
|
|
78
126
|
});
|
|
79
127
|
this.onEdgeChangeSelect = outputFromObservable(this.edgeChangesOfType('select'), {
|
|
80
128
|
alias: 'onEdgesChange.select',
|
|
81
129
|
});
|
|
130
|
+
/**
|
|
131
|
+
* @deprecated use `onEdgesChange.select` instead
|
|
132
|
+
*/
|
|
82
133
|
this.onEdgeChangeSelectSingle = outputFromObservable(this.singleChange(this.edgeChangesOfType('select')), {
|
|
83
134
|
alias: 'onEdgesChange.select.single',
|
|
84
135
|
});
|
|
136
|
+
/**
|
|
137
|
+
* @deprecated use `onEdgesChange.select` instead
|
|
138
|
+
*/
|
|
85
139
|
this.onEdgeChangeSelectMany = outputFromObservable(this.manyChanges(this.edgeChangesOfType('select')), {
|
|
86
140
|
alias: 'onEdgesChange.select.many',
|
|
87
141
|
});
|
|
@@ -108,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
108
162
|
standalone: true,
|
|
109
163
|
}]
|
|
110
164
|
}] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlcy1jb250cm9sbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9kaXJlY3RpdmVzL2NoYW5nZXMtY29udHJvbGxlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFjLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBTWxFLE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLWSx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUNhLGtCQUFhLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZFLDBCQUFxQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvRixLQUFLLEVBQUUsd0JBQXdCO1NBQ2hDLENBQUMsQ0FBQztRQUVhLGdDQUEyQixHQUFHLG9CQUFvQixDQUNoRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUNyRCxFQUFFLEtBQUssRUFBRSwrQkFBK0IsRUFBRSxDQUMzQyxDQUFDO1FBRWMsOEJBQXlCLEdBQUcsb0JBQW9CLENB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TSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBSSxRQUF5QjtRQUMvQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQ2xCLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFDekMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ3hCLENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVyxDQUFJLFFBQXlCO1FBQzlDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOytHQXZKVSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTm9kZUFkZENoYW5nZSxcbiAgTm9kZUNoYW5nZSxcbiAgTm9kZVBvc2l0aW9uQ2hhbmdlLFxuICBOb2RlUmVtb3ZlQ2hhbmdlLFxuICBOb2RlU2VsZWN0ZWRDaGFuZ2UsXG4gIE5vZGVTaXplQ2hhbmdlLFxufSBmcm9tICcuLi90eXBlcy9ub2RlLWNoYW5nZS50eXBlJztcbmltcG9ydCB7IEVkZ2VDaGFuZ2VzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2VkZ2UtY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVzQ2hhbmdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vZGUtY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBFZGdlQWRkQ2hhbmdlLFxuICBFZGdlQ2hhbmdlLFxuICBFZGdlRGV0YWNoZWRDaGFuZ2UsXG4gIEVkZ2VSZW1vdmVDaGFuZ2UsXG4gIEVkZ2VTZWxlY3RDaGFuZ2UsXG59IGZyb20gJy4uL3R5cGVzL2VkZ2UtY2hhbmdlLnR5cGUnO1xuaW1wb3J0IHsgb3V0cHV0RnJvbU9ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjaGFuZ2VzQ29udHJvbGxlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VzQ29udHJvbGxlckRpcmVjdGl2ZSB7XG4gIHByb3RlY3RlZCBub2Rlc0NoYW5nZVNlcnZpY2UgPSBpbmplY3QoTm9kZXNDaGFuZ2VTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGVkZ2VzQ2hhbmdlU2VydmljZSA9IGluamVjdChFZGdlQ2hhbmdlc1NlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBXYXRjaCBub2RlcyBjaGFuZ2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5ub2Rlc0NoYW5nZVNlcnZpY2UuY2hhbmdlcyQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlUG9zaXRpb24gPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdwb3NpdGlvbicpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnBvc2l0aW9uJyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VQb3NpdGlvblNpZ25sZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3Bvc2l0aW9uJykpLFxuICAgIHsgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnBvc2l0aW9uLnNpbmdsZScgfSxcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVBvc2l0aW9uTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMubWFueUNoYW5nZXModGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgncG9zaXRpb24nKSksXG4gICAgeyBhbGlhczogJ29uTm9kZXNDaGFuZ2UucG9zaXRpb24ubWFueScgfSxcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVNpemUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdzaXplJyksIHtcbiAgICBhbGlhczogJ29uTm9kZXNDaGFuZ2Uuc2l6ZScsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlU2l6ZVNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3NpemUnKSksIHtcbiAgICBhbGlhczogJ29uTm9kZXNDaGFuZ2Uuc2l6ZS5zaW5nbGUnLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVNpemVNYW55ID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5tYW55Q2hhbmdlcyh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdzaXplJykpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnNpemUubWFueScsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlQWRkID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgnYWRkJyksIHtcbiAgICBhbGlhczogJ29uTm9kZXNDaGFuZ2UuYWRkJyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VBZGRTaW5nbGUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLnNpbmdsZUNoYW5nZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdhZGQnKSksIHtcbiAgICBhbGlhczogJ29uTm9kZXNDaGFuZ2UuYWRkLnNpbmdsZScsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlQWRkTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubWFueUNoYW5nZXModGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgnYWRkJykpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLmFkZC5tYW55JyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VSZW1vdmUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdyZW1vdmUnKSwge1xuICAgIGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5yZW1vdmUnLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVJlbW92ZVNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3JlbW92ZScpKSxcbiAgICB7IGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5yZW1vdmUuc2luZ2xlJyB9LFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlUmVtb3ZlTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubWFueUNoYW5nZXModGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgncmVtb3ZlJykpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnJlbW92ZS5tYW55JyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VTZWxlY3QgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdzZWxlY3QnKSwge1xuICAgIGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5zZWxlY3QnLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVNlbGVjdFNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3NlbGVjdCcpKSxcbiAgICB7IGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5zZWxlY3Quc2luZ2xlJyB9LFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlU2VsZWN0TWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubWFueUNoYW5nZXModGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgnc2VsZWN0JykpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnNlbGVjdC5tYW55JyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFdhdGNoIGVkZ2VzIGNoYW5nZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uRWRnZXNDaGFuZ2UgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLmVkZ2VzQ2hhbmdlU2VydmljZS5jaGFuZ2VzJCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VEZXRhY2hlZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ2RldGFjaGVkJyksIHtcbiAgICBhbGlhczogJ29uRWRnZXNDaGFuZ2UuZGV0YWNoZWQnLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZURldGFjaGVkU2luZ2xlID0gb3V0cHV0RnJvbU9ic2VydmFibGUoXG4gICAgdGhpcy5zaW5nbGVDaGFuZ2UodGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgnZGV0YWNoZWQnKSksXG4gICAgeyBhbGlhczogJ29uRWRnZXNDaGFuZ2UuZGV0YWNoZWQuc2luZ2xlJyB9LFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlRGV0YWNoZWRNYW55ID0gb3V0cHV0RnJvbU9ic2VydmFibGUoXG4gICAgdGhpcy5tYW55Q2hhbmdlcyh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdkZXRhY2hlZCcpKSxcbiAgICB7IGFsaWFzOiAnb25FZGdlc0NoYW5nZS5kZXRhY2hlZC5tYW55JyB9LFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VzQ2hhbmdlQWRkID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgnYWRkJyksIHtcbiAgICBhbGlhczogJ29uRWRnZXNDaGFuZ2UuYWRkJyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uRWRnZUNoYW5nZUFkZFNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ2FkZCcpKSwge1xuICAgIGFsaWFzOiAnb25FZGdlc0NoYW5nZS5hZGQuc2luZ2xlJyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uRWRnZUNoYW5nZUFkZE1hbnkgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm1hbnlDaGFuZ2VzKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ2FkZCcpKSwge1xuICAgIGFsaWFzOiAnb25FZGdlc0NoYW5nZS5hZGQubWFueScsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VDaGFuZ2VSZW1vdmUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdyZW1vdmUnKSwge1xuICAgIGFsaWFzOiAnb25FZGdlc0NoYW5nZS5yZW1vdmUnLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25FZGdlQ2hhbmdlUmVtb3ZlU2luZ2xlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5zaW5nbGVDaGFuZ2UodGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgncmVtb3ZlJykpLCB7XG4gICAgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLnJlbW92ZS5zaW5nbGUnLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25FZGdlQ2hhbmdlUmVtb3ZlTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubWFueUNoYW5nZXModGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgncmVtb3ZlJykpLCB7XG4gICAgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLnJlbW92ZS5tYW55JyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uRWRnZUNoYW5nZVNlbGVjdCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ3NlbGVjdCcpLCB7XG4gICAgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLnNlbGVjdCcsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VDaGFuZ2VTZWxlY3RTaW5nbGUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLnNpbmdsZUNoYW5nZSh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdzZWxlY3QnKSksIHtcbiAgICBhbGlhczogJ29uRWRnZXNDaGFuZ2Uuc2VsZWN0LnNpbmdsZScsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VDaGFuZ2VTZWxlY3RNYW55ID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5tYW55Q2hhbmdlcyh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdzZWxlY3QnKSksIHtcbiAgICBhbGlhczogJ29uRWRnZXNDaGFuZ2Uuc2VsZWN0Lm1hbnknLFxuICB9KTtcblxuICBwcml2YXRlIG5vZGVDaGFuZ2VzT2ZUeXBlPFQgZXh0ZW5kcyBOb2RlQ2hhbmdlWyd0eXBlJ10+KHR5cGU6IFQpIHtcbiAgICByZXR1cm4gdGhpcy5ub2Rlc0NoYW5nZVNlcnZpY2UuY2hhbmdlcyQucGlwZShcbiAgICAgIG1hcCgoY2hhbmdlcykgPT4gY2hhbmdlcy5maWx0ZXIoKGMpOiBjIGlzIE5vZGVDaGFuZ2VNYXBbVF0gPT4gYy50eXBlID09PSB0eXBlKSksXG4gICAgICBmaWx0ZXIoKGNoYW5nZXMpID0+ICEhY2hhbmdlcy5sZW5ndGgpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGVkZ2VDaGFuZ2VzT2ZUeXBlPFQgZXh0ZW5kcyBFZGdlQ2hhbmdlWyd0eXBlJ10+KHR5cGU6IFQpIHtcbiAgICByZXR1cm4gdGhpcy5lZGdlc0NoYW5nZVNlcnZpY2UuY2hhbmdlcyQucGlwZShcbiAgICAgIG1hcCgoY2hhbmdlcykgPT4gY2hhbmdlcy5maWx0ZXIoKGMpOiBjIGlzIEVkZ2VDaGFuZ2VNYXBbVF0gPT4gYy50eXBlID09PSB0eXBlKSksXG4gICAgICBmaWx0ZXIoKGNoYW5nZXMpID0+ICEhY2hhbmdlcy5sZW5ndGgpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNpbmdsZUNoYW5nZTxUPihjaGFuZ2VzJDogT2JzZXJ2YWJsZTxUW10+KSB7XG4gICAgcmV0dXJuIGNoYW5nZXMkLnBpcGUoXG4gICAgICBmaWx0ZXIoKGNoYW5nZXMpID0+IGNoYW5nZXMubGVuZ3RoID09PSAxKSxcbiAgICAgIG1hcCgoW2ZpcnN0XSkgPT4gZmlyc3QpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1hbnlDaGFuZ2VzPFQ+KGNoYW5nZXMkOiBPYnNlcnZhYmxlPFRbXT4pIHtcbiAgICByZXR1cm4gY2hhbmdlcyQucGlwZShmaWx0ZXIoKGNoYW5nZXMpID0+IGNoYW5nZXMubGVuZ3RoID4gMSkpO1xuICB9XG59XG5cbi8vIFRPRE86IGRvIG5vdCB3cml0ZSB0aGlzIHR5cGVzIG1hbnVhbGx5XG50eXBlIE5vZGVDaGFuZ2VNYXAgPSB7XG4gIHBvc2l0aW9uOiBOb2RlUG9zaXRpb25DaGFuZ2U7XG4gIHNpemU6IE5vZGVTaXplQ2hhbmdlO1xuICBhZGQ6IE5vZGVBZGRDaGFuZ2U7XG4gIHJlbW92ZTogTm9kZVJlbW92ZUNoYW5nZTtcbiAgc2VsZWN0OiBOb2RlU2VsZWN0ZWRDaGFuZ2U7XG59O1xuXG50eXBlIEVkZ2VDaGFuZ2VNYXAgPSB7XG4gIGRldGFjaGVkOiBFZGdlRGV0YWNoZWRDaGFuZ2U7XG4gIGFkZDogRWRnZUFkZENoYW5nZTtcbiAgcmVtb3ZlOiBFZGdlUmVtb3ZlQ2hhbmdlO1xuICBzZWxlY3Q6IEVkZ2VTZWxlY3RDaGFuZ2U7XG59O1xuIl19
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlcy1jb250cm9sbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9kaXJlY3RpdmVzL2NoYW5nZXMtY29udHJvbGxlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFjLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBTWxFLE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLWSx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUNhLGtCQUFhLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZFLDBCQUFxQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvRixLQUFLLEVBQUUsd0JBQXdCO1NBQ2hDLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsZ0NBQTJCLEdBQUcsb0JBQW9CLENBQ2hFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQ3JELEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFFLENBQzNDLENBQUM7UUFFRjs7V0FFRztRQUNhLDhCQUF5QixHQUFHLG9CQUFvQixDQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUNwRCxFQUFFLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxDQUN6QyxDQUFDO1FBRWMsc0JBQWlCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZGLEtBQUssRUFBRSxvQkFBb0I7U0FDNUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSw0QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO1lBQ2hILEtBQUssRUFBRSwyQkFBMkI7U0FDbkMsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSwwQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO1lBQzdHLEtBQUssRUFBRSx5QkFBeUI7U0FDakMsQ0FBQyxDQUFDO1FBRWEscUJBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JGLEtBQUssRUFBRSxtQkFBbUI7U0FDM0IsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSwyQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzlHLEtBQUssRUFBRSwwQkFBMEI7U0FDbEMsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSx5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzNHLEtBQUssRUFBRSx3QkFBd0I7U0FDaEMsQ0FBQyxDQUFDO1FBRWEsd0JBQW1CLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzNGLEtBQUssRUFBRSxzQkFBc0I7U0FDOUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSw4QkFBeUIsR0FBRyxvQkFBb0IsQ0FDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDbkQsRUFBRSxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsQ0FDekMsQ0FBQztRQUVGOztXQUVHO1FBQ2EsNEJBQXVCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtZQUNqSCxLQUFLLEVBQUUsMkJBQTJCO1NBQ25DLENBQUMsQ0FBQztRQUVhLHdCQUFtQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzRixLQUFLLEVBQUUsc0JBQXNCO1NBQzlCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsOEJBQXlCLEdBQUcsb0JBQW9CLENBQzlELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ25ELEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFLENBQ3pDLENBQUM7UUFFRjs7V0FFRztRQUNhLDRCQUF1QixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7WUFDakgsS0FBSyxFQUFFLDJCQUEyQjtTQUNuQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNhLGtCQUFhLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZFLDBCQUFxQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvRixLQUFLLEVBQUUsd0JBQXdCO1NBQ2hDLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ2EsZ0NBQTJCLEdBQUcsb0JBQW9CLENBQ2hFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQ3JELEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFFLENBQzNDLENBQUM7UUFFRjs7V0FFRztRQUNhLDhCQUF5QixHQUFHLG9CQUFvQixDQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUNwRCxFQUFFLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxDQUN6QyxDQUFDO1FBRWMscUJBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JGLEtBQUssRUFBRSxtQkFBbUI7U0FDM0IsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSwwQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzdHLEtBQUssRUFBRSwwQkFBMEI7U0FDbEMsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSx3QkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzFHLEtBQUssRUFBRSx3QkFBd0I7U0FDaEMsQ0FBQyxDQUFDO1FBRWEsdUJBQWtCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFGLEtBQUssRUFBRSxzQkFBc0I7U0FDOUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSw2QkFBd0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1lBQ25ILEtBQUssRUFBRSw2QkFBNkI7U0FDckMsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSwyQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1lBQ2hILEtBQUssRUFBRSwyQkFBMkI7U0FDbkMsQ0FBQyxDQUFDO1FBRWEsdUJBQWtCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFGLEtBQUssRUFBRSxzQkFBc0I7U0FDOUIsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSw2QkFBd0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1lBQ25ILEtBQUssRUFBRSw2QkFBNkI7U0FDckMsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDYSwyQkFBc0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1lBQ2hILEtBQUssRUFBRSwyQkFBMkI7U0FDbkMsQ0FBQyxDQUFDO0tBMEJKO0lBeEJTLGlCQUFpQixDQUErQixJQUFPO1FBQzdELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsRUFDL0UsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUErQixJQUFPO1FBQzdELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsRUFDL0UsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBSSxRQUF5QjtRQUMvQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQ2xCLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFDekMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ3hCLENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVyxDQUFJLFFBQXlCO1FBQzlDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOytHQTdNVSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTm9kZUFkZENoYW5nZSxcbiAgTm9kZUNoYW5nZSxcbiAgTm9kZVBvc2l0aW9uQ2hhbmdlLFxuICBOb2RlUmVtb3ZlQ2hhbmdlLFxuICBOb2RlU2VsZWN0ZWRDaGFuZ2UsXG4gIE5vZGVTaXplQ2hhbmdlLFxufSBmcm9tICcuLi90eXBlcy9ub2RlLWNoYW5nZS50eXBlJztcbmltcG9ydCB7IEVkZ2VDaGFuZ2VzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2VkZ2UtY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVzQ2hhbmdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vZGUtY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBFZGdlQWRkQ2hhbmdlLFxuICBFZGdlQ2hhbmdlLFxuICBFZGdlRGV0YWNoZWRDaGFuZ2UsXG4gIEVkZ2VSZW1vdmVDaGFuZ2UsXG4gIEVkZ2VTZWxlY3RDaGFuZ2UsXG59IGZyb20gJy4uL3R5cGVzL2VkZ2UtY2hhbmdlLnR5cGUnO1xuaW1wb3J0IHsgb3V0cHV0RnJvbU9ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjaGFuZ2VzQ29udHJvbGxlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFuZ2VzQ29udHJvbGxlckRpcmVjdGl2ZSB7XG4gIHByb3RlY3RlZCBub2Rlc0NoYW5nZVNlcnZpY2UgPSBpbmplY3QoTm9kZXNDaGFuZ2VTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGVkZ2VzQ2hhbmdlU2VydmljZSA9IGluamVjdChFZGdlQ2hhbmdlc1NlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBXYXRjaCBub2RlcyBjaGFuZ2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5ub2Rlc0NoYW5nZVNlcnZpY2UuY2hhbmdlcyQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlUG9zaXRpb24gPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdwb3NpdGlvbicpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnBvc2l0aW9uJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgb25Ob2Rlc0NoYW5nZS5wb3NpdGlvbmAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VQb3NpdGlvblNpZ25sZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3Bvc2l0aW9uJykpLFxuICAgIHsgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnBvc2l0aW9uLnNpbmdsZScgfSxcbiAgKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBvbk5vZGVzQ2hhbmdlLnBvc2l0aW9uYCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVBvc2l0aW9uTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMubWFueUNoYW5nZXModGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgncG9zaXRpb24nKSksXG4gICAgeyBhbGlhczogJ29uTm9kZXNDaGFuZ2UucG9zaXRpb24ubWFueScgfSxcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVNpemUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdzaXplJyksIHtcbiAgICBhbGlhczogJ29uTm9kZXNDaGFuZ2Uuc2l6ZScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9uTm9kZXNDaGFuZ2Uuc2l6ZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VTaXplU2luZ2xlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5zaW5nbGVDaGFuZ2UodGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgnc2l6ZScpKSwge1xuICAgIGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5zaXplLnNpbmdsZScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9uTm9kZXNDaGFuZ2Uuc2l6ZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VTaXplTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubWFueUNoYW5nZXModGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgnc2l6ZScpKSwge1xuICAgIGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5zaXplLm1hbnknLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZUFkZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ2FkZCcpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLmFkZCcsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9uTm9kZXNDaGFuZ2UuYWRkYCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZUFkZFNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ2FkZCcpKSwge1xuICAgIGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5hZGQuc2luZ2xlJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgb25Ob2Rlc0NoYW5nZS5hZGRgIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlQWRkTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubWFueUNoYW5nZXModGhpcy5ub2RlQ2hhbmdlc09mVHlwZSgnYWRkJykpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLmFkZC5tYW55JyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VSZW1vdmUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdyZW1vdmUnKSwge1xuICAgIGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5yZW1vdmUnLFxuICB9KTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBvbk5vZGVzQ2hhbmdlLnJlbW92ZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VSZW1vdmVTaW5nbGUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShcbiAgICB0aGlzLnNpbmdsZUNoYW5nZSh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdyZW1vdmUnKSksXG4gICAgeyBhbGlhczogJ29uTm9kZXNDaGFuZ2UucmVtb3ZlLnNpbmdsZScgfSxcbiAgKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBvbk5vZGVzQ2hhbmdlLnJlbW92ZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VSZW1vdmVNYW55ID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5tYW55Q2hhbmdlcyh0aGlzLm5vZGVDaGFuZ2VzT2ZUeXBlKCdyZW1vdmUnKSksIHtcbiAgICBhbGlhczogJ29uTm9kZXNDaGFuZ2UucmVtb3ZlLm1hbnknLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVNlbGVjdCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3NlbGVjdCcpLCB7XG4gICAgYWxpYXM6ICdvbk5vZGVzQ2hhbmdlLnNlbGVjdCcsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9uTm9kZXNDaGFuZ2Uuc2VsZWN0YCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVNlbGVjdFNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3NlbGVjdCcpKSxcbiAgICB7IGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5zZWxlY3Quc2luZ2xlJyB9LFxuICApO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9uTm9kZXNDaGFuZ2Uuc2VsZWN0YCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZVNlbGVjdE1hbnkgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm1hbnlDaGFuZ2VzKHRoaXMubm9kZUNoYW5nZXNPZlR5cGUoJ3NlbGVjdCcpKSwge1xuICAgIGFsaWFzOiAnb25Ob2Rlc0NoYW5nZS5zZWxlY3QubWFueScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXYXRjaCBlZGdlcyBjaGFuZ2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VzQ2hhbmdlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5lZGdlc0NoYW5nZVNlcnZpY2UuY2hhbmdlcyQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbk5vZGVzQ2hhbmdlRGV0YWNoZWQgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdkZXRhY2hlZCcpLCB7XG4gICAgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLmRldGFjaGVkJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgb25FZGdlc0NoYW5nZS5kZXRhY2hlZGAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uTm9kZXNDaGFuZ2VEZXRhY2hlZFNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ2RldGFjaGVkJykpLFxuICAgIHsgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLmRldGFjaGVkLnNpbmdsZScgfSxcbiAgKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBvbkVkZ2VzQ2hhbmdlLmRldGFjaGVkYCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25Ob2Rlc0NoYW5nZURldGFjaGVkTWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMubWFueUNoYW5nZXModGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgnZGV0YWNoZWQnKSksXG4gICAgeyBhbGlhczogJ29uRWRnZXNDaGFuZ2UuZGV0YWNoZWQubWFueScgfSxcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25FZGdlc0NoYW5nZUFkZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ2FkZCcpLCB7XG4gICAgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLmFkZCcsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9uRWRnZXNDaGFuZ2UuYWRkYCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25FZGdlQ2hhbmdlQWRkU2luZ2xlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5zaW5nbGVDaGFuZ2UodGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgnYWRkJykpLCB7XG4gICAgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLmFkZC5zaW5nbGUnLFxuICB9KTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBvbkVkZ2VzQ2hhbmdlLmFkZGAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uRWRnZUNoYW5nZUFkZE1hbnkgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm1hbnlDaGFuZ2VzKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ2FkZCcpKSwge1xuICAgIGFsaWFzOiAnb25FZGdlc0NoYW5nZS5hZGQubWFueScsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VDaGFuZ2VSZW1vdmUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdyZW1vdmUnKSwge1xuICAgIGFsaWFzOiAnb25FZGdlc0NoYW5nZS5yZW1vdmUnLFxuICB9KTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBvbkVkZ2VzQ2hhbmdlLnJlbW92ZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uRWRnZUNoYW5nZVJlbW92ZVNpbmdsZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMuc2luZ2xlQ2hhbmdlKHRoaXMuZWRnZUNoYW5nZXNPZlR5cGUoJ3JlbW92ZScpKSwge1xuICAgIGFsaWFzOiAnb25FZGdlc0NoYW5nZS5yZW1vdmUuc2luZ2xlJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgb25FZGdlc0NoYW5nZS5yZW1vdmVgIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VDaGFuZ2VSZW1vdmVNYW55ID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5tYW55Q2hhbmdlcyh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdyZW1vdmUnKSksIHtcbiAgICBhbGlhczogJ29uRWRnZXNDaGFuZ2UucmVtb3ZlLm1hbnknLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25FZGdlQ2hhbmdlU2VsZWN0ID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgnc2VsZWN0JyksIHtcbiAgICBhbGlhczogJ29uRWRnZXNDaGFuZ2Uuc2VsZWN0JyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgb25FZGdlc0NoYW5nZS5zZWxlY3RgIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbkVkZ2VDaGFuZ2VTZWxlY3RTaW5nbGUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLnNpbmdsZUNoYW5nZSh0aGlzLmVkZ2VDaGFuZ2VzT2ZUeXBlKCdzZWxlY3QnKSksIHtcbiAgICBhbGlhczogJ29uRWRnZXNDaGFuZ2Uuc2VsZWN0LnNpbmdsZScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9uRWRnZXNDaGFuZ2Uuc2VsZWN0YCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25FZGdlQ2hhbmdlU2VsZWN0TWFueSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMubWFueUNoYW5nZXModGhpcy5lZGdlQ2hhbmdlc09mVHlwZSgnc2VsZWN0JykpLCB7XG4gICAgYWxpYXM6ICdvbkVkZ2VzQ2hhbmdlLnNlbGVjdC5tYW55JyxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBub2RlQ2hhbmdlc09mVHlwZTxUIGV4dGVuZHMgTm9kZUNoYW5nZVsndHlwZSddPih0eXBlOiBUKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXNDaGFuZ2VTZXJ2aWNlLmNoYW5nZXMkLnBpcGUoXG4gICAgICBtYXAoKGNoYW5nZXMpID0+IGNoYW5nZXMuZmlsdGVyKChjKTogYyBpcyBOb2RlQ2hhbmdlTWFwW1RdID0+IGMudHlwZSA9PT0gdHlwZSkpLFxuICAgICAgZmlsdGVyKChjaGFuZ2VzKSA9PiAhIWNoYW5nZXMubGVuZ3RoKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBlZGdlQ2hhbmdlc09mVHlwZTxUIGV4dGVuZHMgRWRnZUNoYW5nZVsndHlwZSddPih0eXBlOiBUKSB7XG4gICAgcmV0dXJuIHRoaXMuZWRnZXNDaGFuZ2VTZXJ2aWNlLmNoYW5nZXMkLnBpcGUoXG4gICAgICBtYXAoKGNoYW5nZXMpID0+IGNoYW5nZXMuZmlsdGVyKChjKTogYyBpcyBFZGdlQ2hhbmdlTWFwW1RdID0+IGMudHlwZSA9PT0gdHlwZSkpLFxuICAgICAgZmlsdGVyKChjaGFuZ2VzKSA9PiAhIWNoYW5nZXMubGVuZ3RoKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzaW5nbGVDaGFuZ2U8VD4oY2hhbmdlcyQ6IE9ic2VydmFibGU8VFtdPikge1xuICAgIHJldHVybiBjaGFuZ2VzJC5waXBlKFxuICAgICAgZmlsdGVyKChjaGFuZ2VzKSA9PiBjaGFuZ2VzLmxlbmd0aCA9PT0gMSksXG4gICAgICBtYXAoKFtmaXJzdF0pID0+IGZpcnN0KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtYW55Q2hhbmdlczxUPihjaGFuZ2VzJDogT2JzZXJ2YWJsZTxUW10+KSB7XG4gICAgcmV0dXJuIGNoYW5nZXMkLnBpcGUoZmlsdGVyKChjaGFuZ2VzKSA9PiBjaGFuZ2VzLmxlbmd0aCA+IDEpKTtcbiAgfVxufVxuXG4vLyBUT0RPOiBkbyBub3Qgd3JpdGUgdGhpcyB0eXBlcyBtYW51YWxseVxudHlwZSBOb2RlQ2hhbmdlTWFwID0ge1xuICBwb3NpdGlvbjogTm9kZVBvc2l0aW9uQ2hhbmdlO1xuICBzaXplOiBOb2RlU2l6ZUNoYW5nZTtcbiAgYWRkOiBOb2RlQWRkQ2hhbmdlO1xuICByZW1vdmU6IE5vZGVSZW1vdmVDaGFuZ2U7XG4gIHNlbGVjdDogTm9kZVNlbGVjdGVkQ2hhbmdlO1xufTtcblxudHlwZSBFZGdlQ2hhbmdlTWFwID0ge1xuICBkZXRhY2hlZDogRWRnZURldGFjaGVkQ2hhbmdlO1xuICBhZGQ6IEVkZ2VBZGRDaGFuZ2U7XG4gIHJlbW92ZTogRWRnZVJlbW92ZUNoYW5nZTtcbiAgc2VsZWN0OiBFZGdlU2VsZWN0Q2hhbmdlO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DestroyRef, Directive, ElementRef, inject, NgZone } from '@angular/core';
|
|
2
|
+
import { NodeAccessorService } from '../services/node-accessor.service';
|
|
3
|
+
import { map, switchMap, tap } from 'rxjs';
|
|
4
|
+
import { resizable } from '../utils/resizable';
|
|
5
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class NodeHandlesControllerDirective {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.nodeAccessor = inject(NodeAccessorService);
|
|
10
|
+
this.zone = inject(NgZone);
|
|
11
|
+
this.destroyRef = inject(DestroyRef);
|
|
12
|
+
this.hostElementRef = inject(ElementRef);
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
const model = this.nodeAccessor.model();
|
|
16
|
+
model.handles$
|
|
17
|
+
.pipe(switchMap((handles) => resizable([...handles.map((h) => h.hostReference), this.hostElementRef.nativeElement], this.zone).pipe(map(() => handles))), tap((handles) => {
|
|
18
|
+
// TODO (performance) inspect how to avoid calls of this when flow initially rendered
|
|
19
|
+
handles.forEach((h) => h.updateHost());
|
|
20
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
21
|
+
.subscribe();
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeHandlesControllerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NodeHandlesControllerDirective, isStandalone: true, selector: "[nodeHandlesController]", ngImport: i0 }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeHandlesControllerDirective, decorators: [{
|
|
27
|
+
type: Directive,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: '[nodeHandlesController]',
|
|
30
|
+
standalone: true,
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oYW5kbGVzLWNvbnRyb2xsZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L2RpcmVjdGl2ZXMvbm9kZS1oYW5kbGVzLWNvbnRyb2xsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBTWhFLE1BQU0sT0FBTyw4QkFBOEI7SUFKM0M7UUFLVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLE1BQU0sQ0FBc0IsVUFBVSxDQUFDLENBQUM7S0FvQmxFO0lBbEJRLFFBQVE7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRyxDQUFDO1FBRXpDLEtBQUssQ0FBQyxRQUFRO2FBQ1gsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3BCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDckcsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUNuQixDQUNGLEVBQ0QsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxxRkFBcUY7WUFDckYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLEVBQ0Ysa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNwQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7K0dBdkJVLDhCQUE4QjttR0FBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZUFjY2Vzc29yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vZGUtYWNjZXNzb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyByZXNpemFibGUgfSBmcm9tICcuLi91dGlscy9yZXNpemFibGUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbm9kZUhhbmRsZXNDb250cm9sbGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVIYW5kbGVzQ29udHJvbGxlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgbm9kZUFjY2Vzc29yID0gaW5qZWN0KE5vZGVBY2Nlc3NvclNlcnZpY2UpO1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIGhvc3RFbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8RWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBtb2RlbCA9IHRoaXMubm9kZUFjY2Vzc29yLm1vZGVsKCkhO1xuXG4gICAgbW9kZWwuaGFuZGxlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGhhbmRsZXMpID0+XG4gICAgICAgICAgcmVzaXphYmxlKFsuLi5oYW5kbGVzLm1hcCgoaCkgPT4gaC5ob3N0UmVmZXJlbmNlISksIHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudF0sIHRoaXMuem9uZSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiBoYW5kbGVzKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICB0YXAoKGhhbmRsZXMpID0+IHtcbiAgICAgICAgICAvLyBUT0RPIChwZXJmb3JtYW5jZSkgaW5zcGVjdCBob3cgdG8gYXZvaWQgY2FsbHMgb2YgdGhpcyB3aGVuIGZsb3cgaW5pdGlhbGx5IHJlbmRlcmVkXG4gICAgICAgICAgaGFuZGxlcy5mb3JFYWNoKChoKSA9PiBoLnVwZGF0ZUhvc3QoKSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DestroyRef, Directive, ElementRef, inject, NgZone } from '@angular/core';
|
|
2
|
+
import { resizable } from '../utils/resizable';
|
|
3
|
+
import { NodeAccessorService } from '../services/node-accessor.service';
|
|
4
|
+
import { filter, startWith, tap } from 'rxjs';
|
|
5
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class NodeResizeControllerDirective {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.nodeAccessor = inject(NodeAccessorService);
|
|
10
|
+
this.zone = inject(NgZone);
|
|
11
|
+
this.destroyRef = inject(DestroyRef);
|
|
12
|
+
this.hostElementRef = inject(ElementRef);
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
const model = this.nodeAccessor.model();
|
|
16
|
+
resizable([this.hostElementRef.nativeElement], this.zone)
|
|
17
|
+
.pipe(startWith(null), filter(() => !model.resizing()), tap(() => {
|
|
18
|
+
const width = this.hostElementRef.nativeElement.clientWidth;
|
|
19
|
+
const height = this.hostElementRef.nativeElement.clientHeight;
|
|
20
|
+
model.width.set(width);
|
|
21
|
+
model.height.set(height);
|
|
22
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
23
|
+
.subscribe();
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeResizeControllerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
26
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NodeResizeControllerDirective, isStandalone: true, selector: "[nodeResizeController]", ngImport: i0 }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeResizeControllerDirective, decorators: [{
|
|
29
|
+
type: Directive,
|
|
30
|
+
args: [{
|
|
31
|
+
selector: '[nodeResizeController]',
|
|
32
|
+
standalone: true,
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZXNpemUtY29udHJvbGxlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvZGlyZWN0aXZlcy9ub2RlLXJlc2l6ZS1jb250cm9sbGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU1oRSxNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBS1UsaUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQyxTQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsbUJBQWMsR0FBRyxNQUFNLENBQXNCLFVBQVUsQ0FBQyxDQUFDO0tBb0JsRTtJQWxCUSxRQUFRO1FBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUcsQ0FBQztRQUV6QyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDdEQsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDL0IsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFFOUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLEVBQ0Ysa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNwQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7K0dBdkJVLDZCQUE2QjttR0FBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVzaXphYmxlIH0gZnJvbSAnLi4vdXRpbHMvcmVzaXphYmxlJztcbmltcG9ydCB7IE5vZGVBY2Nlc3NvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ub2RlLWFjY2Vzc29yLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGgsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbm9kZVJlc2l6ZUNvbnRyb2xsZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZVJlc2l6ZUNvbnRyb2xsZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIG5vZGVBY2Nlc3NvciA9IGluamVjdChOb2RlQWNjZXNzb3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSBob3N0RWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLm5vZGVBY2Nlc3Nvci5tb2RlbCgpITtcblxuICAgIHJlc2l6YWJsZShbdGhpcy5ob3N0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XSwgdGhpcy56b25lKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgZmlsdGVyKCgpID0+ICFtb2RlbC5yZXNpemluZygpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB3aWR0aCA9IHRoaXMuaG9zdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0aGlzLmhvc3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgICAgbW9kZWwud2lkdGguc2V0KHdpZHRoKTtcbiAgICAgICAgICBtb2RlbC5oZWlnaHQuc2V0KGhlaWdodCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -19,7 +19,7 @@ export class SelectableDirective {
|
|
|
19
19
|
}
|
|
20
20
|
entity() {
|
|
21
21
|
if (this.parentNode) {
|
|
22
|
-
return this.parentNode.
|
|
22
|
+
return this.parentNode.model();
|
|
23
23
|
}
|
|
24
24
|
else if (this.parentEdge) {
|
|
25
25
|
return this.parentEdge.model();
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
42
42
|
type: HostListener,
|
|
43
43
|
args: ['touchstart']
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvZGlyZWN0aXZlcy9zZWxlY3RhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFNeEUsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztRQUtVLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xELHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQW9CaEU7SUFoQlcsV0FBVztRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTTtRQUNaLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBdkJVLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztpQkFDekI7OEJBU1csV0FBVztzQkFGcEIsWUFBWTt1QkFBQyxXQUFXOztzQkFDeEIsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEVkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VkZ2UvZWRnZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBGbG93RW50aXR5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9mbG93LWVudGl0eS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbG93U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmxvdy1zZXR0aW5ncy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW3NlbGVjdGFibGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0YWJsZURpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZmxvd1NldHRpbmdzU2VydmljZSA9IGluamVjdChGbG93U2V0dGluZ3NTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZWxlY3Rpb25TZXJ2aWNlID0gaW5qZWN0KFNlbGVjdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHBhcmVudEVkZ2UgPSBpbmplY3QoRWRnZUNvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBwYXJlbnROb2RlID0gaW5qZWN0KE5vZGVDb21wb25lbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJylcbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcpXG4gIHByb3RlY3RlZCBvbk1vdXNlZG93bigpIHtcbiAgICBjb25zdCBlbnRpdHkgPSB0aGlzLmVudGl0eSgpO1xuICAgIGlmIChlbnRpdHkgJiYgdGhpcy5mbG93U2V0dGluZ3NTZXJ2aWNlLmVudGl0aWVzU2VsZWN0YWJsZSgpKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvblNlcnZpY2Uuc2VsZWN0KGVudGl0eSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbnRpdHkoKTogRmxvd0VudGl0eSB8IG51bGwge1xuICAgIGlmICh0aGlzLnBhcmVudE5vZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmVudE5vZGUubW9kZWwoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyZW50RWRnZSkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyZW50RWRnZS5tb2RlbCgpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -14,26 +14,43 @@ export class HandleModel {
|
|
|
14
14
|
width: 10 + 2 * this.strokeWidth,
|
|
15
15
|
height: 10 + 2 * this.strokeWidth,
|
|
16
16
|
});
|
|
17
|
-
this.
|
|
17
|
+
this.pointAbsolute = computed(() => {
|
|
18
|
+
return {
|
|
19
|
+
x: this.parentNode.globalPoint().x + this.hostOffset().x + this.sizeOffset().x,
|
|
20
|
+
y: this.parentNode.globalPoint().y + this.hostOffset().y + this.sizeOffset().y,
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
this.state = signal('idle');
|
|
24
|
+
this.updateHostSizeAndPosition$ = new Subject();
|
|
25
|
+
this.hostSize = toSignal(this.updateHostSizeAndPosition$.pipe(map(() => this.getHostSize())), {
|
|
26
|
+
initialValue: { width: 0, height: 0 },
|
|
27
|
+
});
|
|
28
|
+
this.hostPosition = toSignal(this.updateHostSizeAndPosition$.pipe(map(() => ({
|
|
29
|
+
x: this.hostReference instanceof HTMLElement ? this.hostReference.offsetLeft : 0, // for now just 0 for group nodes
|
|
30
|
+
y: this.hostReference instanceof HTMLElement ? this.hostReference.offsetTop : 0, // for now just 0 for group nodes
|
|
31
|
+
}))), {
|
|
32
|
+
initialValue: { x: 0, y: 0 },
|
|
33
|
+
});
|
|
34
|
+
this.hostOffset = computed(() => {
|
|
18
35
|
switch (this.rawHandle.position) {
|
|
19
36
|
case 'left':
|
|
20
37
|
return {
|
|
21
38
|
x: 0,
|
|
22
|
-
y: this.
|
|
39
|
+
y: this.hostPosition().y + this.hostSize().height / 2,
|
|
23
40
|
};
|
|
24
41
|
case 'right':
|
|
25
42
|
return {
|
|
26
43
|
x: this.parentNode.size().width,
|
|
27
|
-
y: this.
|
|
44
|
+
y: this.hostPosition().y + this.hostSize().height / 2,
|
|
28
45
|
};
|
|
29
46
|
case 'top':
|
|
30
47
|
return {
|
|
31
|
-
x: this.
|
|
48
|
+
x: this.hostPosition().x + this.hostSize().width / 2,
|
|
32
49
|
y: 0,
|
|
33
50
|
};
|
|
34
51
|
case 'bottom':
|
|
35
52
|
return {
|
|
36
|
-
x: this.
|
|
53
|
+
x: this.hostPosition().x + this.hostSize().width / 2,
|
|
37
54
|
y: this.parentNode.size().height,
|
|
38
55
|
};
|
|
39
56
|
}
|
|
@@ -50,47 +67,30 @@ export class HandleModel {
|
|
|
50
67
|
return { x: 0, y: this.size().height / 2 };
|
|
51
68
|
}
|
|
52
69
|
});
|
|
53
|
-
this.
|
|
54
|
-
return {
|
|
55
|
-
x: this.parentNode.globalPoint().x + this.offset().x + this.sizeOffset().x,
|
|
56
|
-
y: this.parentNode.globalPoint().y + this.offset().y + this.sizeOffset().y,
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
this.state = signal('idle');
|
|
60
|
-
this.updateParentSizeAndPosition$ = new Subject();
|
|
61
|
-
this.parentSize = toSignal(this.updateParentSizeAndPosition$.pipe(map(() => this.getParentSize())), {
|
|
62
|
-
initialValue: { width: 0, height: 0 },
|
|
63
|
-
});
|
|
64
|
-
this.parentPosition = toSignal(this.updateParentSizeAndPosition$.pipe(map(() => ({
|
|
65
|
-
x: this.parentReference instanceof HTMLElement ? this.parentReference.offsetLeft : 0, // for now just 0 for group nodes
|
|
66
|
-
y: this.parentReference instanceof HTMLElement ? this.parentReference.offsetTop : 0, // for now just 0 for group nodes
|
|
67
|
-
}))), {
|
|
68
|
-
initialValue: { x: 0, y: 0 },
|
|
69
|
-
});
|
|
70
|
-
this.parentReference = this.rawHandle.parentReference;
|
|
70
|
+
this.hostReference = this.rawHandle.hostReference;
|
|
71
71
|
this.template = this.rawHandle.template;
|
|
72
72
|
this.templateContext = {
|
|
73
73
|
$implicit: {
|
|
74
|
-
point: this.
|
|
74
|
+
point: this.hostOffset,
|
|
75
75
|
state: this.state,
|
|
76
76
|
node: this.parentNode.node,
|
|
77
77
|
},
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
this.
|
|
80
|
+
updateHost() {
|
|
81
|
+
this.updateHostSizeAndPosition$.next();
|
|
82
82
|
}
|
|
83
|
-
|
|
84
|
-
if (this.
|
|
83
|
+
getHostSize() {
|
|
84
|
+
if (this.hostReference instanceof HTMLElement) {
|
|
85
85
|
return {
|
|
86
|
-
width: this.
|
|
87
|
-
height: this.
|
|
86
|
+
width: this.hostReference.offsetWidth,
|
|
87
|
+
height: this.hostReference.offsetHeight,
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
|
-
else if (this.
|
|
91
|
-
return this.
|
|
90
|
+
else if (this.hostReference instanceof SVGGraphicsElement) {
|
|
91
|
+
return this.hostReference.getBBox();
|
|
92
92
|
}
|
|
93
93
|
return { width: 0, height: 0 };
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L21vZGVscy9oYW5kbGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXRELE1BQU0sT0FBTyxXQUFXO0lBeUZ0QixZQUNTLFNBQXFCLEVBQ3JCLFVBQXFCO1FBRHJCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQTFGZCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVoQzs7O1dBR0c7UUFDSSxTQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ25CLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ2hDLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXO1NBQ2xDLENBQUMsQ0FBQztRQUVJLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxPQUFPO2dCQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQzth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LE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlSGFuZGxlIH0gZnJvbSAnLi4vc2VydmljZXMvaGFuZGxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZU1vZGVsIH0gZnJvbSAnLi9ub2RlLm1vZGVsJztcbmltcG9ydCB7IFN1YmplY3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmV4cG9ydCB0eXBlIEhhbmRsZVN0YXRlID0gJ3ZhbGlkJyB8ICdpbnZhbGlkJyB8ICdpZGxlJztcblxuZXhwb3J0IGNsYXNzIEhhbmRsZU1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IHN0cm9rZVdpZHRoID0gMjtcblxuICAvKipcbiAgICogUHJlLWNvbXB1dGVkIHNpemUgZm9yIGRlZmF1bHQgaGFuZGxlLCBjaGFuZ2VkIGR5bmFtaWNhbGx5XG4gICAqIGZvciBjdXN0b20gaGFuZGxlc1xuICAgKi9cbiAgcHVibGljIHNpemUgPSBzaWduYWwoe1xuICAgIHdpZHRoOiAxMCArIDIgKiB0aGlzLnN0cm9rZVdpZHRoLFxuICAgIGhlaWdodDogMTAgKyAyICogdGhpcy5zdHJva2VXaWR0aCxcbiAgfSk7XG5cbiAgcHVibGljIHBvaW50QWJzb2x1dGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IHRoaXMucGFyZW50Tm9kZS5nbG9iYWxQb2ludCgpLnggKyB0aGlzLmhvc3RPZmZzZXQoKS54ICsgdGhpcy5zaXplT2Zmc2V0KCkueCxcbiAgICAgIHk6IHRoaXMucGFyZW50Tm9kZS5nbG9iYWxQb2ludCgpLnkgKyB0aGlzLmhvc3RPZmZzZXQoKS55ICsgdGhpcy5zaXplT2Zmc2V0KCkueSxcbiAgICB9O1xuICB9KTtcblxuICBwdWJsaWMgc3RhdGUgPSBzaWduYWw8SGFuZGxlU3RhdGU+KCdpZGxlJyk7XG5cbiAgcHJpdmF0ZSB1cGRhdGVIb3N0U2l6ZUFuZFBvc2l0aW9uJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBob3N0U2l6ZSA9IHRvU2lnbmFsKHRoaXMudXBkYXRlSG9zdFNpemVBbmRQb3NpdGlvbiQucGlwZShtYXAoKCkgPT4gdGhpcy5nZXRIb3N0U2l6ZSgpKSksIHtcbiAgICBpbml0aWFsVmFsdWU6IHsgd2lkdGg6IDAsIGhlaWdodDogMCB9LFxuICB9KTtcblxuICBwcml2YXRlIGhvc3RQb3NpdGlvbiA9IHRvU2lnbmFsKFxuICAgIHRoaXMudXBkYXRlSG9zdFNpemVBbmRQb3NpdGlvbiQucGlwZShcbiAgICAgIG1hcCgoKSA9PiAoe1xuICAgICAgICB4OiB0aGlzLmhvc3RSZWZlcmVuY2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IHRoaXMuaG9zdFJlZmVyZW5jZS5vZmZzZXRMZWZ0IDogMCwgLy8gZm9yIG5vdyBqdXN0IDAgZm9yIGdyb3VwIG5vZGVzXG4gICAgICAgIHk6IHRoaXMuaG9zdFJlZmVyZW5jZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gdGhpcy5ob3N0UmVmZXJlbmNlLm9mZnNldFRvcCA6IDAsIC8vIGZvciBub3cganVzdCAwIGZvciBncm91cCBub2Rlc1xuICAgICAgfSkpLFxuICAgICksXG4gICAge1xuICAgICAgaW5pdGlhbFZhbHVlOiB7IHg6IDAsIHk6IDAgfSxcbiAgICB9LFxuICApO1xuXG4gIHB1YmxpYyBob3N0T2Zmc2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy5yYXdIYW5kbGUucG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgeTogdGhpcy5ob3N0UG9zaXRpb24oKS55ICsgdGhpcy5ob3N0U2l6ZSgpLmhlaWdodCAvIDIsXG4gICAgICAgIH07XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgeDogdGhpcy5wYXJlbnROb2RlLnNpemUoKS53aWR0aCxcbiAgICAgICAgICB5OiB0aGlzLmhvc3RQb3NpdGlvbigpLnkgKyB0aGlzLmhvc3RTaXplKCkuaGVpZ2h0IC8gMixcbiAgICAgICAgfTtcbiAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgeDogdGhpcy5ob3N0UG9zaXRpb24oKS54ICsgdGhpcy5ob3N0U2l6ZSgpLndpZHRoIC8gMixcbiAgICAgICAgICB5OiAwLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB4OiB0aGlzLmhvc3RQb3NpdGlvbigpLnggKyB0aGlzLmhvc3RTaXplKCkud2lkdGggLyAyLFxuICAgICAgICAgIHk6IHRoaXMucGFyZW50Tm9kZS5zaXplKCkuaGVpZ2h0LFxuICAgICAgICB9O1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSBzaXplT2Zmc2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy5yYXdIYW5kbGUucG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICByZXR1cm4geyB4OiAtKHRoaXMuc2l6ZSgpLndpZHRoIC8gMiksIHk6IDAgfTtcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgcmV0dXJuIHsgeDogdGhpcy5zaXplKCkud2lkdGggLyAyLCB5OiAwIH07XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICByZXR1cm4geyB4OiAwLCB5OiAtKHRoaXMuc2l6ZSgpLmhlaWdodCAvIDIpIH07XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICByZXR1cm4geyB4OiAwLCB5OiB0aGlzLnNpemUoKS5oZWlnaHQgLyAyIH07XG4gICAgfVxuICB9KTtcblxuICBwdWJsaWMgaG9zdFJlZmVyZW5jZSA9IHRoaXMucmF3SGFuZGxlLmhvc3RSZWZlcmVuY2UhO1xuXG4gIHB1YmxpYyB0ZW1wbGF0ZSA9IHRoaXMucmF3SGFuZGxlLnRlbXBsYXRlO1xuXG4gIHB1YmxpYyB0ZW1wbGF0ZUNvbnRleHQgPSB7XG4gICAgJGltcGxpY2l0OiB7XG4gICAgICBwb2ludDogdGhpcy5ob3N0T2Zmc2V0LFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICBub2RlOiB0aGlzLnBhcmVudE5vZGUubm9kZSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByYXdIYW5kbGU6IE5vZGVIYW5kbGUsXG4gICAgcHVibGljIHBhcmVudE5vZGU6IE5vZGVNb2RlbCxcbiAgKSB7fVxuXG4gIHB1YmxpYyB1cGRhdGVIb3N0KCkge1xuICAgIHRoaXMudXBkYXRlSG9zdFNpemVBbmRQb3NpdGlvbiQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIb3N0U2l6ZSgpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIGlmICh0aGlzLmhvc3RSZWZlcmVuY2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IHRoaXMuaG9zdFJlZmVyZW5jZS5vZmZzZXRXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmhvc3RSZWZlcmVuY2Uub2Zmc2V0SGVpZ2h0LFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaG9zdFJlZmVyZW5jZSBpbnN0YW5jZW9mIFNWR0dyYXBoaWNzRWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuaG9zdFJlZmVyZW5jZS5nZXRCQm94KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICB9XG59XG4iXX0=
|