@valtimo/process-link 12.26.0 → 12.28.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/components/form-flow/form-flow.component.mjs +6 -5
- package/esm2022/lib/components/process-link-modal/process-link-modal.component.mjs +3 -3
- package/esm2022/lib/services/plugin-state.service.mjs +51 -2
- package/fesm2022/valtimo-process-link.mjs +56 -6
- package/fesm2022/valtimo-process-link.mjs.map +1 -1
- package/lib/components/form-flow/form-flow.component.d.ts +2 -3
- package/lib/components/form-flow/form-flow.component.d.ts.map +1 -1
- package/lib/services/plugin-state.service.d.ts +2 -0
- package/lib/services/plugin-state.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -28,8 +28,12 @@ import * as i7 from "../form-flow-configuration-container/form-flow-configuratio
|
|
|
28
28
|
export class FormFlowComponent {
|
|
29
29
|
set formFlowInstanceId(value) {
|
|
30
30
|
this.formFlowInstanceId$.next(value);
|
|
31
|
-
if (value)
|
|
31
|
+
if (value) {
|
|
32
|
+
this.formIoFormData.next(null);
|
|
33
|
+
this.formDefinition = undefined;
|
|
32
34
|
this.getBreadcrumbs();
|
|
35
|
+
this.getFormFlowStep();
|
|
36
|
+
}
|
|
33
37
|
}
|
|
34
38
|
constructor(formFlowService, modalService, translateService, configService) {
|
|
35
39
|
this.formFlowService = formFlowService;
|
|
@@ -50,9 +54,6 @@ export class FormFlowComponent {
|
|
|
50
54
|
this.formioOptions = new FormioOptionsImpl();
|
|
51
55
|
this.formioOptions.disableAlerts = true;
|
|
52
56
|
}
|
|
53
|
-
ngOnInit() {
|
|
54
|
-
this.getFormFlowStep();
|
|
55
|
-
}
|
|
56
57
|
ngOnDestroy() {
|
|
57
58
|
this._breadcrumbsSubscription?.unsubscribe();
|
|
58
59
|
}
|
|
@@ -203,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
203
204
|
}], formFlowChange: [{
|
|
204
205
|
type: Output
|
|
205
206
|
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZsb3cvZm9ybS1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZsb3cvZm9ybS1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE9BQU8sRUFFTCxpQkFBaUIsR0FJbEIsTUFBTSxxQkFBcUIsQ0FBQztBQU03QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQU9uQyxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLElBQW9CLGtCQUFrQixDQUFDLEtBQW9CO1FBQ3pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckMsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFzQkQsWUFDbUIsZUFBZ0MsRUFDaEMsWUFBaUMsRUFDakMsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBSDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWpDdEIs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QyxVQUFVLENBQUM7UUFDekUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0F6TlUsaUJBQWlCO21HQUFqQixpQkFBaUIsb1VDdEM5Qiw2Z0VBeURBOzs0RkRuQmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLG1CQUFtQjtpTEFLTSxJQUFJO3NCQUF0QyxTQUFTO3VCQUFDLE1BQU07Z0JBRVEsY0FBYztzQkFBdEMsS0FBSztnQkFHYyxrQkFBa0I7c0JBQXJDLEtBQUs7Z0JBTW9CLGdCQUFnQjtzQkFBekMsTUFBTTtnQkFDbUIsY0FBYztzQkFBdkMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zvcm1pb0Zvcm19IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQge1xuICBGb3JtaW9Db21wb25lbnQsXG4gIEZvcm1pb09wdGlvbnNJbXBsLFxuICBGb3JtaW9TdWJtaXNzaW9uLFxuICBWYWx0aW1vRm9ybWlvT3B0aW9ucyxcbiAgVmFsdGltb01vZGFsU2VydmljZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1GbG93U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtGb3JtRmxvd0luc3RhbmNlLCBGb3JtRmxvd1N0ZXBUeXBlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U3RlcH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0tZmxvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZsb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZsb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nKSBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRm9ybWlvQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSBmb3JtSW9Gb3JtRGF0YTogQmVoYXZpb3JTdWJqZWN0PGFueSB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFxuICAgIG51bGxcbiAgKTtcbiAgQElucHV0KCkgcHVibGljIHNldCBmb3JtRmxvd0luc3RhbmNlSWQodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQubmV4dCh2YWx1ZSk7XG5cbiAgICBpZiAodmFsdWUpIHRoaXMuZ2V0QnJlYWRjcnVtYnMoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZm9ybUZsb3dDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBmb3JtRmxvd0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgZm9ybURlZmluaXRpb246IEZvcm1pb0Zvcm07XG4gIHB1YmxpYyBmb3JtaW9PcHRpb25zOiBWYWx0aW1vRm9ybWlvT3B0aW9ucztcblxuICBwdWJsaWMgcmVhZG9ubHkgYnJlYWRjcnVtYnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGVwW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybUZsb3dTdGVwVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1GbG93U3RlcFR5cGUgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IEZvcm1GbG93Q3VzdG9tQ29tcG9uZW50SWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlRm9ybUZsb3dCcmVhZGNydW1icyQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0RmVhdHVyZVRvZ2dsZU9ic2VydmFibGUoXG4gICAgJ2VuYWJsZUZvcm1GbG93QnJlYWRjcnVtYnMnXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBmb3JtRmxvd0luc3RhbmNlSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPignJyk7XG5cbiAgcHJpdmF0ZSBmb3JtRmxvd1N0ZXBJbnN0YW5jZUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9icmVhZGNydW1ic1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1GbG93U2VydmljZTogRm9ybUZsb3dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBWYWx0aW1vTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5mb3JtaW9PcHRpb25zID0gbmV3IEZvcm1pb09wdGlvbnNJbXBsKCk7XG4gICAgdGhpcy5mb3JtaW9PcHRpb25zLmRpc2FibGVBbGVydHMgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0Rm9ybUZsb3dTdGVwKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYnJlYWRjcnVtYnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICghZXZlbnQ/LmRhdGEpIHJldHVybjtcblxuICAgIHRoaXMuZm9ybUlvRm9ybURhdGEubmV4dChldmVudC5kYXRhKTtcbiAgICB0aGlzLmZvcm1GbG93Q2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdChzdWJtaXNzaW9uOiBGb3JtaW9TdWJtaXNzaW9uKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICBpZiAoc3VibWlzc2lvbi5kYXRhKSB7XG4gICAgICB0aGlzLmZvcm1Jb0Zvcm1EYXRhLm5leHQoc3VibWlzc2lvbi5kYXRhKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdWJtaXNzaW9uLmRhdGEuc3VibWl0ICYmXG4gICAgICB0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQuZ2V0VmFsdWUoKSAmJlxuICAgICAgdGhpcy5mb3JtRmxvd1N0ZXBJbnN0YW5jZUlkXG4gICAgKSB7XG4gICAgICB0aGlzLmZvcm1GbG93U2VydmljZVxuICAgICAgICAuc3VibWl0U3RlcChcbiAgICAgICAgICB0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICB0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWQsXG4gICAgICAgICAgdGhpcy5mb3JtSW9Gb3JtRGF0YS5nZXRWYWx1ZSgpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlc3VsdDogRm9ybUZsb3dJbnN0YW5jZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVGb3JtRmxvd1N0ZXAocmVzdWx0KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiBlcnJvcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtPy5zaG93RXJyb3JzKGVycm9ycyk7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoc3VibWlzc2lvbi5kYXRhWydiYWNrJ10pIHtcbiAgICAgIHRoaXMuYmFjayhzdWJtaXNzaW9uLmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkV2ZW50KHN1Ym1pc3Npb246IGFueSk6IHZvaWQge1xuICAgIGlmIChzdWJtaXNzaW9uLmRhdGFbJ2JhY2snXSB8fCBzdWJtaXNzaW9uLnR5cGUgPT0gJ2JhY2snKSB7XG4gICAgICB0aGlzLmJhY2soc3VibWlzc2lvbi5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZURhdGEoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUlvRm9ybURhdGFWYWx1ZSA9IHRoaXMuZm9ybUlvRm9ybURhdGEuZ2V0VmFsdWUoKTtcblxuICAgIGlmIChmb3JtSW9Gb3JtRGF0YVZhbHVlICYmIHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpKSB7XG4gICAgICB0aGlzLmZvcm1GbG93U2VydmljZS5zYXZlKHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpLCBmb3JtSW9Gb3JtRGF0YVZhbHVlKS5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IG51bGwsXG4gICAgICAgIGVycm9ycyA9PiB0aGlzLmZvcm0uc2hvd0Vycm9ycyhlcnJvcnMpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblN0ZXBTZWxlY3RlZChldmVudDoge3N0ZXA6IHtzdGVwSW5zdGFuY2VJZDogc3RyaW5nfTsgaW5kZXg6IG51bWJlcn0pOiB2b2lkIHtcbiAgICBjb25zdCBzdWJtaXNzaW9uRGF0YSA9IHRoaXMuZm9ybUlvRm9ybURhdGEuZ2V0VmFsdWUoKS5kYXRhO1xuXG4gICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICB0aGlzLmN1cnJlbnRTdGVwSW5kZXgkLm5leHQoZXZlbnQuaW5kZXgpO1xuXG4gICAgaWYgKCF0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQuZ2V0VmFsdWUoKSB8fCAhdGhpcy5mb3JtRmxvd1N0ZXBJbnN0YW5jZUlkKSByZXR1cm47XG5cbiAgICB0aGlzLmZvcm1GbG93U2VydmljZVxuICAgICAgLm5hdmlnYXRlVG9TdGVwKFxuICAgICAgICB0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgdGhpcy5mb3JtRmxvd1N0ZXBJbnN0YW5jZUlkLFxuICAgICAgICBldmVudC5zdGVwLnN0ZXBJbnN0YW5jZUlkLFxuICAgICAgICBzdWJtaXNzaW9uRGF0YVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXN1bHQ6IEZvcm1GbG93SW5zdGFuY2UpID0+IHRoaXMuaGFuZGxlRm9ybUZsb3dTdGVwKHJlc3VsdCksXG4gICAgICAgIGVycm9yOiBlcnJvcnMgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybT8uc2hvd0Vycm9ycyhlcnJvcnMpO1xuICAgICAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnJlYWRjcnVtYnMoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpIHx8XG4gICAgICAhdGhpcy5jb25maWdTZXJ2aWNlLmdldEZlYXR1cmVUb2dnbGUoJ2VuYWJsZUZvcm1GbG93QnJlYWRjcnVtYnMnKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2JyZWFkY3J1bWJzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fYnJlYWRjcnVtYnNTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlLmdldEJyZWFkY3J1bWJzKHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICAgIF0pXG4gICAgICAucGlwZShtYXAoKFticmVhZGNydW1ic10pID0+IGJyZWFkY3J1bWJzKSlcbiAgICAgIC5zdWJzY3JpYmUoYnJlYWRjcnVtYnMgPT4ge1xuICAgICAgICBjb25zdCBjbGFzc0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjZHMtLXByb2dyZXNzLXN0ZXAtLWN1cnJlbnQnKTtcblxuICAgICAgICB0aGlzLmN1cnJlbnRTdGVwSW5kZXgkLm5leHQoYnJlYWRjcnVtYnMuY3VycmVudFN0ZXBJbmRleCk7XG5cbiAgICAgICAgdGhpcy5icmVhZGNydW1icyQubmV4dChcbiAgICAgICAgICBicmVhZGNydW1icy5icmVhZGNydW1icy5tYXAoYnJlYWRjcnVtYiA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAgIGJyZWFkY3J1bWIudGl0bGUgPz9cbiAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGZvcm1GbG93LnN0ZXAuJHticmVhZGNydW1iLmtleX0udGl0bGVgKSA/P1xuICAgICAgICAgICAgICBicmVhZGNydW1iLmtleSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBicmVhZGNydW1iLnN0ZXBJbnN0YW5jZUlkID09PSBudWxsLFxuICAgICAgICAgICAgY29tcGxldGU6IGJyZWFkY3J1bWIuY29tcGxldGVkLFxuICAgICAgICAgICAgc3RlcEluc3RhbmNlSWQ6IGJyZWFkY3J1bWIuc3RlcEluc3RhbmNlSWQsXG4gICAgICAgICAgfSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGNsYXNzRWxlbWVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY2xhc3NFbGVtZW50WzBdLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjogJ3Ntb290aCcsIGlubGluZTogJ2NlbnRlcid9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1GbG93U3RlcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpKSByZXR1cm47XG5cbiAgICB0aGlzLmZvcm1GbG93U2VydmljZVxuICAgICAgLmdldEZvcm1GbG93U3RlcCh0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQuZ2V0VmFsdWUoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogRm9ybUZsb3dJbnN0YW5jZSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUZvcm1GbG93U3RlcChyZXN1bHQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGJhY2soc3VibWlzc2lvbkRhdGE6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLmdldFZhbHVlKCkpIHJldHVybjtcblxuICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlLmJhY2sodGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLmdldFZhbHVlKCksIHN1Ym1pc3Npb25EYXRhKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3VsdDogRm9ybUZsb3dJbnN0YW5jZSkgPT4gdGhpcy5oYW5kbGVGb3JtRmxvd1N0ZXAocmVzdWx0KSxcbiAgICAgIGVycm9yOiBlcnJvcnMgPT4ge1xuICAgICAgICB0aGlzLmZvcm0/LnNob3dFcnJvcnMoZXJyb3JzKTtcbiAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUZvcm1GbG93U3RlcChmb3JtRmxvd0luc3RhbmNlOiBGb3JtRmxvd0luc3RhbmNlKTogdm9pZCB7XG4gICAgaWYgKGZvcm1GbG93SW5zdGFuY2Uuc3RlcCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5mb3JtRmxvd1N0ZXBUeXBlJC5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5Gb3JtRmxvd0N1c3RvbUNvbXBvbmVudElkJC5uZXh0KCcnKTtcbiAgICAgIHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5mb3JtRmxvd1N0ZXBJbnN0YW5jZUlkID0gbnVsbDtcbiAgICAgIHRoaXMuZm9ybUZsb3dDb21wbGV0ZS5lbWl0KG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdldEJyZWFkY3J1bWJzKCk7XG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5zY3JvbGxUb1RvcCgpO1xuICAgICAgdGhpcy5mb3JtRmxvd1N0ZXBUeXBlJC5uZXh0KGZvcm1GbG93SW5zdGFuY2Uuc3RlcD8udHlwZSA/PyBudWxsKTtcbiAgICAgIHRoaXMuRm9ybUZsb3dDdXN0b21Db21wb25lbnRJZCQubmV4dChmb3JtRmxvd0luc3RhbmNlPy5zdGVwPy50eXBlUHJvcGVydGllcz8uaWQgfHwgJycpO1xuICAgICAgdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLm5leHQoZm9ybUZsb3dJbnN0YW5jZS5pZCk7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWQgPSBmb3JtRmxvd0luc3RhbmNlLnN0ZXA/LmlkID8/IG51bGw7XG4gICAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gZm9ybUZsb3dJbnN0YW5jZS5zdGVwPy50eXBlUHJvcGVydGllcy5kZWZpbml0aW9uO1xuICAgIH1cblxuICAgIHRoaXMuZW5hYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgYnJlYWRjcnVtYnM6IGJyZWFkY3J1bWJzJCB8IGFzeW5jLFxuICAgIGN1cnJlbnRTdGVwSW5kZXg6IGN1cnJlbnRTdGVwSW5kZXgkIHwgYXN5bmMsXG4gICAgZW5hYmxlRm9ybUZsb3dCcmVhZGNydW1iczogZW5hYmxlRm9ybUZsb3dCcmVhZGNydW1icyQgfCBhc3luYyxcbiAgICBmb3JtRmxvd0luc3RhbmNlSWQ6IGZvcm1GbG93SW5zdGFuY2VJZCQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb24gJiYgKGZvcm1GbG93U3RlcFR5cGUkIHwgYXN5bmMpID09PSAnZm9ybSdcIj5cbiAgICA8ZGl2ICpuZ0lmPVwib2JzLmVuYWJsZUZvcm1GbG93QnJlYWRjcnVtYnNcIiBjbGFzcz1cImZvcm0tZmxvd19fcHJvZ3Jlc3MtYmFyLWluZGljYXRvclwiPlxuICAgICAgPGNkcy1wcm9ncmVzcy1pbmRpY2F0b3JcbiAgICAgICAgW3NwYWNpbmddPVwiJ2VxdWFsJ1wiXG4gICAgICAgIFtza2VsZXRvbl09XCJvYnMuYnJlYWRjcnVtYnMubGVuZ3RoID09PSAwXCJcbiAgICAgICAgW2N1cnJlbnRdPVwib2JzLmN1cnJlbnRTdGVwSW5kZXhcIlxuICAgICAgICBbc3RlcHNdPVwib2JzLmJyZWFkY3J1bWJzXCJcbiAgICAgICAgKHN0ZXBTZWxlY3RlZCk9XCJvblN0ZXBTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvY2RzLXByb2dyZXNzLWluZGljYXRvcj5cbiAgICA8L2Rpdj5cblxuICAgIDx2YWx0aW1vLWZvcm0taW9cbiAgICAgICNmb3JtXG4gICAgICBbZm9ybV09XCJmb3JtRGVmaW5pdGlvblwiXG4gICAgICAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIlxuICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChldmVudCk9XCJvbkV2ZW50KCRldmVudClcIlxuICAgICAgW29wdGlvbnNdPVwiZm9ybWlvT3B0aW9uc1wiXG4gICAgPjwvdmFsdGltby1mb3JtLWlvPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiKGZvcm1GbG93U3RlcFR5cGUkIHwgYXN5bmMpID09PSAnY3VzdG9tLWNvbXBvbmVudCdcIj5cbiAgICA8dmFsdGltby1mb3JtLWZsb3ctY29uZmlndXJhdGlvbi1jb250YWluZXJcbiAgICAgIFtjb21wb25lbnRJZF09XCJGb3JtRmxvd0N1c3RvbUNvbXBvbmVudElkJCB8IGFzeW5jXCJcbiAgICAgIFtmb3JtRmxvd0luc3RhbmNlSWRdPVwib2JzLmZvcm1GbG93SW5zdGFuY2VJZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgKHN1Ym1pdEV2ZW50KT1cIm9uU3VibWl0KCRldmVudClcIlxuICAgICAgKGNoYW5nZUV2ZW50KT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICA8L3ZhbHRpbW8tZm9ybS1mbG93LWNvbmZpZ3VyYXRpb24tY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZsb3cvZm9ybS1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZsb3cvZm9ybS1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUVMLGlCQUFpQixHQUlsQixNQUFNLHFCQUFxQixDQUFDO0FBTTdCLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBT25DLE1BQU0sT0FBTyxpQkFBaUI7SUFNNUIsSUFBb0Isa0JBQWtCLENBQUMsS0FBb0I7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQXNCRCxZQUNtQixlQUFnQyxFQUNoQyxZQUFpQyxFQUNqQyxnQkFB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SUFBSSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7WUFDaEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQztRQUN6RSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOytHQTFOVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixvVUN0QzlCLDZnRUF5REE7OzRGRG5CYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsbUJBQW1CO2lMQUtNLElBQUk7c0JBQXRDLFNBQVM7dUJBQUMsTUFBTTtnQkFFUSxjQUFjO3NCQUF0QyxLQUFLO2dCQUdjLGtCQUFrQjtzQkFBckMsS0FBSztnQkFXb0IsZ0JBQWdCO3NCQUF6QyxNQUFNO2dCQUNtQixjQUFjO3NCQUF2QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zvcm1pb0Zvcm19IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQge1xuICBGb3JtaW9Db21wb25lbnQsXG4gIEZvcm1pb09wdGlvbnNJbXBsLFxuICBGb3JtaW9TdWJtaXNzaW9uLFxuICBWYWx0aW1vRm9ybWlvT3B0aW9ucyxcbiAgVmFsdGltb01vZGFsU2VydmljZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1GbG93U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtGb3JtRmxvd0luc3RhbmNlLCBGb3JtRmxvd1N0ZXBUeXBlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U3RlcH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0tZmxvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZsb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZsb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdmb3JtJykgcHVibGljIHJlYWRvbmx5IGZvcm06IEZvcm1pb0NvbXBvbmVudDtcblxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHkgZm9ybUlvRm9ybURhdGE6IEJlaGF2aW9yU3ViamVjdDxhbnkgfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihcbiAgICBudWxsXG4gICk7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZm9ybUZsb3dJbnN0YW5jZUlkKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLm5leHQodmFsdWUpO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmZvcm1Jb0Zvcm1EYXRhLm5leHQobnVsbCk7XG4gICAgICB0aGlzLmZvcm1EZWZpbml0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5nZXRCcmVhZGNydW1icygpO1xuICAgICAgdGhpcy5nZXRGb3JtRmxvd1N0ZXAoKTtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGZvcm1GbG93Q29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZm9ybUZsb3dDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZvcm1EZWZpbml0aW9uOiBGb3JtaW9Gb3JtO1xuICBwdWJsaWMgZm9ybWlvT3B0aW9uczogVmFsdGltb0Zvcm1pb09wdGlvbnM7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJyZWFkY3J1bWJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RlcFtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGZvcm1GbG93U3RlcFR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRmxvd1N0ZXBUeXBlIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBGb3JtRmxvd0N1c3RvbUNvbXBvbmVudElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50U3RlcEluZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgcHVibGljIHJlYWRvbmx5IGVuYWJsZUZvcm1GbG93QnJlYWRjcnVtYnMkID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldEZlYXR1cmVUb2dnbGVPYnNlcnZhYmxlKFxuICAgICdlbmFibGVGb3JtRmxvd0JyZWFkY3J1bWJzJ1xuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybUZsb3dJbnN0YW5jZUlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4oJycpO1xuXG4gIHByaXZhdGUgZm9ybUZsb3dTdGVwSW5zdGFuY2VJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfYnJlYWRjcnVtYnNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmxvd1NlcnZpY2U6IEZvcm1GbG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogVmFsdGltb01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZm9ybWlvT3B0aW9ucyA9IG5ldyBGb3JtaW9PcHRpb25zSW1wbCgpO1xuICAgIHRoaXMuZm9ybWlvT3B0aW9ucy5kaXNhYmxlQWxlcnRzID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9icmVhZGNydW1ic1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCFldmVudD8uZGF0YSkgcmV0dXJuO1xuXG4gICAgdGhpcy5mb3JtSW9Gb3JtRGF0YS5uZXh0KGV2ZW50LmRhdGEpO1xuICAgIHRoaXMuZm9ybUZsb3dDaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uU3VibWl0KHN1Ym1pc3Npb246IEZvcm1pb1N1Ym1pc3Npb24pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIGlmIChzdWJtaXNzaW9uLmRhdGEpIHtcbiAgICAgIHRoaXMuZm9ybUlvRm9ybURhdGEubmV4dChzdWJtaXNzaW9uLmRhdGEpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHN1Ym1pc3Npb24uZGF0YS5zdWJtaXQgJiZcbiAgICAgIHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpICYmXG4gICAgICB0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWRcbiAgICApIHtcbiAgICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlXG4gICAgICAgIC5zdWJtaXRTdGVwKFxuICAgICAgICAgIHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpLFxuICAgICAgICAgIHRoaXMuZm9ybUZsb3dTdGVwSW5zdGFuY2VJZCxcbiAgICAgICAgICB0aGlzLmZvcm1Jb0Zvcm1EYXRhLmdldFZhbHVlKClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzdWx0OiBGb3JtRmxvd0luc3RhbmNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUZvcm1GbG93U3RlcChyZXN1bHQpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IGVycm9ycyA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm0/LnNob3dFcnJvcnMoZXJyb3JzKTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChzdWJtaXNzaW9uLmRhdGFbJ2JhY2snXSkge1xuICAgICAgdGhpcy5iYWNrKHN1Ym1pc3Npb24uZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRXZlbnQoc3VibWlzc2lvbjogYW55KTogdm9pZCB7XG4gICAgaWYgKHN1Ym1pc3Npb24uZGF0YVsnYmFjayddIHx8IHN1Ym1pc3Npb24udHlwZSA9PSAnYmFjaycpIHtcbiAgICAgIHRoaXMuYmFjayhzdWJtaXNzaW9uLmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlRGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtSW9Gb3JtRGF0YVZhbHVlID0gdGhpcy5mb3JtSW9Gb3JtRGF0YS5nZXRWYWx1ZSgpO1xuXG4gICAgaWYgKGZvcm1Jb0Zvcm1EYXRhVmFsdWUgJiYgdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLmdldFZhbHVlKCkpIHtcbiAgICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlLnNhdmUodGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLmdldFZhbHVlKCksIGZvcm1Jb0Zvcm1EYXRhVmFsdWUpLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4gbnVsbCxcbiAgICAgICAgZXJyb3JzID0+IHRoaXMuZm9ybS5zaG93RXJyb3JzKGVycm9ycylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU3RlcFNlbGVjdGVkKGV2ZW50OiB7c3RlcDoge3N0ZXBJbnN0YW5jZUlkOiBzdHJpbmd9OyBpbmRleDogbnVtYmVyfSk6IHZvaWQge1xuICAgIGNvbnN0IHN1Ym1pc3Npb25EYXRhID0gdGhpcy5mb3JtSW9Gb3JtRGF0YS5nZXRWYWx1ZSgpLmRhdGE7XG5cbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuY3VycmVudFN0ZXBJbmRleCQubmV4dChldmVudC5pbmRleCk7XG5cbiAgICBpZiAoIXRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpIHx8ICF0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWQpIHJldHVybjtcblxuICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlXG4gICAgICAubmF2aWdhdGVUb1N0ZXAoXG4gICAgICAgIHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpLFxuICAgICAgICB0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWQsXG4gICAgICAgIGV2ZW50LnN0ZXAuc3RlcEluc3RhbmNlSWQsXG4gICAgICAgIHN1Ym1pc3Npb25EYXRhXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3VsdDogRm9ybUZsb3dJbnN0YW5jZSkgPT4gdGhpcy5oYW5kbGVGb3JtRmxvd1N0ZXAocmVzdWx0KSxcbiAgICAgICAgZXJyb3I6IGVycm9ycyA9PiB7XG4gICAgICAgICAgdGhpcy5mb3JtPy5zaG93RXJyb3JzKGVycm9ycyk7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCcmVhZGNydW1icygpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLmdldFZhbHVlKCkgfHxcbiAgICAgICF0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0RmVhdHVyZVRvZ2dsZSgnZW5hYmxlRm9ybUZsb3dCcmVhZGNydW1icycpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fYnJlYWRjcnVtYnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9icmVhZGNydW1ic1N1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5mb3JtRmxvd1NlcnZpY2UuZ2V0QnJlYWRjcnVtYnModGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLmdldFZhbHVlKCkpLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgXSlcbiAgICAgIC5waXBlKG1hcCgoW2JyZWFkY3J1bWJzXSkgPT4gYnJlYWRjcnVtYnMpKVxuICAgICAgLnN1YnNjcmliZShicmVhZGNydW1icyA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Nkcy0tcHJvZ3Jlc3Mtc3RlcC0tY3VycmVudCcpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudFN0ZXBJbmRleCQubmV4dChicmVhZGNydW1icy5jdXJyZW50U3RlcEluZGV4KTtcblxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJzJC5uZXh0KFxuICAgICAgICAgIGJyZWFkY3J1bWJzLmJyZWFkY3J1bWJzLm1hcChicmVhZGNydW1iID0+ICh7XG4gICAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgICAgYnJlYWRjcnVtYi50aXRsZSA/P1xuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgZm9ybUZsb3cuc3RlcC4ke2JyZWFkY3J1bWIua2V5fS50aXRsZWApID8/XG4gICAgICAgICAgICAgIGJyZWFkY3J1bWIua2V5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IGJyZWFkY3J1bWIuc3RlcEluc3RhbmNlSWQgPT09IG51bGwsXG4gICAgICAgICAgICBjb21wbGV0ZTogYnJlYWRjcnVtYi5jb21wbGV0ZWQsXG4gICAgICAgICAgICBzdGVwSW5zdGFuY2VJZDogYnJlYWRjcnVtYi5zdGVwSW5zdGFuY2VJZCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoY2xhc3NFbGVtZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjbGFzc0VsZW1lbnRbMF0uc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiAnc21vb3RoJywgaW5saW5lOiAnY2VudGVyJ30pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybUZsb3dTdGVwKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLmdldFZhbHVlKCkpIHJldHVybjtcblxuICAgIHRoaXMuZm9ybUZsb3dTZXJ2aWNlXG4gICAgICAuZ2V0Rm9ybUZsb3dTdGVwKHRoaXMuZm9ybUZsb3dJbnN0YW5jZUlkJC5nZXRWYWx1ZSgpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBGb3JtRmxvd0luc3RhbmNlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlRm9ybUZsb3dTdGVwKHJlc3VsdCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYmFjayhzdWJtaXNzaW9uRGF0YTogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQuZ2V0VmFsdWUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5mb3JtRmxvd1NlcnZpY2UuYmFjayh0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQuZ2V0VmFsdWUoKSwgc3VibWlzc2lvbkRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzdWx0OiBGb3JtRmxvd0luc3RhbmNlKSA9PiB0aGlzLmhhbmRsZUZvcm1GbG93U3RlcChyZXN1bHQpLFxuICAgICAgZXJyb3I6IGVycm9ycyA9PiB7XG4gICAgICAgIHRoaXMuZm9ybT8uc2hvd0Vycm9ycyhlcnJvcnMpO1xuICAgICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRm9ybUZsb3dTdGVwKGZvcm1GbG93SW5zdGFuY2U6IEZvcm1GbG93SW5zdGFuY2UpOiB2b2lkIHtcbiAgICBpZiAoZm9ybUZsb3dJbnN0YW5jZS5zdGVwID09PSBudWxsKSB7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcFR5cGUkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLkZvcm1GbG93Q3VzdG9tQ29tcG9uZW50SWQkLm5leHQoJycpO1xuICAgICAgdGhpcy5mb3JtRmxvd0luc3RhbmNlSWQkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcEluc3RhbmNlSWQgPSBudWxsO1xuICAgICAgdGhpcy5mb3JtRmxvd0NvbXBsZXRlLmVtaXQobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0QnJlYWRjcnVtYnMoKTtcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLnNjcm9sbFRvVG9wKCk7XG4gICAgICB0aGlzLmZvcm1GbG93U3RlcFR5cGUkLm5leHQoZm9ybUZsb3dJbnN0YW5jZS5zdGVwPy50eXBlID8/IG51bGwpO1xuICAgICAgdGhpcy5Gb3JtRmxvd0N1c3RvbUNvbXBvbmVudElkJC5uZXh0KGZvcm1GbG93SW5zdGFuY2U/LnN0ZXA/LnR5cGVQcm9wZXJ0aWVzPy5pZCB8fCAnJyk7XG4gICAgICB0aGlzLmZvcm1GbG93SW5zdGFuY2VJZCQubmV4dChmb3JtRmxvd0luc3RhbmNlLmlkKTtcbiAgICAgIHRoaXMuZm9ybUZsb3dTdGVwSW5zdGFuY2VJZCA9IGZvcm1GbG93SW5zdGFuY2Uuc3RlcD8uaWQgPz8gbnVsbDtcbiAgICAgIHRoaXMuZm9ybURlZmluaXRpb24gPSBmb3JtRmxvd0luc3RhbmNlLnN0ZXA/LnR5cGVQcm9wZXJ0aWVzLmRlZmluaXRpb247XG4gICAgfVxuXG4gICAgdGhpcy5lbmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICAqbmdJZj1cIntcbiAgICBicmVhZGNydW1iczogYnJlYWRjcnVtYnMkIHwgYXN5bmMsXG4gICAgY3VycmVudFN0ZXBJbmRleDogY3VycmVudFN0ZXBJbmRleCQgfCBhc3luYyxcbiAgICBlbmFibGVGb3JtRmxvd0JyZWFkY3J1bWJzOiBlbmFibGVGb3JtRmxvd0JyZWFkY3J1bWJzJCB8IGFzeW5jLFxuICAgIGZvcm1GbG93SW5zdGFuY2VJZDogZm9ybUZsb3dJbnN0YW5jZUlkJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgKm5nSWY9XCJmb3JtRGVmaW5pdGlvbiAmJiAoZm9ybUZsb3dTdGVwVHlwZSQgfCBhc3luYykgPT09ICdmb3JtJ1wiPlxuICAgIDxkaXYgKm5nSWY9XCJvYnMuZW5hYmxlRm9ybUZsb3dCcmVhZGNydW1ic1wiIGNsYXNzPVwiZm9ybS1mbG93X19wcm9ncmVzcy1iYXItaW5kaWNhdG9yXCI+XG4gICAgICA8Y2RzLXByb2dyZXNzLWluZGljYXRvclxuICAgICAgICBbc3BhY2luZ109XCInZXF1YWwnXCJcbiAgICAgICAgW3NrZWxldG9uXT1cIm9icy5icmVhZGNydW1icy5sZW5ndGggPT09IDBcIlxuICAgICAgICBbY3VycmVudF09XCJvYnMuY3VycmVudFN0ZXBJbmRleFwiXG4gICAgICAgIFtzdGVwc109XCJvYnMuYnJlYWRjcnVtYnNcIlxuICAgICAgICAoc3RlcFNlbGVjdGVkKT1cIm9uU3RlcFNlbGVjdGVkKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9jZHMtcHJvZ3Jlc3MtaW5kaWNhdG9yPlxuICAgIDwvZGl2PlxuXG4gICAgPHZhbHRpbW8tZm9ybS1pb1xuICAgICAgI2Zvcm1cbiAgICAgIFtmb3JtXT1cImZvcm1EZWZpbml0aW9uXCJcbiAgICAgIChzdWJtaXQpPVwib25TdWJtaXQoJGV2ZW50KVwiXG4gICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGV2ZW50KT1cIm9uRXZlbnQoJGV2ZW50KVwiXG4gICAgICBbb3B0aW9uc109XCJmb3JtaW9PcHRpb25zXCJcbiAgICA+PC92YWx0aW1vLWZvcm0taW8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCIoZm9ybUZsb3dTdGVwVHlwZSQgfCBhc3luYykgPT09ICdjdXN0b20tY29tcG9uZW50J1wiPlxuICAgIDx2YWx0aW1vLWZvcm0tZmxvdy1jb25maWd1cmF0aW9uLWNvbnRhaW5lclxuICAgICAgW2NvbXBvbmVudElkXT1cIkZvcm1GbG93Q3VzdG9tQ29tcG9uZW50SWQkIHwgYXN5bmNcIlxuICAgICAgW2Zvcm1GbG93SW5zdGFuY2VJZF09XCJvYnMuZm9ybUZsb3dJbnN0YW5jZUlkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICAoc3VibWl0RXZlbnQpPVwib25TdWJtaXQoJGV2ZW50KVwiXG4gICAgICAoY2hhbmdlRXZlbnQpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvdmFsdGltby1mb3JtLWZsb3ctY29uZmlndXJhdGlvbi1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -82,10 +82,10 @@ export class ProcessLinkModalComponent {
|
|
|
82
82
|
this.processLinkStateService.setViewModelEnabled(value);
|
|
83
83
|
}
|
|
84
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, deps: [{ token: i1.ProcessLinkStateService }, { token: i1.ProcessLinkStepService }, { token: i1.ProcessLinkButtonService }, { token: i1.PluginStateService }, { token: i1.ProcessLinkService }, { token: i1.ProcessLinkStateService }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i4.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i6.SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: i7.SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: i8.PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: ["selectedPluginConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: i9.ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: i10.SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: i11.SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "component", type: i12.SelectUrlComponent, selector: "valtimo-select-url" }, { kind: "component", type: i13.SelectUIComponentComponent, selector: "valtimo-select-ui-component" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n selectedPluginConfiguration: selectedPluginConfiguration$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <h4 cdsModalHeaderLabel *ngIf=\"obs.typeOfSelectedProgressLink === 'plugin'\">\n {{\n 'processLinkConfiguration.pluginConfiguration'\n | translate: {pluginConfigTitle: obs.selectedPluginConfiguration?.title || '-'}\n }}\n </h4>\n <div class=\"process-link-progress\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i4.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i6.SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: i7.SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: i8.PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", inputs: ["selectedPluginConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: i9.ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: i10.SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: i11.SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "component", type: i12.SelectUrlComponent, selector: "valtimo-select-url" }, { kind: "component", type: i13.SelectUIComponentComponent, selector: "valtimo-select-ui-component" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
|
|
86
86
|
}
|
|
87
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
|
-
args: [{ selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n
|
|
89
|
+
args: [{ selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n selectedPluginConfiguration: selectedPluginConfiguration$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <h4 cdsModalHeaderLabel *ngIf=\"obs.typeOfSelectedProgressLink === 'plugin'\">\n {{\n 'processLinkConfiguration.pluginConfiguration'\n | translate: {pluginConfigTitle: obs.selectedPluginConfiguration?.title || '-'}\n }}\n </h4>\n <div class=\"process-link-progress\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'uiComponent' || obs.typeOfSelectedProgressLink === 'ui-component'\n \"\n >\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
90
90
|
}], ctorParameters: () => [{ type: i1.ProcessLinkStateService }, { type: i1.ProcessLinkStepService }, { type: i1.ProcessLinkButtonService }, { type: i1.PluginStateService }, { type: i1.ProcessLinkService }, { type: i1.ProcessLinkStateService }, { type: i2.ConfigService }] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVF4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLHlCQUF5QjtJQXFCcEMsWUFDbUIsWUFBcUMsRUFDckMsV0FBbUMsRUFDbkMsYUFBdUMsRUFDdkMsa0JBQXNDLEVBQ3RDLGtCQUFzQyxFQUN0Qyx1QkFBZ0QsRUFDaEQsYUFBNEI7UUFONUIsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQUNuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUEzQi9CLGVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUNsRCxXQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1FBQ2pELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7UUFDckQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDO1FBQ3JELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7UUFDckQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN6RCwyQkFBc0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDO1FBQ2xFLFlBQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNwQywrQkFBMEIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDO1FBQzFFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7UUFDeEQsaUNBQTRCLEdBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQztRQUV2Qyx3QkFBbUIsR0FDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDO0lBVTVELENBQUM7SUFFSixVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUN6RSxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQyxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDOytHQWhFVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixrRUNoQ3RDLG96TUFvS0E7OzRGRHBJYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXByb2Nlc3MtbGluay1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLWxpbmstbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWxpbmstbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0xpbmtNb2RhbENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TW9kYWwkID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2hvd01vZGFsJDtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NTdGVwTmFtZSQgPSB0aGlzLnN0YXRlU2VydmljZS5lbGVtZW50TmFtZSQ7XG4gIHB1YmxpYyByZWFkb25seSBzdGVwcyQgPSB0aGlzLnN0ZXBTZXJ2aWNlLnN0ZXBzJDtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwSW5kZXgkID0gdGhpcy5zdGVwU2VydmljZS5jdXJyZW50U3RlcEluZGV4JDtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwSWQkID0gdGhpcy5zdGVwU2VydmljZS5jdXJyZW50U3RlcElkJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dTYXZlQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBlbmFibGVTYXZlQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5lbmFibGVTYXZlQnV0dG9uJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dCYWNrQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5zaG93QmFja0J1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TmV4dEJ1dHRvbiQgPSB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd05leHRCdXR0b24kO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlTmV4dEJ1dHRvbiQgPSB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlTmV4dEJ1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBoaWRlUHJvZ3Jlc3NJbmRpY2F0b3IkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZVByb2dyZXNzSW5kaWNhdG9yJDtcbiAgcHVibGljIHJlYWRvbmx5IHNhdmluZyQgPSB0aGlzLnN0YXRlU2VydmljZS5zYXZpbmckO1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZU9mU2VsZWN0ZWRQcm9jZXNzTGluayQgPSB0aGlzLnN0YXRlU2VydmljZS50eXBlT2ZTZWxlY3RlZFByb2Nlc3NMaW5rJDtcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdNb2RlbEVuYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2Uudmlld01vZGVsRW5hYmxlZCQ7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kID1cbiAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaG93Vmlld01vZGVsVG9nZ2xlID1cbiAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmZlYXR1cmVUb2dnbGVzLmVuYWJsZUZvcm1WaWV3TW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RlcFNlcnZpY2U6IFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5TdGF0ZVNlcnZpY2U6IFBsdWdpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NMaW5rU2VydmljZTogUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gIH1cblxuICBiYWNrQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25TZXJ2aWNlLmNsaWNrQmFja0J1dHRvbigpO1xuICB9XG5cbiAgc2F2ZUJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5jbGlja1NhdmVCdXR0b24oKTtcbiAgfVxuXG4gIG5leHRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuY2xpY2tOZXh0QnV0dG9uKCk7XG4gIH1cblxuICB1bmxpbmtCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRQcm9jZXNzTGluayA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS5kZWxldGVQcm9jZXNzTGluayhzZWxlY3RlZFByb2Nlc3NMaW5rLmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ2hlY2tlZENoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2Uuc2V0Vmlld01vZGVsRW5hYmxlZCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICBjbGFzcz1cInByb2Nlc3MtbGluay1tb2RhbC1jb250YWluZXJcIlxuICAqbmdJZj1cIntcbiAgICBzaG93TW9kYWw6IHNob3dNb2RhbCQgfCBhc3luYyxcbiAgICBwcm9jZXNzU3RlcE5hbWU6IHByb2Nlc3NTdGVwTmFtZSQgfCBhc3luYyxcbiAgICBzdGVwczogc3RlcHMkIHwgYXN5bmMsXG4gICAgY3VycmVudFN0ZXBJbmRleDogY3VycmVudFN0ZXBJbmRleCQgfCBhc3luYyxcbiAgICBjdXJyZW50U3RlcElkOiBjdXJyZW50U3RlcElkJCB8IGFzeW5jLFxuICAgIHNob3dTYXZlQnV0dG9uOiBzaG93U2F2ZUJ1dHRvbiQgfCBhc3luYyxcbiAgICBlbmFibGVTYXZlQnV0dG9uOiBlbmFibGVTYXZlQnV0dG9uJCB8IGFzeW5jLFxuICAgIHNob3dCYWNrQnV0dG9uOiBzaG93QmFja0J1dHRvbiQgfCBhc3luYyxcbiAgICBzaG93TmV4dEJ1dHRvbjogc2hvd05leHRCdXR0b24kIHwgYXN5bmMsXG4gICAgZW5hYmxlTmV4dEJ1dHRvbjogZW5hYmxlTmV4dEJ1dHRvbiQgfCBhc3luYyxcbiAgICBzYXZpbmc6IHNhdmluZyQgfCBhc3luYyxcbiAgICBoaWRlUHJvZ3Jlc3NJbmRpY2F0b3I6IGhpZGVQcm9ncmVzc0luZGljYXRvciQgfCBhc3luYyxcbiAgICB0eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluazogdHlwZU9mU2VsZWN0ZWRQcm9jZXNzTGluayQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8Y2RzLW1vZGFsIHZhbHRpbW9DZHNNb2RhbCBbb3Blbl09XCJvYnMuc2hvd01vZGFsXCIgc2l6ZT1cImxnXCI+XG4gICAgPGNkcy1tb2RhbC1oZWFkZXIgKGNsb3NlU2VsZWN0KT1cImNsb3NlTW9kYWwoKVwiPlxuICAgICAgPGgyIGNkc01vZGFsSGVhZGVyTGFiZWw+e3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5jb25maWd1cmVTdGVwJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICA8aDMgY2RzTW9kYWxIZWFkZXJIZWFkaW5nPlxuICAgICAgICB7e1xuICAgICAgICAgICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24ubW9kYWxUaXRsZSdcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7cHJvY2Vzc1N0ZXBOYW1lOiBvYnMucHJvY2Vzc1N0ZXBOYW1lIHx8ICctJ31cbiAgICAgICAgfX1cbiAgICAgIDwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1saW5rLXByb2dyZXNzXCIgKm5nSWY9XCIhb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9ncmVzc0luZGljYXRvcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZHMtbW9kYWwtaGVhZGVyPlxuICAgIDxzZWN0aW9uIGNkc01vZGFsQ29udGVudCBbY2RzTGF5ZXJdPVwiMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0ZXBDb250ZW50OyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvY2RzLW1vZGFsPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NJbmRpY2F0b3IgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLXByb2dyZXNzLWluZGljYXRvclxuICAgICpuZ0lmPVwib2JzLnN0ZXBzICYmICFvYnMuaGlkZVByb2dyZXNzSW5kaWNhdG9yXCJcbiAgICBbc3RlcHNdPVwib2JzLnN0ZXBzXCJcbiAgICBbY3VycmVudF09XCJvYnMuY3VycmVudFN0ZXBJbmRleFwiXG4gICAgc3BhY2luZz1cImVxdWFsXCJcbiAgPjwvY2RzLXByb2dyZXNzLWluZGljYXRvcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc3RlcENvbnRlbnQgbGV0LW9icz1cIm9ic1wiPlxuICA8ZGl2IGNsYXNzPVwiY2RzLWxvYWRpbmctY29udGFpbmVyXCIgKm5nSWY9XCJvYnMuc2F2aW5nXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuICA8ZGl2IFtuZ0NsYXNzXT1cIntoaWRkZW46IG9icy5zYXZpbmd9XCI+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2Nob29zZVByb2Nlc3NMaW5rVHlwZSdcIj5cbiAgICAgICAgPHZhbHRpbW8tY2hvb3NlLXByb2Nlc3MtbGluay10eXBlPjwvdmFsdGltby1jaG9vc2UtcHJvY2Vzcy1saW5rLXR5cGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ3NlbGVjdEZvcm0nIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ2Zvcm0nXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tc2VsZWN0LWZvcm0+PC92YWx0aW1vLXNlbGVjdC1mb3JtPlxuICAgICAgICA8YnIgLz5cbiAgICAgICAgPGNkcy10b2dnbGVcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWV3TW9kZWxUb2dnbGVcIlxuICAgICAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLnRvZ2dsZVZpZXdNb2RlbC50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvblRleHRdPVwiJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi50b2dnbGVWaWV3TW9kZWwuY2hlY2tib3hEZXNjcmlwdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvZmZUZXh0XT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24udG9nZ2xlVmlld01vZGVsLmNoZWNrYm94RGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ2aWV3TW9kZWxFbmFibGVkJCB8IGFzeW5jXCJcbiAgICAgICAgICAoY2hlY2tlZENoYW5nZSk9XCJ0b2dnbGVDaGVja2VkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9jZHMtdG9nZ2xlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgb2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RGb3JtRmxvdycgfHwgb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rID09PSAnZm9ybS1mbG93J1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtZm9ybS1mbG93PjwvdmFsdGltby1zZWxlY3QtZm9ybS1mbG93PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdjaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24+PC92YWx0aW1vLXNlbGVjdC1wbHVnaW4tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5jdXJyZW50U3RlcElkID09PSAnY2hvb3NlUGx1Z2luQWN0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWFjdGlvbj48L3ZhbHRpbW8tc2VsZWN0LXBsdWdpbi1hY3Rpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2NvbmZpZ3VyZVBsdWdpbkFjdGlvbicgfHxcbiAgICAgICAgICBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmsgPT09ICdwbHVnaW4nXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDx2YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvblxuICAgICAgICAgIFtzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kXT1cInNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiRcIlxuICAgICAgICA+PC92YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDx2YWx0aW1vLXNlbGVjdC11cmxcbiAgICAgICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RVUkwnIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ3VybCdcIlxuICAgID48L3ZhbHRpbW8tc2VsZWN0LXVybD5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ3VpQ29tcG9uZW50JyB8fCBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmsgPT09ICd1aS1jb21wb25lbnQnXG4gICAgICBcIlxuICAgID5cbiAgICAgIDx2YWx0aW1vLXNlbGVjdC11aS1jb21wb25lbnQ+PC92YWx0aW1vLXNlbGVjdC11aS1jb21wb25lbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXIgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLW1vZGFsLWZvb3RlciAqbmdJZj1cIiFvYnMuc2F2aW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhbmNlbC1idXR0b25cIj5cbiAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwiZ2hvc3RcIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJvYnMuc2hvd0JhY2tCdXR0b24gJiYgIW9icy5zYXZpbmdcIlxuICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiYmFja0J1dHRvbkNsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmJhY2snIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICpuZ0lmPVwib2JzLnNob3dOZXh0QnV0dG9uICYmICFvYnMuc2F2aW5nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5lbmFibGVOZXh0QnV0dG9uID09PSBmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJuZXh0QnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24ubmV4dCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjZHNCdXR0b249XCJkYW5nZXItLXByaW1hcnlcIlxuICAgICAgICAqbmdJZj1cIm9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGlua1wiXG4gICAgICAgIChjbGljayk9XCJ1bmxpbmtCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi51bmxpbmsnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICpuZ0lmPVwiKG9icy5zaG93U2F2ZUJ1dHRvbiAmJiAhb2JzLnNhdmluZykgfHwgb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5lbmFibGVTYXZlQnV0dG9uID09PSBmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJzYXZlQnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY29tcGxldGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9wcm9jZXNzLWxpbmstbW9kYWwvcHJvY2Vzcy1saW5rLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVF4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLHlCQUF5QjtJQXFCcEMsWUFDbUIsWUFBcUMsRUFDckMsV0FBbUMsRUFDbkMsYUFBdUMsRUFDdkMsa0JBQXNDLEVBQ3RDLGtCQUFzQyxFQUN0Qyx1QkFBZ0QsRUFDaEQsYUFBNEI7UUFONUIsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQUNuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUEzQi9CLGVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUNsRCxXQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1FBQ2pELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7UUFDckQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDO1FBQ3JELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7UUFDckQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN6RCwyQkFBc0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDO1FBQ2xFLFlBQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNwQywrQkFBMEIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDO1FBQzFFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7UUFDeEQsaUNBQTRCLEdBQzFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQztRQUV2Qyx3QkFBbUIsR0FDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDO0lBVTVELENBQUM7SUFFSixVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUN6RSxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQyxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDOytHQWhFVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixrRUNoQ3RDLGtuTkE0S0E7OzRGRDVJYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXByb2Nlc3MtbGluay1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLWxpbmstbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWxpbmstbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0xpbmtNb2RhbENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TW9kYWwkID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2hvd01vZGFsJDtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NTdGVwTmFtZSQgPSB0aGlzLnN0YXRlU2VydmljZS5lbGVtZW50TmFtZSQ7XG4gIHB1YmxpYyByZWFkb25seSBzdGVwcyQgPSB0aGlzLnN0ZXBTZXJ2aWNlLnN0ZXBzJDtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwSW5kZXgkID0gdGhpcy5zdGVwU2VydmljZS5jdXJyZW50U3RlcEluZGV4JDtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwSWQkID0gdGhpcy5zdGVwU2VydmljZS5jdXJyZW50U3RlcElkJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dTYXZlQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5zaG93U2F2ZUJ1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBlbmFibGVTYXZlQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5lbmFibGVTYXZlQnV0dG9uJDtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dCYWNrQnV0dG9uJCA9IHRoaXMuYnV0dG9uU2VydmljZS5zaG93QmFja0J1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBzaG93TmV4dEJ1dHRvbiQgPSB0aGlzLmJ1dHRvblNlcnZpY2Uuc2hvd05leHRCdXR0b24kO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlTmV4dEJ1dHRvbiQgPSB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlTmV4dEJ1dHRvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBoaWRlUHJvZ3Jlc3NJbmRpY2F0b3IkID0gdGhpcy5zdGF0ZVNlcnZpY2UuaGlkZVByb2dyZXNzSW5kaWNhdG9yJDtcbiAgcHVibGljIHJlYWRvbmx5IHNhdmluZyQgPSB0aGlzLnN0YXRlU2VydmljZS5zYXZpbmckO1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZU9mU2VsZWN0ZWRQcm9jZXNzTGluayQgPSB0aGlzLnN0YXRlU2VydmljZS50eXBlT2ZTZWxlY3RlZFByb2Nlc3NMaW5rJDtcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdNb2RlbEVuYWJsZWQkID0gdGhpcy5zdGF0ZVNlcnZpY2Uudmlld01vZGVsRW5hYmxlZCQ7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kID1cbiAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaG93Vmlld01vZGVsVG9nZ2xlID1cbiAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmZlYXR1cmVUb2dnbGVzLmVuYWJsZUZvcm1WaWV3TW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RlcFNlcnZpY2U6IFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5TdGF0ZVNlcnZpY2U6IFBsdWdpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NMaW5rU2VydmljZTogUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gIH1cblxuICBiYWNrQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25TZXJ2aWNlLmNsaWNrQmFja0J1dHRvbigpO1xuICB9XG5cbiAgc2F2ZUJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5jbGlja1NhdmVCdXR0b24oKTtcbiAgfVxuXG4gIG5leHRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuY2xpY2tOZXh0QnV0dG9uKCk7XG4gIH1cblxuICB1bmxpbmtCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuXG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRQcm9jZXNzTGluayA9PiB7XG4gICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS5kZWxldGVQcm9jZXNzTGluayhzZWxlY3RlZFByb2Nlc3NMaW5rLmlkKS5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ2hlY2tlZENoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2Uuc2V0Vmlld01vZGVsRW5hYmxlZCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICBjbGFzcz1cInByb2Nlc3MtbGluay1tb2RhbC1jb250YWluZXJcIlxuICAqbmdJZj1cIntcbiAgICBzaG93TW9kYWw6IHNob3dNb2RhbCQgfCBhc3luYyxcbiAgICBwcm9jZXNzU3RlcE5hbWU6IHByb2Nlc3NTdGVwTmFtZSQgfCBhc3luYyxcbiAgICBzdGVwczogc3RlcHMkIHwgYXN5bmMsXG4gICAgc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uOiBzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kIHwgYXN5bmMsXG4gICAgY3VycmVudFN0ZXBJbmRleDogY3VycmVudFN0ZXBJbmRleCQgfCBhc3luYyxcbiAgICBjdXJyZW50U3RlcElkOiBjdXJyZW50U3RlcElkJCB8IGFzeW5jLFxuICAgIHNob3dTYXZlQnV0dG9uOiBzaG93U2F2ZUJ1dHRvbiQgfCBhc3luYyxcbiAgICBlbmFibGVTYXZlQnV0dG9uOiBlbmFibGVTYXZlQnV0dG9uJCB8IGFzeW5jLFxuICAgIHNob3dCYWNrQnV0dG9uOiBzaG93QmFja0J1dHRvbiQgfCBhc3luYyxcbiAgICBzaG93TmV4dEJ1dHRvbjogc2hvd05leHRCdXR0b24kIHwgYXN5bmMsXG4gICAgZW5hYmxlTmV4dEJ1dHRvbjogZW5hYmxlTmV4dEJ1dHRvbiQgfCBhc3luYyxcbiAgICBzYXZpbmc6IHNhdmluZyQgfCBhc3luYyxcbiAgICBoaWRlUHJvZ3Jlc3NJbmRpY2F0b3I6IGhpZGVQcm9ncmVzc0luZGljYXRvciQgfCBhc3luYyxcbiAgICB0eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluazogdHlwZU9mU2VsZWN0ZWRQcm9jZXNzTGluayQgfCBhc3luYyxcblxuICB9IGFzIG9ic1wiXG4+XG4gIDxjZHMtbW9kYWwgdmFsdGltb0Nkc01vZGFsIFtvcGVuXT1cIm9icy5zaG93TW9kYWxcIiBzaXplPVwibGdcIj5cbiAgICA8Y2RzLW1vZGFsLWhlYWRlciAoY2xvc2VTZWxlY3QpPVwiY2xvc2VNb2RhbCgpXCI+XG4gICAgICA8aDIgY2RzTW9kYWxIZWFkZXJMYWJlbD57eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmNvbmZpZ3VyZVN0ZXAnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5tb2RhbFRpdGxlJ1xuICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHtwcm9jZXNzU3RlcE5hbWU6IG9icy5wcm9jZXNzU3RlcE5hbWUgfHwgJy0nfVxuICAgICAgICB9fVxuICAgICAgPC9oMz5cbiAgICAgIDxoNCBjZHNNb2RhbEhlYWRlckxhYmVsICpuZ0lmPVwib2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rID09PSAncGx1Z2luJ1wiPlxuICAgICAgICB7e1xuICAgICAgICAgICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24ucGx1Z2luQ29uZmlndXJhdGlvbidcbiAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7cGx1Z2luQ29uZmlnVGl0bGU6IG9icy5zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24/LnRpdGxlIHx8ICctJ31cbiAgICAgICAgfX1cbiAgICAgIDwvaDQ+XG4gICAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1saW5rLXByb2dyZXNzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9ncmVzc0luZGljYXRvcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZHMtbW9kYWwtaGVhZGVyPlxuICAgIDxzZWN0aW9uIGNkc01vZGFsQ29udGVudCBbY2RzTGF5ZXJdPVwiMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0ZXBDb250ZW50OyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlcjsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvY2RzLW1vZGFsPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NJbmRpY2F0b3IgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLXByb2dyZXNzLWluZGljYXRvclxuICAgICpuZ0lmPVwib2JzLnN0ZXBzICYmICFvYnMuaGlkZVByb2dyZXNzSW5kaWNhdG9yXCJcbiAgICBbc3RlcHNdPVwib2JzLnN0ZXBzXCJcbiAgICBbY3VycmVudF09XCJvYnMuY3VycmVudFN0ZXBJbmRleFwiXG4gICAgc3BhY2luZz1cImVxdWFsXCJcbiAgPjwvY2RzLXByb2dyZXNzLWluZGljYXRvcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc3RlcENvbnRlbnQgbGV0LW9icz1cIm9ic1wiPlxuICA8ZGl2IGNsYXNzPVwiY2RzLWxvYWRpbmctY29udGFpbmVyXCIgKm5nSWY9XCJvYnMuc2F2aW5nXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuICA8ZGl2IFtuZ0NsYXNzXT1cIntoaWRkZW46IG9icy5zYXZpbmd9XCI+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2Nob29zZVByb2Nlc3NMaW5rVHlwZSdcIj5cbiAgICAgICAgPHZhbHRpbW8tY2hvb3NlLXByb2Nlc3MtbGluay10eXBlPjwvdmFsdGltby1jaG9vc2UtcHJvY2Vzcy1saW5rLXR5cGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ3NlbGVjdEZvcm0nIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ2Zvcm0nXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tc2VsZWN0LWZvcm0+PC92YWx0aW1vLXNlbGVjdC1mb3JtPlxuICAgICAgICA8YnIgLz5cbiAgICAgICAgPGNkcy10b2dnbGVcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWV3TW9kZWxUb2dnbGVcIlxuICAgICAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLnRvZ2dsZVZpZXdNb2RlbC50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvblRleHRdPVwiJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi50b2dnbGVWaWV3TW9kZWwuY2hlY2tib3hEZXNjcmlwdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtvZmZUZXh0XT1cIidwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24udG9nZ2xlVmlld01vZGVsLmNoZWNrYm94RGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ2aWV3TW9kZWxFbmFibGVkJCB8IGFzeW5jXCJcbiAgICAgICAgICAoY2hlY2tlZENoYW5nZSk9XCJ0b2dnbGVDaGVja2VkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9jZHMtdG9nZ2xlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgb2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RGb3JtRmxvdycgfHwgb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rID09PSAnZm9ybS1mbG93J1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtZm9ybS1mbG93PjwvdmFsdGltby1zZWxlY3QtZm9ybS1mbG93PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdjaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24+PC92YWx0aW1vLXNlbGVjdC1wbHVnaW4tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5jdXJyZW50U3RlcElkID09PSAnY2hvb3NlUGx1Z2luQWN0aW9uJ1wiPlxuICAgICAgICA8dmFsdGltby1zZWxlY3QtcGx1Z2luLWFjdGlvbj48L3ZhbHRpbW8tc2VsZWN0LXBsdWdpbi1hY3Rpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ2NvbmZpZ3VyZVBsdWdpbkFjdGlvbicgfHxcbiAgICAgICAgICBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmsgPT09ICdwbHVnaW4nXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDx2YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvblxuICAgICAgICAgIFtzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kXT1cInNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiRcIlxuICAgICAgICA+PC92YWx0aW1vLXBsdWdpbi1hY3Rpb24tY29uZmlndXJhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDx2YWx0aW1vLXNlbGVjdC11cmxcbiAgICAgICpuZ0lmPVwib2JzLmN1cnJlbnRTdGVwSWQgPT09ICdzZWxlY3RVUkwnIHx8IG9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGluayA9PT0gJ3VybCdcIlxuICAgID48L3ZhbHRpbW8tc2VsZWN0LXVybD5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBvYnMuY3VycmVudFN0ZXBJZCA9PT0gJ3VpQ29tcG9uZW50JyB8fCBvYnMudHlwZU9mU2VsZWN0ZWRQcm9ncmVzc0xpbmsgPT09ICd1aS1jb21wb25lbnQnXG4gICAgICBcIlxuICAgID5cbiAgICAgIDx2YWx0aW1vLXNlbGVjdC11aS1jb21wb25lbnQ+PC92YWx0aW1vLXNlbGVjdC11aS1jb21wb25lbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXIgbGV0LW9icz1cIm9ic1wiPlxuICA8Y2RzLW1vZGFsLWZvb3RlciAqbmdJZj1cIiFvYnMuc2F2aW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhbmNlbC1idXR0b25cIj5cbiAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwiZ2hvc3RcIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJvYnMuc2hvd0JhY2tCdXR0b24gJiYgIW9icy5zYXZpbmdcIlxuICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiYmFja0J1dHRvbkNsaWNrKClcIlxuICAgICAgPlxuICAgICAgICB7eyAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLmJhY2snIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICpuZ0lmPVwib2JzLnNob3dOZXh0QnV0dG9uICYmICFvYnMuc2F2aW5nXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5lbmFibGVOZXh0QnV0dG9uID09PSBmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJuZXh0QnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24ubmV4dCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjZHNCdXR0b249XCJkYW5nZXItLXByaW1hcnlcIlxuICAgICAgICAqbmdJZj1cIm9icy50eXBlT2ZTZWxlY3RlZFByb2dyZXNzTGlua1wiXG4gICAgICAgIChjbGljayk9XCJ1bmxpbmtCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi51bmxpbmsnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICpuZ0lmPVwiKG9icy5zaG93U2F2ZUJ1dHRvbiAmJiAhb2JzLnNhdmluZykgfHwgb2JzLnR5cGVPZlNlbGVjdGVkUHJvZ3Jlc3NMaW5rXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5lbmFibGVTYXZlQnV0dG9uID09PSBmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJzYXZlQnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY29tcGxldGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Injectable } from '@angular/core';
|
|
17
17
|
import { BehaviorSubject, combineLatest, of, Subject, switchMap } from 'rxjs';
|
|
18
|
-
import { map } from 'rxjs/operators';
|
|
18
|
+
import { map, take } from 'rxjs/operators';
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
import * as i1 from "@valtimo/plugin";
|
|
21
21
|
export class PluginStateService {
|
|
@@ -71,6 +71,55 @@ export class PluginStateService {
|
|
|
71
71
|
}
|
|
72
72
|
selectProcessLink(processLink) {
|
|
73
73
|
this._selectedProcessLink$.next(processLink);
|
|
74
|
+
// When editing a plugin process link, populate the plugin definition
|
|
75
|
+
if (processLink?.processLinkType === 'plugin') {
|
|
76
|
+
this.loadPluginDefinitionForProcessLink(processLink);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
loadPluginDefinitionForProcessLink(processLink) {
|
|
80
|
+
// Get the plugin definition key - either directly or from plugin specifications
|
|
81
|
+
this.getPluginDefinitionKeyForProcessLink(processLink)
|
|
82
|
+
.pipe(take(1))
|
|
83
|
+
.subscribe(pluginDefinitionKey => {
|
|
84
|
+
if (pluginDefinitionKey) {
|
|
85
|
+
// Fetch all plugin definitions and find the one matching the key
|
|
86
|
+
this.pluginManagementService
|
|
87
|
+
.getPluginDefinitions()
|
|
88
|
+
.pipe(take(1), map(definitions => definitions.find(d => d.key === pluginDefinitionKey)))
|
|
89
|
+
.subscribe(definition => {
|
|
90
|
+
if (definition) {
|
|
91
|
+
this._selectedPluginDefinition$.next(definition);
|
|
92
|
+
// Also set the selected function if available
|
|
93
|
+
if (processLink.pluginActionDefinitionKey) {
|
|
94
|
+
this._selectedPluginFunction$.next({
|
|
95
|
+
key: processLink.pluginActionDefinitionKey,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
// Load and set the plugin configuration if available
|
|
103
|
+
if (processLink.pluginConfigurationId) {
|
|
104
|
+
this.pluginManagementService
|
|
105
|
+
.getAllPluginConfigurations()
|
|
106
|
+
.pipe(take(1), map(configs => configs.find(c => c.id === processLink.pluginConfigurationId)))
|
|
107
|
+
.subscribe(configuration => {
|
|
108
|
+
if (configuration) {
|
|
109
|
+
this._selectedPluginConfiguration$.next(configuration);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
getPluginDefinitionKeyForProcessLink(processLink) {
|
|
115
|
+
return this.pluginService.pluginSpecifications$.pipe(map(pluginSpecifications => {
|
|
116
|
+
const pluginSpecification = pluginSpecifications.find(specification => {
|
|
117
|
+
const functionKeys = specification?.functionConfigurationComponents &&
|
|
118
|
+
Object.keys(specification.functionConfigurationComponents);
|
|
119
|
+
return functionKeys?.includes(processLink.pluginActionDefinitionKey);
|
|
120
|
+
});
|
|
121
|
+
return pluginSpecification?.pluginId;
|
|
122
|
+
}));
|
|
74
123
|
}
|
|
75
124
|
deselectProcessLink() {
|
|
76
125
|
this._selectedProcessLink$.next(undefined);
|
|
@@ -87,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
87
136
|
providedIn: 'root',
|
|
88
137
|
}]
|
|
89
138
|
}], ctorParameters: () => [{ type: i1.PluginManagementService }, { type: i1.PluginService }] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL3NlcnZpY2VzL3BsdWdpbi1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQWFuQyxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCLFlBQ21CLHVCQUFnRCxFQUNoRCxhQUE0QjtRQUQ1Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBVjlCLCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFtQixTQUFTLENBQUMsQ0FBQztRQUM5RSxrQ0FBNkIsR0FBRyxJQUFJLGVBQWUsQ0FDbEUsU0FBUyxDQUNWLENBQUM7UUFDZSw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsU0FBUyxDQUFDLENBQUM7UUFDMUUsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0IsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQWMsU0FBUyxDQUFDLENBQUM7SUFLbEYsQ0FBQztJQUVKLElBQUkseUJBQXlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLDRCQUE0QjtRQUM5QixPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUNwQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDdEIsQ0FBQyxXQUFXO1lBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2hGLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLHlCQUF5QixDQUFDLENBQy9DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQ3BDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQzdCLENBQUMsa0JBQWtCO1lBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQzFEO1lBQ0gsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDWixJQUFJLENBQUMscUJBQXFCO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQjthQUN6QyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ3BFLE1BQU0sWUFBWSxHQUNoQixhQUFhLEVBQUUsK0JBQStCO3dCQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO29CQUM3RCxPQUFPLFlBQVksRUFBRSxRQUFRLENBQUMsV0FBVyxFQUFFLHlCQUF5QixDQUFDLENBQUM7Z0JBQ3hFLENBQUMsQ0FBQyxDQUFDO2dCQUVILE9BQU8sbUJBQW1CLEVBQUUsUUFBUSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUNILENBQ04sQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFzQixDQUFDLFVBQTRCO1FBQ2pELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELHlCQUF5QixDQUFDLGFBQWtDO1FBQzFELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELG9CQUFvQixDQUFDLGNBQThCO1FBQ2pELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQXdCO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzsrR0F4RlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgUGx1Z2luQ29uZmlndXJhdGlvbixcbiAgUGx1Z2luRGVmaW5pdGlvbixcbiAgUGx1Z2luRnVuY3Rpb24sXG4gIFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLFxuICBQbHVnaW5TZXJ2aWNlLFxufSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtQcm9jZXNzTGlua30gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBsdWdpblN0YXRlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBsdWdpbkRlZmluaXRpb24+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBsdWdpbkNvbmZpZ3VyYXRpb24+KFxuICAgIHVuZGVmaW5lZFxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGx1Z2luRnVuY3Rpb24+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NhdmUkID0gbmV3IFN1YmplY3Q8bnVsbD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0ZWRQcm9jZXNzTGluayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFByb2Nlc3NMaW5rPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luTWFuYWdlbWVudFNlcnZpY2U6IFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luU2VydmljZTogUGx1Z2luU2VydmljZVxuICApIHt9XG5cbiAgZ2V0IHNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQoKTogT2JzZXJ2YWJsZTxQbHVnaW5EZWZpbml0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJCgpOiBPYnNlcnZhYmxlPFBsdWdpbkNvbmZpZ3VyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJCgpOiBPYnNlcnZhYmxlPFBsdWdpbkZ1bmN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUGx1Z2luRnVuY3Rpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNhdmUkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3NhdmUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGZ1bmN0aW9uS2V5JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHByb2Nlc3NMaW5rID0+XG4gICAgICAgICFwcm9jZXNzTGlua1xuICAgICAgICAgID8gdGhpcy5fc2VsZWN0ZWRQbHVnaW5GdW5jdGlvbiQucGlwZShtYXAocGx1Z2luRnVuY3Rpb24gPT4gcGx1Z2luRnVuY3Rpb24/LmtleSkpXG4gICAgICAgICAgOiBvZihwcm9jZXNzTGluaz8ucGx1Z2luQWN0aW9uRGVmaW5pdGlvbktleSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgZ2V0IHBsdWdpbkRlZmluaXRpb25LZXkkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUHJvY2Vzc0xpbmskLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoc2VsZWN0ZWRQcm9jZXNMaW5rID0+XG4gICAgICAgICFzZWxlY3RlZFByb2Nlc0xpbmtcbiAgICAgICAgICA/IHRoaXMuX3NlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQucGlwZShcbiAgICAgICAgICAgICAgbWFwKGNvbmZpZ3VyYXRpb24gPT4gY29uZmlndXJhdGlvbj8ucGx1Z2luRGVmaW5pdGlvbi5rZXkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRQcm9jZXNzTGluayQsXG4gICAgICAgICAgICAgIHRoaXMucGx1Z2luU2VydmljZS5wbHVnaW5TcGVjaWZpY2F0aW9ucyQsXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKFtwcm9jZXNzTGluaywgcGx1Z2luU3BlY2lmaWNhdGlvbnNdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGx1Z2luU3BlY2lmaWNhdGlvbiA9IHBsdWdpblNwZWNpZmljYXRpb25zLmZpbmQoc3BlY2lmaWNhdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBmdW5jdGlvbktleXMgPVxuICAgICAgICAgICAgICAgICAgICBzcGVjaWZpY2F0aW9uPy5mdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnRzICYmXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHNwZWNpZmljYXRpb24uZnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50cyk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb25LZXlzPy5pbmNsdWRlcyhwcm9jZXNzTGluaz8ucGx1Z2luQWN0aW9uRGVmaW5pdGlvbktleSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcGx1Z2luU3BlY2lmaWNhdGlvbj8ucGx1Z2luSWQ7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdFBsdWdpbkRlZmluaXRpb24oZGVmaW5pdGlvbjogUGx1Z2luRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQubmV4dChkZWZpbml0aW9uKTtcbiAgfVxuXG4gIHNlbGVjdFBsdWdpbkNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbjogUGx1Z2luQ29uZmlndXJhdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQubmV4dChjb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHNlbGVjdFBsdWdpbkZ1bmN0aW9uKHBsdWdpbkZ1bmN0aW9uOiBQbHVnaW5GdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkUGx1Z2luRnVuY3Rpb24kLm5leHQocGx1Z2luRnVuY3Rpb24pO1xuICB9XG5cbiAgc2VsZWN0UHJvY2Vzc0xpbmsocHJvY2Vzc0xpbms6IFByb2Nlc3NMaW5rKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRQcm9jZXNzTGluayQubmV4dChwcm9jZXNzTGluayk7XG4gIH1cblxuICBkZXNlbGVjdFByb2Nlc3NMaW5rKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkUHJvY2Vzc0xpbmskLm5leHQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5fc2F2ZSQubmV4dChudWxsKTtcbiAgfVxufVxuIl19
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL3NlcnZpY2VzL3BsdWdpbi1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RixPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFhekMsTUFBTSxPQUFPLGtCQUFrQjtJQVM3QixZQUNtQix1QkFBZ0QsRUFDaEQsYUFBNEI7UUFENUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVY5QiwrQkFBMEIsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsU0FBUyxDQUFDLENBQUM7UUFDOUUsa0NBQTZCLEdBQUcsSUFBSSxlQUFlLENBQ2xFLFNBQVMsQ0FDVixDQUFDO1FBQ2UsNkJBQXdCLEdBQUcsSUFBSSxlQUFlLENBQWlCLFNBQVMsQ0FBQyxDQUFDO1FBQzFFLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdCLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFjLFNBQVMsQ0FBQyxDQUFDO0lBS2xGLENBQUM7SUFFSixJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSw0QkFBNEI7UUFDOUIsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVELElB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QUNILENBQUM7SUFFTyxvQ0FBb0MsQ0FBQyxXQUF3QjtRQUNuRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUN6QixNQUFNLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDcEUsTUFBTSxZQUFZLEdBQ2hCLGFBQWEsRUFBRSwrQkFBK0I7b0JBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFDLENBQUM7Z0JBQzdELE9BQU8sWUFBWSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUN2RSxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sbUJBQW1CLEVBQUUsUUFBUSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQXhKVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBQbHVnaW5Db25maWd1cmF0aW9uLFxuICBQbHVnaW5EZWZpbml0aW9uLFxuICBQbHVnaW5GdW5jdGlvbixcbiAgUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gIFBsdWdpblNlcnZpY2UsXG59IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge1Byb2Nlc3NMaW5rfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGx1Z2luU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGx1Z2luRGVmaW5pdGlvbj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGx1Z2luQ29uZmlndXJhdGlvbj4oXG4gICAgdW5kZWZpbmVkXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkUGx1Z2luRnVuY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQbHVnaW5GdW5jdGlvbj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2F2ZSQgPSBuZXcgU3ViamVjdDxudWxsPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RlZFByb2Nlc3NMaW5rJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHJvY2Vzc0xpbms+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5TZXJ2aWNlOiBQbHVnaW5TZXJ2aWNlXG4gICkge31cblxuICBnZXQgc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJCgpOiBPYnNlcnZhYmxlPFBsdWdpbkRlZmluaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kKCk6IE9ic2VydmFibGU8UGx1Z2luQ29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkUGx1Z2luRnVuY3Rpb24kKCk6IE9ic2VydmFibGU8UGx1Z2luRnVuY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRQbHVnaW5GdW5jdGlvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc2F2ZSQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fc2F2ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZnVuY3Rpb25LZXkkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUHJvY2Vzc0xpbmskLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocHJvY2Vzc0xpbmsgPT5cbiAgICAgICAgIXByb2Nlc3NMaW5rXG4gICAgICAgICAgPyB0aGlzLl9zZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJC5waXBlKG1hcChwbHVnaW5GdW5jdGlvbiA9PiBwbHVnaW5GdW5jdGlvbj8ua2V5KSlcbiAgICAgICAgICA6IG9mKHByb2Nlc3NMaW5rPy5wbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBnZXQgcGx1Z2luRGVmaW5pdGlvbktleSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZShcbiAgICAgIHN3aXRjaE1hcChzZWxlY3RlZFByb2Nlc0xpbmsgPT5cbiAgICAgICAgIXNlbGVjdGVkUHJvY2VzTGlua1xuICAgICAgICAgID8gdGhpcy5fc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJC5waXBlKFxuICAgICAgICAgICAgICBtYXAoY29uZmlndXJhdGlvbiA9PiBjb25maWd1cmF0aW9uPy5wbHVnaW5EZWZpbml0aW9uLmtleSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFByb2Nlc3NMaW5rJCxcbiAgICAgICAgICAgICAgdGhpcy5wbHVnaW5TZXJ2aWNlLnBsdWdpblNwZWNpZmljYXRpb25zJCxcbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgoW3Byb2Nlc3NMaW5rLCBwbHVnaW5TcGVjaWZpY2F0aW9uc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwbHVnaW5TcGVjaWZpY2F0aW9uID0gcGx1Z2luU3BlY2lmaWNhdGlvbnMuZmluZChzcGVjaWZpY2F0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bmN0aW9uS2V5cyA9XG4gICAgICAgICAgICAgICAgICAgIHNwZWNpZmljYXRpb24/LmZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudHMgJiZcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoc3BlY2lmaWNhdGlvbi5mdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnRzKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbktleXM/LmluY2x1ZGVzKHByb2Nlc3NMaW5rPy5wbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBwbHVnaW5TcGVjaWZpY2F0aW9uPy5wbHVnaW5JZDtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0UGx1Z2luRGVmaW5pdGlvbihkZWZpbml0aW9uOiBQbHVnaW5EZWZpbml0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJC5uZXh0KGRlZmluaXRpb24pO1xuICB9XG5cbiAgc2VsZWN0UGx1Z2luQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uOiBQbHVnaW5Db25maWd1cmF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJC5uZXh0KGNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgc2VsZWN0UGx1Z2luRnVuY3Rpb24ocGx1Z2luRnVuY3Rpb246IFBsdWdpbkZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRQbHVnaW5GdW5jdGlvbiQubmV4dChwbHVnaW5GdW5jdGlvbik7XG4gIH1cblxuICBzZWxlY3RQcm9jZXNzTGluayhwcm9jZXNzTGluazogUHJvY2Vzc0xpbmspOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZFByb2Nlc3NMaW5rJC5uZXh0KHByb2Nlc3NMaW5rKTtcblxuICAgIC8vIFdoZW4gZWRpdGluZyBhIHBsdWdpbiBwcm9jZXNzIGxpbmssIHBvcHVsYXRlIHRoZSBwbHVnaW4gZGVmaW5pdGlvblxuICAgIGlmIChwcm9jZXNzTGluaz8ucHJvY2Vzc0xpbmtUeXBlID09PSAncGx1Z2luJykge1xuICAgICAgdGhpcy5sb2FkUGx1Z2luRGVmaW5pdGlvbkZvclByb2Nlc3NMaW5rKHByb2Nlc3NMaW5rKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRQbHVnaW5EZWZpbml0aW9uRm9yUHJvY2Vzc0xpbmsocHJvY2Vzc0xpbms6IFByb2Nlc3NMaW5rKTogdm9pZCB7XG4gICAgLy8gR2V0IHRoZSBwbHVnaW4gZGVmaW5pdGlvbiBrZXkgLSBlaXRoZXIgZGlyZWN0bHkgb3IgZnJvbSBwbHVnaW4gc3BlY2lmaWNhdGlvbnNcbiAgICB0aGlzLmdldFBsdWdpbkRlZmluaXRpb25LZXlGb3JQcm9jZXNzTGluayhwcm9jZXNzTGluaylcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKHBsdWdpbkRlZmluaXRpb25LZXkgPT4ge1xuICAgICAgICBpZiAocGx1Z2luRGVmaW5pdGlvbktleSkge1xuICAgICAgICAgIC8vIEZldGNoIGFsbCBwbHVnaW4gZGVmaW5pdGlvbnMgYW5kIGZpbmQgdGhlIG9uZSBtYXRjaGluZyB0aGUga2V5XG4gICAgICAgICAgdGhpcy5wbHVnaW5NYW5hZ2VtZW50U2VydmljZVxuICAgICAgICAgICAgLmdldFBsdWdpbkRlZmluaXRpb25zKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICBtYXAoZGVmaW5pdGlvbnMgPT4gZGVmaW5pdGlvbnMuZmluZChkID0+IGQua2V5ID09PSBwbHVnaW5EZWZpbml0aW9uS2V5KSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZGVmaW5pdGlvbiA9PiB7XG4gICAgICAgICAgICAgIGlmIChkZWZpbml0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJC5uZXh0KGRlZmluaXRpb24pO1xuXG4gICAgICAgICAgICAgICAgLy8gQWxzbyBzZXQgdGhlIHNlbGVjdGVkIGZ1bmN0aW9uIGlmIGF2YWlsYWJsZVxuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzTGluay5wbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5KSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJC5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBwcm9jZXNzTGluay5wbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5LFxuICAgICAgICAgICAgICAgICAgfSBhcyBQbHVnaW5GdW5jdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBMb2FkIGFuZCBzZXQgdGhlIHBsdWdpbiBjb25maWd1cmF0aW9uIGlmIGF2YWlsYWJsZVxuICAgIGlmIChwcm9jZXNzTGluay5wbHVnaW5Db25maWd1cmF0aW9uSWQpIHtcbiAgICAgIHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgICAgLmdldEFsbFBsdWdpbkNvbmZpZ3VyYXRpb25zKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICBtYXAoY29uZmlncyA9PlxuICAgICAgICAgICAgY29uZmlncy5maW5kKGMgPT4gYy5pZCA9PT0gcHJvY2Vzc0xpbmsucGx1Z2luQ29uZmlndXJhdGlvbklkKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGNvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBsdWdpbkNvbmZpZ3VyYXRpb24kLm5leHQoY29uZmlndXJhdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFBsdWdpbkRlZmluaXRpb25LZXlGb3JQcm9jZXNzTGluayhwcm9jZXNzTGluazogUHJvY2Vzc0xpbmspOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBsdWdpblNlcnZpY2UucGx1Z2luU3BlY2lmaWNhdGlvbnMkLnBpcGUoXG4gICAgICBtYXAocGx1Z2luU3BlY2lmaWNhdGlvbnMgPT4ge1xuICAgICAgICBjb25zdCBwbHVnaW5TcGVjaWZpY2F0aW9uID0gcGx1Z2luU3BlY2lmaWNhdGlvbnMuZmluZChzcGVjaWZpY2F0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCBmdW5jdGlvbktleXMgPVxuICAgICAgICAgICAgc3BlY2lmaWNhdGlvbj8uZnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50cyAmJlxuICAgICAgICAgICAgT2JqZWN0LmtleXMoc3BlY2lmaWNhdGlvbi5mdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnRzKTtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb25LZXlzPy5pbmNsdWRlcyhwcm9jZXNzTGluay5wbHVnaW5BY3Rpb25EZWZpbml0aW9uS2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwbHVnaW5TcGVjaWZpY2F0aW9uPy5wbHVnaW5JZDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGRlc2VsZWN0UHJvY2Vzc0xpbmsoKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0ZWRQcm9jZXNzTGluayQubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgc2F2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zYXZlJC5uZXh0KG51bGwpO1xuICB9XG59XG4iXX0=
|