@valtimo/connector-management 4.16.0 → 4.19.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/bundles/valtimo-connector-management.umd.js +248 -265
- package/bundles/valtimo-connector-management.umd.js.map +1 -1
- package/bundles/valtimo-connector-management.umd.min.js +2 -2
- package/bundles/valtimo-connector-management.umd.min.js.map +1 -1
- package/esm2015/lib/components/add-connector/add-connector.component.js +1 -1
- package/esm2015/lib/components/connector-link-extension/connector-link-extension.component.js +2 -2
- package/esm2015/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.js +1 -1
- package/esm2015/lib/components/connector-management/connector-management.component.js +2 -2
- package/esm2015/lib/components/connector-modal/connector-modal.component.js +1 -1
- package/esm2015/lib/components/edit-connector-form/edit-connector-form.component.js +4 -2
- package/esm2015/lib/components/edit-connector-properties/edit-connector-properties.component.js +1 -1
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.js +33 -30
- package/esm2015/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.js +36 -235
- package/esm2015/lib/components/edit-taak-connector/edit-taak-connector.component.js +129 -0
- package/esm2015/lib/components/edit-taak-connector/edit-taak-connector.form.js +63 -0
- package/esm2015/lib/components/modify-connector/modify-connector.component.js +1 -1
- package/esm2015/lib/components/multi-value-connector-property/multi-value-connector-property.component.js +1 -1
- package/esm2015/lib/connector-management-routing.js +1 -1
- package/esm2015/lib/connector-management.module.js +4 -1
- package/esm2015/lib/extension/connector-management.extension.init.js +1 -1
- package/esm2015/lib/models/index.js +1 -2
- package/esm2015/lib/models/object-sync.js +1 -1
- package/esm2015/lib/services/connector-management/connector-management.service.js +2 -2
- package/esm2015/lib/services/connector-management-state/connector-management-state.service.js +1 -1
- package/esm2015/lib/services/object-api-sync/object-api-sync.service.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/valtimo-connector-management.js +3 -2
- package/fesm2015/valtimo-connector-management.js +256 -266
- package/fesm2015/valtimo-connector-management.js.map +1 -1
- package/lib/components/add-connector/add-connector.component.d.ts +1 -1
- package/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.d.ts +1 -1
- package/lib/components/connector-management/connector-management.component.d.ts +1 -1
- package/lib/components/connector-modal/connector-modal.component.d.ts +1 -1
- package/lib/components/edit-connector-form/edit-connector-form.component.d.ts +3 -1
- package/lib/components/edit-connector-properties/edit-connector-properties.component.d.ts +1 -1
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.d.ts +6 -2
- package/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.d.ts +62 -0
- package/lib/components/edit-taak-connector/edit-taak-connector.component.d.ts +38 -0
- package/lib/components/edit-taak-connector/edit-taak-connector.form.d.ts +57 -0
- package/lib/components/modify-connector/modify-connector.component.d.ts +1 -1
- package/lib/components/multi-value-connector-property/multi-value-connector-property.component.d.ts +1 -1
- package/lib/models/index.d.ts +0 -1
- package/lib/services/connector-management/connector-management.service.d.ts +1 -2
- package/lib/services/connector-management-state/connector-management-state.service.d.ts +1 -1
- package/package.json +1 -1
- package/valtimo-connector-management.d.ts +2 -1
- package/valtimo-connector-management.metadata.json +1 -1
- package/esm2015/lib/models/connector.model.js +0 -1
- package/lib/models/connector.model.d.ts +0 -36
|
@@ -16,17 +16,19 @@
|
|
|
16
16
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
17
|
import { editProductAanvragenConnectorForm } from './edit-product-aanvragen-connector.form';
|
|
18
18
|
import { FormMappingService, FormTranslationService } from '@valtimo/form';
|
|
19
|
-
import { DocumentService
|
|
19
|
+
import { DocumentService } from '@valtimo/document';
|
|
20
20
|
import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
|
|
21
21
|
import { cloneDeep } from 'lodash';
|
|
22
22
|
import { TranslateService } from '@ngx-translate/core';
|
|
23
23
|
import { map, switchMap, tap } from 'rxjs/operators';
|
|
24
|
+
import { ConnectorManagementService } from '../../services/connector-management/connector-management.service';
|
|
24
25
|
export class EditProductAanvragenConnectorComponent {
|
|
25
|
-
constructor(formTranslationService, formMappingService, documentService, translateService) {
|
|
26
|
+
constructor(formTranslationService, formMappingService, documentService, translateService, connectorManagementService) {
|
|
26
27
|
this.formTranslationService = formTranslationService;
|
|
27
28
|
this.formMappingService = formMappingService;
|
|
28
29
|
this.documentService = documentService;
|
|
29
30
|
this.translateService = translateService;
|
|
31
|
+
this.connectorManagementService = connectorManagementService;
|
|
30
32
|
this.showDeleteButton = false;
|
|
31
33
|
this.propertiesSave = new EventEmitter();
|
|
32
34
|
this.connectorDelete = new EventEmitter();
|
|
@@ -49,6 +51,7 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
49
51
|
window['productRequestDefinitions'] = {};
|
|
50
52
|
this.openFormDefinitionSubscription();
|
|
51
53
|
this.formDefinition$.next(editProductAanvragenConnectorForm);
|
|
54
|
+
this.loadConnectorNames();
|
|
52
55
|
this.loadDefinitions();
|
|
53
56
|
}
|
|
54
57
|
ngOnDestroy() {
|
|
@@ -59,19 +62,8 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
59
62
|
onSubmit(event) {
|
|
60
63
|
const submission = event.data;
|
|
61
64
|
const properties = cloneDeep(this.properties);
|
|
62
|
-
properties.
|
|
63
|
-
properties.
|
|
64
|
-
properties.objectsApiProperties.objectsTypeApi.url = submission.objectTypesApiUrl;
|
|
65
|
-
properties.objectsApiProperties.objectsTypeApi.token = submission.objectTypesApiToken;
|
|
66
|
-
properties.objectsApiProperties.objectType.name = submission.objectTypeName;
|
|
67
|
-
properties.objectsApiProperties.objectType.title = submission.objectTypeTitle;
|
|
68
|
-
properties.objectsApiProperties.objectType.url = submission.objectTypeUrl;
|
|
69
|
-
properties.objectsApiProperties.objectType.typeVersion = submission.objectTypeVersion;
|
|
70
|
-
properties.openNotificatieProperties.baseUrl = submission.openNotificationsBaseUrl;
|
|
71
|
-
properties.openNotificatieProperties.clientId = submission.openNotificationsClientId;
|
|
72
|
-
properties.openNotificatieProperties.secret = submission.openNotificationsSecret;
|
|
73
|
-
properties.openNotificatieProperties.callbackBaseUrl =
|
|
74
|
-
submission.openNotificationsCallbackBaseUrl;
|
|
65
|
+
properties.objectsApiConnectionName = submission.objectsApiConnectionName;
|
|
66
|
+
properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;
|
|
75
67
|
properties.aanvragerRolTypeUrl = submission.applicantRoleTypeUrl;
|
|
76
68
|
properties.typeMapping = submission.productAanvraagTypes;
|
|
77
69
|
this.propertiesSave.emit({ properties, name: submission.connectorName });
|
|
@@ -91,19 +83,8 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
91
83
|
prefillForm() {
|
|
92
84
|
const properties = cloneDeep(this.properties);
|
|
93
85
|
const submission = {};
|
|
94
|
-
submission.
|
|
95
|
-
submission.
|
|
96
|
-
submission.objectTypesApiUrl = properties.objectsApiProperties.objectsTypeApi.url;
|
|
97
|
-
submission.objectTypesApiToken = properties.objectsApiProperties.objectsTypeApi.token;
|
|
98
|
-
submission.objectTypeName = properties.objectsApiProperties.objectType.name;
|
|
99
|
-
submission.objectTypeTitle = properties.objectsApiProperties.objectType.title;
|
|
100
|
-
submission.objectTypeUrl = properties.objectsApiProperties.objectType.url;
|
|
101
|
-
submission.objectTypeVersion = properties.objectsApiProperties.objectType.typeVersion;
|
|
102
|
-
submission.openNotificationsBaseUrl = properties.openNotificatieProperties.baseUrl;
|
|
103
|
-
submission.openNotificationsClientId = properties.openNotificatieProperties.clientId;
|
|
104
|
-
submission.openNotificationsSecret = properties.openNotificatieProperties.secret;
|
|
105
|
-
submission.openNotificationsCallbackBaseUrl =
|
|
106
|
-
properties.openNotificatieProperties.callbackBaseUrl;
|
|
86
|
+
submission.objectsApiConnectionName = properties.objectsApiConnectionName;
|
|
87
|
+
submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;
|
|
107
88
|
submission.applicantRoleTypeUrl = properties.aanvragerRolTypeUrl;
|
|
108
89
|
submission.productAanvraagTypes = properties.typeMapping;
|
|
109
90
|
submission.connectorName = this.defaultName;
|
|
@@ -133,6 +114,27 @@ export class EditProductAanvragenConnectorComponent {
|
|
|
133
114
|
}))
|
|
134
115
|
.subscribe();
|
|
135
116
|
}
|
|
117
|
+
loadConnectorNames() {
|
|
118
|
+
this.connectorManagementService
|
|
119
|
+
.getConnectorTypes()
|
|
120
|
+
.pipe(tap(res => {
|
|
121
|
+
res.forEach(connectorType => {
|
|
122
|
+
if (connectorType.name === 'ObjectsApi') {
|
|
123
|
+
this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);
|
|
124
|
+
}
|
|
125
|
+
else if (connectorType.name === 'OpenNotificatie') {
|
|
126
|
+
this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}))
|
|
130
|
+
.subscribe();
|
|
131
|
+
}
|
|
132
|
+
loadConnectorNamesByType(windowKey, connectorTypeId) {
|
|
133
|
+
this.connectorManagementService
|
|
134
|
+
.getConnectorInstancesByType(connectorTypeId)
|
|
135
|
+
.pipe(map(res => (window[windowKey] = res.content.map(connector => connector.name))))
|
|
136
|
+
.subscribe();
|
|
137
|
+
}
|
|
136
138
|
}
|
|
137
139
|
EditProductAanvragenConnectorComponent.decorators = [
|
|
138
140
|
{ type: Component, args: [{
|
|
@@ -145,7 +147,8 @@ EditProductAanvragenConnectorComponent.ctorParameters = () => [
|
|
|
145
147
|
{ type: FormTranslationService },
|
|
146
148
|
{ type: FormMappingService },
|
|
147
149
|
{ type: DocumentService },
|
|
148
|
-
{ type: TranslateService }
|
|
150
|
+
{ type: TranslateService },
|
|
151
|
+
{ type: ConnectorManagementService }
|
|
149
152
|
];
|
|
150
153
|
EditProductAanvragenConnectorComponent.propDecorators = {
|
|
151
154
|
properties: [{ type: Input }],
|
|
@@ -154,4 +157,4 @@ EditProductAanvragenConnectorComponent.propDecorators = {
|
|
|
154
157
|
propertiesSave: [{ type: Output }],
|
|
155
158
|
connectorDelete: [{ type: Output }]
|
|
156
159
|
};
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii90bXAvamVua2lucy00YzNiYjc3MC93b3Jrc3BhY2UvVmFsdGltb18tX0FuZ3VsYXJfTGlicmFyaWVzX21haW4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUNMLGVBQWUsR0FJaEIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU9uRCxNQUFNLE9BQU8sc0NBQXNDO0lBdUJqRCxZQUNtQixzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLGdCQUFrQztRQUhsQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHVCQUFrQixHQUFs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QyxFQUFFLENBQUMsb0JBQW9CLENBQy9FLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQztZQUU1RSxNQUFNLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQy9CLElBQUksQ0FBQyw2QkFBNkIsQ0FDbkMsQ0FBQztZQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFFL0QsVUFBSSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxtQkFBbUIsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUEzS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQ0FBMEM7Z0JBQ3BELCtyQ0FBZ0U7O2FBRWpFOzs7WUFwQjJCLHNCQUFzQjtZQUExQyxrQkFBa0I7WUFFeEIsZUFBZTtZQVdULGdCQUFnQjs7O3lCQVNyQixLQUFLOzBCQUNMLEtBQUs7K0JBQ0wsS0FBSzs2QkFFTCxNQUFNOzhCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMSBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2VkaXRQcm9kdWN0QWFudnJhZ2VuQ29ubmVjdG9yRm9ybX0gZnJvbSAnLi9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5mb3JtJztcbmltcG9ydCB7Rm9ybU1hcHBpbmdTZXJ2aWNlLCBGb3JtVHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICdAdmFsdGltby9mb3JtJztcbmltcG9ydCB7XG4gIERvY3VtZW50U2VydmljZSxcbiAgRG9jdW1lbnREZWZpbml0aW9uLFxuICBEb2N1bWVudERlZmluaXRpb25zLFxuICBQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLFxufSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0V4dGVuZGVkQ29tcG9uZW50U2NoZW1hfSBmcm9tICdmb3JtaW9qcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29ubmVjdG9yUHJvcGVydGllc30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7Rm9ybWlvRm9ybSwgRm9ybWlvUmVmcmVzaFZhbHVlfSBmcm9tICdhbmd1bGFyLWZvcm1pbyc7XG5pbXBvcnQge0Zvcm1pb09wdGlvbnN9IGZyb20gJ2FuZ3VsYXItZm9ybWlvL2Zvcm1pby5jb21tb24nO1xuaW1wb3J0IHtjbG9uZURlZXB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0UHJvZHVjdEFhbnZyYWdlbkNvbm5lY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHJvcGVydGllczogQ29ubmVjdG9yUHJvcGVydGllcztcbiAgQElucHV0KCkgZGVmYXVsdE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dEZWxldGVCdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHJvcGVydGllc1NhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHtwcm9wZXJ0aWVzOiBDb25uZWN0b3JQcm9wZXJ0aWVzOyBuYW1lOiBzdHJpbmd9PigpO1xuICBAT3V0cHV0KCkgY29ubmVjdG9yRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZm9ybVJlZnJlc2gkID0gbmV3IFN1YmplY3Q8Rm9ybWlvUmVmcmVzaFZhbHVlPigpO1xuICBmb3JtRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0+KHVuZGVmaW5lZCk7XG4gIHRyYW5zbGF0ZWRGb3JtRGVmaW5pdGlvbiQgPSB0aGlzLmZvcm1EZWZpbml0aW9uJC5waXBlKFxuICAgIG1hcChkZWZpbml0aW9uID0+IHRoaXMuZm9ybVRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVGb3JtKGRlZmluaXRpb24pKVxuICApO1xuICBjYXNlRGVmaW5pdGlvbk9wdGlvbnM6IEFycmF5PHtsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nfT4gPSBbXTtcbiAgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbk9wdGlvbnM6IHtbY2FzZURlZmluaXRpb25JZDogc3RyaW5nXTogQXJyYXk8c3RyaW5nPn0gPSB7fTtcblxuICByZWFkb25seSBvcHRpb25zOiBGb3JtaW9PcHRpb25zID0ge1xuICAgIGRpc2FibGVBbGVydHM6IHRydWUsXG4gIH07XG5cbiAgcHJpdmF0ZSBmb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVHJhbnNsYXRpb25TZXJ2aWNlOiBGb3JtVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hcHBpbmdTZXJ2aWNlOiBGb3JtTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHdpbmRvd1sncHJvZHVjdFJlcXVlc3REZWZpbml0aW9ucyddID0ge307XG4gICAgdGhpcy5vcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uJC5uZXh0KGVkaXRQcm9kdWN0QWFudnJhZ2VuQ29ubmVjdG9yRm9ybSk7XG4gICAgdGhpcy5sb2FkRGVmaW5pdGlvbnMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy50cmFuc2xhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvblN1Ym1pdChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3VibWlzc2lvbiA9IGV2ZW50LmRhdGE7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IGNsb25lRGVlcCh0aGlzLnByb3BlcnRpZXMpO1xuXG4gICAgcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzQXBpLnVybCA9IHN1Ym1pc3Npb24ub2JqZWN0c0FwaVVybDtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdHNBcGkudG9rZW4gPSBzdWJtaXNzaW9uLm9iamVjdHNBcGlUb2tlbjtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdHNUeXBlQXBpLnVybCA9IHN1Ym1pc3Npb24ub2JqZWN0VHlwZXNBcGlVcmw7XG4gICAgcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzVHlwZUFwaS50b2tlbiA9IHN1Ym1pc3Npb24ub2JqZWN0VHlwZXNBcGlUb2tlbjtcblxuICAgIHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0VHlwZS5uYW1lID0gc3VibWlzc2lvbi5vYmplY3RUeXBlTmFtZTtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudGl0bGUgPSBzdWJtaXNzaW9uLm9iamVjdFR5cGVUaXRsZTtcbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudXJsID0gc3VibWlzc2lvbi5vYmplY3RUeXBlVXJsO1xuICAgIHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0VHlwZS50eXBlVmVyc2lvbiA9IHN1Ym1pc3Npb24ub2JqZWN0VHlwZVZlcnNpb247XG5cbiAgICBwcm9wZXJ0aWVzLm9wZW5Ob3RpZmljYXRpZVByb3BlcnRpZXMuYmFzZVVybCA9IHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNCYXNlVXJsO1xuICAgIHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5jbGllbnRJZCA9IHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNDbGllbnRJZDtcbiAgICBwcm9wZXJ0aWVzLm9wZW5Ob3RpZmljYXRpZVByb3BlcnRpZXMuc2VjcmV0ID0gc3VibWlzc2lvbi5vcGVuTm90aWZpY2F0aW9uc1NlY3JldDtcbiAgICBwcm9wZXJ0aWVzLm9wZW5Ob3RpZmljYXRpZVByb3BlcnRpZXMuY2FsbGJhY2tCYXNlVXJsID1cbiAgICAgIHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNDYWxsYmFja0Jhc2VVcmw7XG5cbiAgICBwcm9wZXJ0aWVzLmFhbnZyYWdlclJvbFR5cGVVcmwgPSBzdWJtaXNzaW9uLmFwcGxpY2FudFJvbGVUeXBlVXJsO1xuXG4gICAgcHJvcGVydGllcy50eXBlTWFwcGluZyA9IHN1Ym1pc3Npb24ucHJvZHVjdEFhbnZyYWFnVHlwZXM7XG5cbiAgICB0aGlzLnByb3BlcnRpZXNTYXZlLmVtaXQoe3Byb3BlcnRpZXMsIG5hbWU6IHN1Ym1pc3Npb24uY29ubmVjdG9yTmFtZX0pO1xuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JEZWxldGUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQsXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgICBdKS5zdWJzY3JpYmUoKFtmb3JtXSkgPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRlZEZvcm0gPSB0aGlzLmZvcm1UcmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlRm9ybShmb3JtKTtcbiAgICAgIHRoaXMucmVmcmVzaEZvcm0oe2Zvcm06IHRyYW5zbGF0ZWRGb3JtfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpbGxGb3JtKCk6IHZvaWQge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcbiAgICBjb25zdCBzdWJtaXNzaW9uOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHt9O1xuXG4gICAgc3VibWlzc2lvbi5vYmplY3RzQXBpVXJsID0gcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzQXBpLnVybDtcbiAgICBzdWJtaXNzaW9uLm9iamVjdHNBcGlUb2tlbiA9IHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0c0FwaS50b2tlbjtcbiAgICBzdWJtaXNzaW9uLm9iamVjdFR5cGVzQXBpVXJsID0gcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzVHlwZUFwaS51cmw7XG4gICAgc3VibWlzc2lvbi5vYmplY3RUeXBlc0FwaVRva2VuID0gcHJvcGVydGllcy5vYmplY3RzQXBpUHJvcGVydGllcy5vYmplY3RzVHlwZUFwaS50b2tlbjtcblxuICAgIHN1Ym1pc3Npb24ub2JqZWN0VHlwZU5hbWUgPSBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUubmFtZTtcbiAgICBzdWJtaXNzaW9uLm9iamVjdFR5cGVUaXRsZSA9IHByb3BlcnRpZXMub2JqZWN0c0FwaVByb3BlcnRpZXMub2JqZWN0VHlwZS50aXRsZTtcbiAgICBzdWJtaXNzaW9uLm9iamVjdFR5cGVVcmwgPSBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudXJsO1xuICAgIHN1Ym1pc3Npb24ub2JqZWN0VHlwZVZlcnNpb24gPSBwcm9wZXJ0aWVzLm9iamVjdHNBcGlQcm9wZXJ0aWVzLm9iamVjdFR5cGUudHlwZVZlcnNpb247XG5cbiAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpb25zQmFzZVVybCA9IHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5iYXNlVXJsO1xuICAgIHN1Ym1pc3Npb24ub3Blbk5vdGlmaWNhdGlvbnNDbGllbnRJZCA9IHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5jbGllbnRJZDtcbiAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpb25zU2VjcmV0ID0gcHJvcGVydGllcy5vcGVuTm90aWZpY2F0aWVQcm9wZXJ0aWVzLnNlY3JldDtcbiAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpb25zQ2FsbGJhY2tCYXNlVXJsID1cbiAgICAgIHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllUHJvcGVydGllcy5jYWxsYmFja0Jhc2VVcmw7XG5cbiAgICBzdWJtaXNzaW9uLmFwcGxpY2FudFJvbGVUeXBlVXJsID0gcHJvcGVydGllcy5hYW52cmFnZXJSb2xUeXBlVXJsO1xuXG4gICAgc3VibWlzc2lvbi5wcm9kdWN0QWFudnJhYWdUeXBlcyA9IHByb3BlcnRpZXMudHlwZU1hcHBpbmc7XG5cbiAgICBzdWJtaXNzaW9uLmNvbm5lY3Rvck5hbWUgPSB0aGlzLmRlZmF1bHROYW1lO1xuXG4gICAgdGhpcy5yZWZyZXNoRm9ybSh7c3VibWlzc2lvbjoge2RhdGE6IHN1Ym1pc3Npb259fSk7XG4gIH1cblxuICBwcml2YXRlIG1hcENhc2VEZWZpbml0aW9uS2V5Q29tcG9uZW50ID0gKFxuICAgIGNvbXBvbmVudDogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWFcbiAgKTogRXh0ZW5kZWRDb21wb25lbnRTY2hlbWEgPT4ge1xuICAgIGlmIChjb21wb25lbnQua2V5ID09PSAnY2FzZURlZmluaXRpb25LZXknKSB7XG4gICAgICByZXR1cm4gey4uLmNvbXBvbmVudCwgZGlzYWJsZWQ6IGZhbHNlLCBkYXRhOiB7dmFsdWVzOiB0aGlzLmNhc2VEZWZpbml0aW9uT3B0aW9uc319O1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWZyZXNoRm9ybShyZWZyZXNoVmFsdWU6IEZvcm1pb1JlZnJlc2hWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVJlZnJlc2gkLm5leHQocmVmcmVzaFZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZERlZmluaXRpb25zKCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudERlZmluaXRpb25zOiBBcnJheTxEb2N1bWVudERlZmluaXRpb24+O1xuXG4gICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgIC5nZXRBbGxEZWZpbml0aW9ucygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHJlc0RvY3VtZW50RGVmaW5pdGlvbnMgPT4gKGRvY3VtZW50RGVmaW5pdGlvbnMgPSByZXNEb2N1bWVudERlZmluaXRpb25zLmNvbnRlbnQpKSxcbiAgICAgICAgc3dpdGNoTWFwKHJlc0RvY3VtZW50RGVmaW5pdGlvbnMgPT5cbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgcmVzRG9jdW1lbnREZWZpbml0aW9ucy5jb250ZW50Lm1hcChkZWZpbml0aW9uID0+XG4gICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmZpbmRQcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyhkZWZpbml0aW9uLmlkLm5hbWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICB0YXAocmVzID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEZWZpbml0aW9uT3B0aW9ucyA9IGRvY3VtZW50RGVmaW5pdGlvbnMubWFwKGRvY3VtZW50RGVmaW5pdGlvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge2xhYmVsOiBkb2N1bWVudERlZmluaXRpb24uaWQubmFtZSwgdmFsdWU6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lfTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuZm9yRWFjaCgoZG9jdW1lbnREZWZpbml0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uT3B0aW9uc1tkb2N1bWVudERlZmluaXRpb24uaWQubmFtZV0gPSByZXNbaW5kZXhdLm1hcChcbiAgICAgICAgICAgICAgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbiA9PiBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uLmlkLnByb2Nlc3NEZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgd2luZG93Wydwcm9kdWN0UmVxdWVzdERlZmluaXRpb25zJ10gPSB0aGlzLnByb2Nlc3NEb2N1bWVudERlZmluaXRpb25PcHRpb25zO1xuXG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbldpdGhDYXNlRGVmaW5pdGlvbk9wdGlvbnMgPSB0aGlzLmZvcm1NYXBwaW5nU2VydmljZS5tYXBDb21wb25lbnRzKFxuICAgICAgICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIHRoaXMubWFwQ2FzZURlZmluaXRpb25LZXlDb21wb25lbnRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQubmV4dChkZWZpbml0aW9uV2l0aENhc2VEZWZpbml0aW9uT3B0aW9ucyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5wcm9wZXJ0aWVzPy5hYW52cmFnZXJSb2xUeXBlVXJsKSB7XG4gICAgICAgICAgICB0aGlzLnByZWZpbGxGb3JtKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii90bXAvamVua2lucy1iYTgwNTM5Mi93b3Jrc3BhY2Uvcm9udGVuZF9saWJyYXJpZXNfLV9yZWxlYXNlX21haW4vcHJvamVjdHMvdmFsdGltby9jb25uZWN0b3ItbWFuYWdlbWVudC9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFxQixlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQU81RyxNQUFNLE9BQU8sc0NBQXNDO0lBdUJqRCxZQUNtQixzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNs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LEtBQUs7MEJBQ0wsS0FBSzsrQkFDTCxLQUFLOzZCQUVMLE1BQU07OEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIxIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZWRpdFByb2R1Y3RBYW52cmFnZW5Db25uZWN0b3JGb3JtfSBmcm9tICcuL2VkaXQtcHJvZHVjdC1hYW52cmFnZW4tY29ubmVjdG9yLmZvcm0nO1xuaW1wb3J0IHtGb3JtTWFwcGluZ1NlcnZpY2UsIEZvcm1UcmFuc2xhdGlvblNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtEb2N1bWVudERlZmluaXRpb24sIERvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtFeHRlbmRlZENvbXBvbmVudFNjaGVtYX0gZnJvbSAnZm9ybWlvanMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Nvbm5lY3RvclByb3BlcnRpZXN9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0Zvcm1pb0Zvcm0sIEZvcm1pb1JlZnJlc2hWYWx1ZX0gZnJvbSAnYW5ndWxhci1mb3JtaW8nO1xuaW1wb3J0IHtGb3JtaW9PcHRpb25zfSBmcm9tICdhbmd1bGFyLWZvcm1pby9mb3JtaW8uY29tbW9uJztcbmltcG9ydCB7Y2xvbmVEZWVwfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29ubmVjdG9yLW1hbmFnZW1lbnQvY29ubmVjdG9yLW1hbmFnZW1lbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1wcm9kdWN0LWFhbnZyYWdlbi1jb25uZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LXByb2R1Y3QtYWFudnJhZ2VuLWNvbm5lY3Rvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0UHJvZHVjdEFhbnZyYWdlbkNvbm5lY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHJvcGVydGllczogQ29ubmVjdG9yUHJvcGVydGllcztcbiAgQElucHV0KCkgZGVmYXVsdE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dEZWxldGVCdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHJvcGVydGllc1NhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHtwcm9wZXJ0aWVzOiBDb25uZWN0b3JQcm9wZXJ0aWVzOyBuYW1lOiBzdHJpbmd9PigpO1xuICBAT3V0cHV0KCkgY29ubmVjdG9yRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZm9ybVJlZnJlc2gkID0gbmV3IFN1YmplY3Q8Rm9ybWlvUmVmcmVzaFZhbHVlPigpO1xuICBmb3JtRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0+KHVuZGVmaW5lZCk7XG4gIHRyYW5zbGF0ZWRGb3JtRGVmaW5pdGlvbiQgPSB0aGlzLmZvcm1EZWZpbml0aW9uJC5waXBlKFxuICAgIG1hcChkZWZpbml0aW9uID0+IHRoaXMuZm9ybVRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVGb3JtKGRlZmluaXRpb24pKVxuICApO1xuICBjYXNlRGVmaW5pdGlvbk9wdGlvbnM6IEFycmF5PHtsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nfT4gPSBbXTtcbiAgcHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbk9wdGlvbnM6IHtbY2FzZURlZmluaXRpb25JZDogc3RyaW5nXTogQXJyYXk8c3RyaW5nPn0gPSB7fTtcblxuICByZWFkb25seSBvcHRpb25zOiBGb3JtaW9PcHRpb25zID0ge1xuICAgIGRpc2FibGVBbGVydHM6IHRydWUsXG4gIH07XG5cbiAgcHJpdmF0ZSBmb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVHJhbnNsYXRpb25TZXJ2aWNlOiBGb3JtVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hcHBpbmdTZXJ2aWNlOiBGb3JtTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZTogQ29ubmVjdG9yTWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHdpbmRvd1sncHJvZHVjdFJlcXVlc3REZWZpbml0aW9ucyddID0ge307XG4gICAgdGhpcy5vcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uJC5uZXh0KGVkaXRQcm9kdWN0QWFudnJhZ2VuQ29ubmVjdG9yRm9ybSk7XG4gICAgdGhpcy5sb2FkQ29ubmVjdG9yTmFtZXMoKTtcbiAgICB0aGlzLmxvYWREZWZpbml0aW9ucygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzdWJtaXNzaW9uID0gZXZlbnQuZGF0YTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gY2xvbmVEZWVwKHRoaXMucHJvcGVydGllcyk7XG5cbiAgICBwcm9wZXJ0aWVzLm9iamVjdHNBcGlDb25uZWN0aW9uTmFtZSA9IHN1Ym1pc3Npb24ub2JqZWN0c0FwaUNvbm5lY3Rpb25OYW1lO1xuICAgIHByb3BlcnRpZXMub3Blbk5vdGlmaWNhdGllQ29ubmVjdGlvbk5hbWUgPSBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpZUNvbm5lY3Rpb25OYW1lO1xuICAgIHByb3BlcnRpZXMuYWFudnJhZ2VyUm9sVHlwZVVybCA9IHN1Ym1pc3Npb24uYXBwbGljYW50Um9sZVR5cGVVcmw7XG4gICAgcHJvcGVydGllcy50eXBlTWFwcGluZyA9IHN1Ym1pc3Npb24ucHJvZHVjdEFhbnZyYWFnVHlwZXM7XG5cbiAgICB0aGlzLnByb3BlcnRpZXNTYXZlLmVtaXQoe3Byb3BlcnRpZXMsIG5hbWU6IHN1Ym1pc3Npb24uY29ubmVjdG9yTmFtZX0pO1xuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JEZWxldGUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRm9ybURlZmluaXRpb25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGVmaW5pdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiQsXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgICBdKS5zdWJzY3JpYmUoKFtmb3JtXSkgPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRlZEZvcm0gPSB0aGlzLmZvcm1UcmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlRm9ybShmb3JtKTtcbiAgICAgIHRoaXMucmVmcmVzaEZvcm0oe2Zvcm06IHRyYW5zbGF0ZWRGb3JtfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpbGxGb3JtKCk6IHZvaWQge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBjbG9uZURlZXAodGhpcy5wcm9wZXJ0aWVzKTtcbiAgICBjb25zdCBzdWJtaXNzaW9uOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHt9O1xuXG4gICAgc3VibWlzc2lvbi5vYmplY3RzQXBpQ29ubmVjdGlvbk5hbWUgPSBwcm9wZXJ0aWVzLm9iamVjdHNBcGlDb25uZWN0aW9uTmFtZTtcbiAgICBzdWJtaXNzaW9uLm9wZW5Ob3RpZmljYXRpZUNvbm5lY3Rpb25OYW1lID0gcHJvcGVydGllcy5vcGVuTm90aWZpY2F0aWVDb25uZWN0aW9uTmFtZTtcbiAgICBzdWJtaXNzaW9uLmFwcGxpY2FudFJvbGVUeXBlVXJsID0gcHJvcGVydGllcy5hYW52cmFnZXJSb2xUeXBlVXJsO1xuICAgIHN1Ym1pc3Npb24ucHJvZHVjdEFhbnZyYWFnVHlwZXMgPSBwcm9wZXJ0aWVzLnR5cGVNYXBwaW5nO1xuICAgIHN1Ym1pc3Npb24uY29ubmVjdG9yTmFtZSA9IHRoaXMuZGVmYXVsdE5hbWU7XG5cbiAgICB0aGlzLnJlZnJlc2hGb3JtKHtzdWJtaXNzaW9uOiB7ZGF0YTogc3VibWlzc2lvbn19KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwQ2FzZURlZmluaXRpb25LZXlDb21wb25lbnQgPSAoXG4gICAgY29tcG9uZW50OiBFeHRlbmRlZENvbXBvbmVudFNjaGVtYVxuICApOiBFeHRlbmRlZENvbXBvbmVudFNjaGVtYSA9PiB7XG4gICAgaWYgKGNvbXBvbmVudC5rZXkgPT09ICdjYXNlRGVmaW5pdGlvbktleScpIHtcbiAgICAgIHJldHVybiB7Li4uY29tcG9uZW50LCBkaXNhYmxlZDogZmFsc2UsIGRhdGE6IHt2YWx1ZXM6IHRoaXMuY2FzZURlZmluaXRpb25PcHRpb25zfX07XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgfTtcblxuICBwcml2YXRlIHJlZnJlc2hGb3JtKHJlZnJlc2hWYWx1ZTogRm9ybWlvUmVmcmVzaFZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtUmVmcmVzaCQubmV4dChyZWZyZXNoVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRGVmaW5pdGlvbnMoKTogdm9pZCB7XG4gICAgbGV0IGRvY3VtZW50RGVmaW5pdGlvbnM6IEFycmF5PERvY3VtZW50RGVmaW5pdGlvbj47XG5cbiAgICB0aGlzLmRvY3VtZW50U2VydmljZVxuICAgICAgLmdldEFsbERlZmluaXRpb25zKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAocmVzRG9jdW1lbnREZWZpbml0aW9ucyA9PiAoZG9jdW1lbnREZWZpbml0aW9ucyA9IHJlc0RvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudCkpLFxuICAgICAgICBzd2l0Y2hNYXAocmVzRG9jdW1lbnREZWZpbml0aW9ucyA9PlxuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICByZXNEb2N1bWVudERlZmluaXRpb25zLmNvbnRlbnQubWFwKGRlZmluaXRpb24gPT5cbiAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZmluZFByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zKGRlZmluaXRpb24uaWQubmFtZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZURlZmluaXRpb25PcHRpb25zID0gZG9jdW1lbnREZWZpbml0aW9ucy5tYXAoZG9jdW1lbnREZWZpbml0aW9uID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7bGFiZWw6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lLCB2YWx1ZTogZG9jdW1lbnREZWZpbml0aW9uLmlkLm5hbWV9O1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9ucy5mb3JFYWNoKChkb2N1bWVudERlZmluaXRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NEb2N1bWVudERlZmluaXRpb25PcHRpb25zW2RvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lXSA9IHJlc1tpbmRleF0ubWFwKFxuICAgICAgICAgICAgICBwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9uID0+IHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24uaWQucHJvY2Vzc0RlZmluaXRpb25LZXlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB3aW5kb3dbJ3Byb2R1Y3RSZXF1ZXN0RGVmaW5pdGlvbnMnXSA9IHRoaXMucHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbk9wdGlvbnM7XG5cbiAgICAgICAgICBjb25zdCBkZWZpbml0aW9uV2l0aENhc2VEZWZpbml0aW9uT3B0aW9ucyA9IHRoaXMuZm9ybU1hcHBpbmdTZXJ2aWNlLm1hcENvbXBvbmVudHMoXG4gICAgICAgICAgICB0aGlzLmZvcm1EZWZpbml0aW9uJC5nZXRWYWx1ZSgpLFxuICAgICAgICAgICAgdGhpcy5tYXBDYXNlRGVmaW5pdGlvbktleUNvbXBvbmVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLmZvcm1EZWZpbml0aW9uJC5uZXh0KGRlZmluaXRpb25XaXRoQ2FzZURlZmluaXRpb25PcHRpb25zKTtcblxuICAgICAgICAgIGlmICh0aGlzLnByb3BlcnRpZXM/LmFhbnZyYWdlclJvbFR5cGVVcmwpIHtcbiAgICAgICAgICAgIHRoaXMucHJlZmlsbEZvcm0oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRDb25uZWN0b3JOYW1lcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rvck1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgICAuZ2V0Q29ubmVjdG9yVHlwZXMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICAgIHJlcy5mb3JFYWNoKGNvbm5lY3RvclR5cGUgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbm5lY3RvclR5cGUubmFtZSA9PT0gJ09iamVjdHNBcGknKSB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZENvbm5lY3Rvck5hbWVzQnlUeXBlKCdvYmplY3RBcGlDb25uZWN0b3JOYW1lcycsIGNvbm5lY3RvclR5cGUuaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb25uZWN0b3JUeXBlLm5hbWUgPT09ICdPcGVuTm90aWZpY2F0aWUnKSB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZENvbm5lY3Rvck5hbWVzQnlUeXBlKCdvcGVuTm90aWZpY2F0aWVDb25uZWN0b3JOYW1lcycsIGNvbm5lY3RvclR5cGUuaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ29ubmVjdG9yTmFtZXNCeVR5cGUod2luZG93S2V5OiBzdHJpbmcsIGNvbm5lY3RvclR5cGVJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25uZWN0b3JNYW5hZ2VtZW50U2VydmljZVxuICAgICAgLmdldENvbm5lY3Rvckluc3RhbmNlc0J5VHlwZShjb25uZWN0b3JUeXBlSWQpXG4gICAgICAucGlwZShtYXAocmVzID0+ICh3aW5kb3dbd2luZG93S2V5XSA9IHJlcy5jb250ZW50Lm1hcChjb25uZWN0b3IgPT4gY29ubmVjdG9yLm5hbWUpKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|