@valtimo/zgw 12.32.0 → 12.33.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/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.mjs +70 -58
- package/esm2022/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +16 -7
- package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.mjs +24 -10
- package/esm2022/lib/modules/documenten-api/models/documenten-api.model.mjs +2 -2
- package/fesm2022/valtimo-zgw.mjs +115 -80
- package/fesm2022/valtimo-zgw.mjs.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts +14 -20
- package/lib/modules/documenten-api/components/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +3 -1
- package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts +4 -1
- package/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.d.ts.map +1 -1
- package/lib/modules/documenten-api/models/documenten-api.model.d.ts +11 -1
- package/lib/modules/documenten-api/models/documenten-api.model.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -23,8 +23,8 @@ import * as i3 from "@valtimo/security";
|
|
|
23
23
|
import * as i4 from "@angular/router";
|
|
24
24
|
import * as i5 from "../../services";
|
|
25
25
|
import * as i6 from "@valtimo/document";
|
|
26
|
-
import * as i7 from "@
|
|
27
|
-
import * as i8 from "@
|
|
26
|
+
import * as i7 from "@ngx-translate/core";
|
|
27
|
+
import * as i8 from "@angular/common";
|
|
28
28
|
import * as i9 from "../../components/documenten-api-metadata-modal/documenten-api-metadata-modal.component";
|
|
29
29
|
export class DocumentenApiUploaderComponent {
|
|
30
30
|
set documentTitle(defaultValue) {
|
|
@@ -105,7 +105,7 @@ export class DocumentenApiUploaderComponent {
|
|
|
105
105
|
set hideTags(hide) {
|
|
106
106
|
this.hideField(hide, 'trefwoorden');
|
|
107
107
|
}
|
|
108
|
-
constructor(uploadProviderService, domService, modalService, userProviderService, route, documentenApiVersionService, stateService, documentService) {
|
|
108
|
+
constructor(uploadProviderService, domService, modalService, userProviderService, route, documentenApiVersionService, stateService, documentService, translateService) {
|
|
109
109
|
this.uploadProviderService = uploadProviderService;
|
|
110
110
|
this.domService = domService;
|
|
111
111
|
this.modalService = modalService;
|
|
@@ -114,11 +114,13 @@ export class DocumentenApiUploaderComponent {
|
|
|
114
114
|
this.documentenApiVersionService = documentenApiVersionService;
|
|
115
115
|
this.stateService = stateService;
|
|
116
116
|
this.documentService = documentService;
|
|
117
|
+
this.translateService = translateService;
|
|
117
118
|
this.valueChange = new EventEmitter();
|
|
118
119
|
this.uploading$ = new BehaviorSubject(false);
|
|
119
120
|
this.fileToBeUploaded$ = new BehaviorSubject(null);
|
|
120
121
|
this.modalDisabled$ = new BehaviorSubject(false);
|
|
121
122
|
this.showModal = signal(false);
|
|
123
|
+
this.uploadError = signal(null);
|
|
122
124
|
this.uploadProcessLinked$ = this.modalService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.uploadProviderService.checkUploadProcessLink(documentDefinitionName)), startWith('loading'));
|
|
123
125
|
this.isAdmin$ = this.userProviderService
|
|
124
126
|
.getUserSubject()
|
|
@@ -153,18 +155,30 @@ export class DocumentenApiUploaderComponent {
|
|
|
153
155
|
this.valueChange.emit(this._value);
|
|
154
156
|
}
|
|
155
157
|
closeMetadataModal() {
|
|
158
|
+
this.uploadError.set(null);
|
|
156
159
|
this.showModal.set(false);
|
|
157
160
|
}
|
|
158
161
|
metadataSet(metadata) {
|
|
162
|
+
this.uploadError.set(null);
|
|
159
163
|
this.uploading$.next(true);
|
|
160
|
-
this.showModal.set(false);
|
|
161
164
|
this.domService.toggleSubmitButton(true);
|
|
162
165
|
this.fileToBeUploaded$
|
|
163
166
|
.pipe(take(1), switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, metadata)), tap(result => {
|
|
167
|
+
this.showModal.set(false);
|
|
164
168
|
this.domService.toggleSubmitButton(false);
|
|
165
169
|
this.uploading$.next(false);
|
|
166
170
|
this._value.push(result);
|
|
167
171
|
this.valueChange.emit(this._value);
|
|
172
|
+
}), catchError((error) => {
|
|
173
|
+
this.uploading$.next(false);
|
|
174
|
+
this.domService.toggleSubmitButton(false);
|
|
175
|
+
if (error.status === 403) {
|
|
176
|
+
this.uploadError.set(this.translateService.instant('document.uploadPermissionDenied'));
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
this.showModal.set(false);
|
|
180
|
+
}
|
|
181
|
+
return EMPTY;
|
|
168
182
|
}))
|
|
169
183
|
.subscribe();
|
|
170
184
|
}
|
|
@@ -182,13 +196,13 @@ export class DocumentenApiUploaderComponent {
|
|
|
182
196
|
delete this.hideFields[field];
|
|
183
197
|
}
|
|
184
198
|
}
|
|
185
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i1.UploadProviderService }, { token: i2.FormIoDomService }, { token: i2.ValtimoModalService }, { token: i3.UserProviderService }, { token: i4.ActivatedRoute }, { token: i5.DocumentenApiVersionService }, { token: i2.FormIoStateService }, { token: i6.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiUploaderComponent, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", acceptedFiles: "acceptedFiles", hideAcceptedFiles: "hideAcceptedFiles", camera: "camera", documentTitle: "documentTitle", hideDocumentTitle: "hideDocumentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", hideFilename: "hideFilename", disableFilename: "disableFilename", author: "author", hideAuthor: "hideAuthor", disableAuthor: "disableAuthor", status: "status", hideStatus: "hideStatus", disableStatus: "disableStatus", language: "language", hideLanguage: "hideLanguage", disableLanguage: "disableLanguage", documentType: "documentType", hideDocumentType: "hideDocumentType", disableDocumentType: "disableDocumentType", description: "description", hideDescription: "hideDescription", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", hideConfidentialityLevel: "hideConfidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", hideCreationDate: "hideCreationDate", disableCreationDate: "disableCreationDate", hideAdditionalDate: "hideAdditionalDate", tags: "tags", hideTags: "hideTags", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-
|
|
199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i1.UploadProviderService }, { token: i2.FormIoDomService }, { token: i2.ValtimoModalService }, { token: i3.UserProviderService }, { token: i4.ActivatedRoute }, { token: i5.DocumentenApiVersionService }, { token: i2.FormIoStateService }, { token: i6.DocumentService }, { token: i7.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
200
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DocumentenApiUploaderComponent, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", acceptedFiles: "acceptedFiles", hideAcceptedFiles: "hideAcceptedFiles", camera: "camera", documentTitle: "documentTitle", hideDocumentTitle: "hideDocumentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", hideFilename: "hideFilename", disableFilename: "disableFilename", author: "author", hideAuthor: "hideAuthor", disableAuthor: "disableAuthor", status: "status", hideStatus: "hideStatus", disableStatus: "disableStatus", language: "language", hideLanguage: "hideLanguage", disableLanguage: "disableLanguage", documentType: "documentType", hideDocumentType: "hideDocumentType", disableDocumentType: "disableDocumentType", description: "description", hideDescription: "hideDescription", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", hideConfidentialityLevel: "hideConfidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", hideCreationDate: "hideCreationDate", disableCreationDate: "disableCreationDate", hideAdditionalDate: "hideAdditionalDate", tags: "tags", hideTags: "hideTags", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [showAcceptedFiles]=\"!hideAcceptedFiles\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [open]=\"showModal()\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [uploadError]=\"uploadError()\"\n (uploadErrorDismiss)=\"uploadError.set(null)\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\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: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "showMaxFileSize", "showAcceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles", "maxFileSize", "acceptedFiles"], outputs: ["fileSelected"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["disabled$", "file$", "hideFields", "defaultValues", "disableAuthor", "disableConfidentialityLevel", "disableDescription", "disableDocumentTitle", "disableDocumentType", "disableFilename", "disableLanguage", "disableStatus", "supportsTrefwoorden", "disableCreationDate", "isEditMode", "uploadError", "open"], outputs: ["metadata", "modalClose", "uploadErrorDismiss"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.FileSizePipe, name: "filesize" }] }); }
|
|
187
201
|
}
|
|
188
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploaderComponent, decorators: [{
|
|
189
203
|
type: Component,
|
|
190
|
-
args: [{ selector: 'valtimo-documenten-api-formio-uploader', template: "<!--\n ~ Copyright 2015-
|
|
191
|
-
}], ctorParameters: () => [{ type: i1.UploadProviderService }, { type: i2.FormIoDomService }, { type: i2.ValtimoModalService }, { type: i3.UserProviderService }, { type: i4.ActivatedRoute }, { type: i5.DocumentenApiVersionService }, { type: i2.FormIoStateService }, { type: i6.DocumentService }], propDecorators: { disabled: [{
|
|
204
|
+
args: [{ selector: 'valtimo-documenten-api-formio-uploader', template: "<!--\n ~ Copyright 2015-2026 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<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [showAcceptedFiles]=\"!hideAcceptedFiles\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n class=\"documenten-api-uploader-metadata-modal\"\n (metadata)=\"metadataSet($event)\"\n (modalClose)=\"closeMetadataModal()\"\n [defaultValues]=\"defaultValues\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableCreationDate]=\"disableCreationDate\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hideFields]=\"hideFields\"\n [open]=\"showModal()\"\n [supportsTrefwoorden]=\"(supportedDocumentenApiFeatures$ | async)?.supportsTrefwoorden\"\n [uploadError]=\"uploadError()\"\n (uploadErrorDismiss)=\"uploadError.set(null)\"\n></valtimo-documenten-api-metadata-modal>\n", styles: [".progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\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"] }]
|
|
205
|
+
}], ctorParameters: () => [{ type: i1.UploadProviderService }, { type: i2.FormIoDomService }, { type: i2.ValtimoModalService }, { type: i3.UserProviderService }, { type: i4.ActivatedRoute }, { type: i5.DocumentenApiVersionService }, { type: i2.FormIoStateService }, { type: i6.DocumentService }, { type: i7.TranslateService }], propDecorators: { disabled: [{
|
|
192
206
|
type: Input
|
|
193
207
|
}], title: [{
|
|
194
208
|
type: Input
|
|
@@ -269,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
269
283
|
}], value: [{
|
|
270
284
|
type: Input
|
|
271
285
|
}] } });
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2Zvcm1pby9kb2N1bWVudGVuLWFwaS11cGxvYWRlci9kb2N1bWVudGVuLWFwaS11cGxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3pndy9zcmMvbGliL21vZHVsZXMvZG9jdW1lbnRlbi1hcGkvZm9ybWlvL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBV2hHLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEtBQUssRUFFTCxFQUFFLEVBQ0YsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQVNsRSxNQUFNLE9BQU8sOEJBQThCO0lBYXpDLElBQWEsYUFBYSxDQUFDLFlBQW9CO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFhLGlCQUFpQixDQUFDLElBQWE7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFD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SztnQkFFTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSUcsYUFBYTtzQkFBckIsS0FBSztnQkFFTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBSUcsYUFBYTtzQkFBckIsS0FBSztnQkFFTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFTyxZQUFZO3NCQUF4QixLQUFLO2dCQXNCTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBSUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sZUFBZTtzQkFBM0IsS0FBSztnQkFJRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRU8sb0JBQW9CO3NCQUFoQyxLQUFLO2dCQUlPLHdCQUF3QjtzQkFBcEMsS0FBSztnQkFJRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBRU8sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQUlHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFTyxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFXTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlJLFdBQVc7c0JBQXBCLE1BQU07Z0JBdURJLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBGb3JtaW9DdXN0b21Db21wb25lbnQsXG4gIEZvcm1Jb0RvbVNlcnZpY2UsXG4gIEZvcm1Jb1N0YXRlU2VydmljZSxcbiAgVmFsdGltb01vZGFsU2VydmljZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtEb2N1bWVudGVuQXBpRmlsZVJlZmVyZW5jZSwgVXBsb2FkUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9yZXNvdXJjZSc7XG5pbXBvcnQge1VzZXJQcm92aWRlclNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3NlY3VyaXR5JztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgRU1QVFksXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEb2N1bWVudGVuQXBpTWV0YWRhdGEsIFN1cHBvcnRlZERvY3VtZW50ZW5BcGlGZWF0dXJlc30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RG9jdW1lbnRlbkFwaVZlcnNpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9jdW1lbnRlbi1hcGktZm9ybWlvLXVwbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRlbkFwaVVwbG9hZGVyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgRm9ybWlvQ3VzdG9tQ29tcG9uZW50PEFycmF5PERvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlPj4sIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBoaWRlVGl0bGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heEZpbGVTaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIGhpZGVNYXhGaWxlU2l6ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgYWNjZXB0ZWRGaWxlczogc3RyaW5nO1xuICBASW5wdXQoKSBoaWRlQWNjZXB0ZWRGaWxlczogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FtZXJhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBkb2N1bWVudFRpdGxlKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWyd0aXRlbCddID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGhpZGVEb2N1bWVudFRpdGxlKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAndGl0ZWwnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGRpc2FibGVEb2N1bWVudFRpdGxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBmaWxlbmFtZShkZWZhdWx0VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlc1snYmVzdGFuZHNuYWFtJ10gPSBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZUZpbGVuYW1lKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAnYmVzdGFuZHNuYWFtJyk7XG4gIH1cblxuICBASW5wdXQoKSBkaXNhYmxlRmlsZW5hbWU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IGF1dGhvcihkZWZhdWx0VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlc1snYXV0ZXVyJ10gPSBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZUF1dGhvcihoaWRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRlRmllbGQoaGlkZSwgJ2F1dGV1cicpO1xuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZUF1dGhvcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgc3RhdHVzKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWydzdGF0dXMnXSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBoaWRlU3RhdHVzKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAnc3RhdHVzJyk7XG4gIH1cblxuICBASW5wdXQoKSBkaXNhYmxlU3RhdHVzOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBsYW5ndWFnZShkZWZhdWx0VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlc1sndGFhbCddID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGhpZGVMYW5ndWFnZShoaWRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRlRmllbGQoaGlkZSwgJ3RhYWwnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGRpc2FibGVMYW5ndWFnZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgZG9jdW1lbnRUeXBlKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWydpbmZvcm1hdGllb2JqZWN0dHlwZSddID0gZGVmYXVsdFZhbHVlO1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudFR5cGVzKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAgICksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFZhbHVlc1snaW5mb3JtYXRpZW9iamVjdHR5cGUnXSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGRvY3VtZW50VHlwZXMgPT4ge1xuICAgICAgICBjb25zdCBmb3VuZERvY3VtZW50VHlwZSA9IGRvY3VtZW50VHlwZXMuZmluZChcbiAgICAgICAgICBkb2N1bWVudFR5cGUgPT4gZG9jdW1lbnRUeXBlLm5hbWUgPT09IGRlZmF1bHRWYWx1ZVxuICAgICAgICApO1xuICAgICAgICBmb3VuZERvY3VtZW50VHlwZVxuICAgICAgICAgID8gKHRoaXMuZGVmYXVsdFZhbHVlc1snaW5mb3JtYXRpZW9iamVjdHR5cGUnXSA9IGZvdW5kRG9jdW1lbnRUeXBlLnVybClcbiAgICAgICAgICA6ICh0aGlzLmRlZmF1bHRWYWx1ZXNbJ2luZm9ybWF0aWVvYmplY3R0eXBlJ10gPSBkZWZhdWx0VmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZURvY3VtZW50VHlwZShoaWRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRlRmllbGQoaGlkZSwgJ2luZm9ybWF0aWVvYmplY3R0eXBlJyk7XG4gIH1cblxuICBASW5wdXQoKSBkaXNhYmxlRG9jdW1lbnRUeXBlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBkZXNjcmlwdGlvbihkZWZhdWx0VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlc1snYmVzY2hyaWp2aW5nJ10gPSBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZURlc2NyaXB0aW9uKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAnYmVzY2hyaWp2aW5nJyk7XG4gIH1cblxuICBASW5wdXQoKSBkaXNhYmxlRGVzY3JpcHRpb246IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IGNvbmZpZGVudGlhbGl0eUxldmVsKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWyd2ZXJ0cm91d2VsaWpraGVpZGFhbmR1aWRpbmcnXSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBoaWRlQ29uZmlkZW50aWFsaXR5TGV2ZWwoaGlkZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGlkZUZpZWxkKGhpZGUsICd2ZXJ0cm91d2VsaWpraGVpZGFhbmR1aWRpbmcnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGRpc2FibGVDb25maWRlbnRpYWxpdHlMZXZlbDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgaGlkZUNyZWF0aW9uRGF0ZShoaWRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRlRmllbGQoaGlkZSwgJ2NyZWF0aWVkYXR1bScpO1xuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZUNyZWF0aW9uRGF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgaGlkZUFkZGl0aW9uYWxEYXRlKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAnYWFudnVsbGVuZGVEYXR1bScpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHRhZ3ModGFnczogc3RyaW5nKSB7XG4gICAgbGV0IF90YWdzID0gdGFnc1xuICAgICAgPy5zcGxpdCgnLCcpXG4gICAgICA/Lm1hcCh0YWcgPT4gdGFnLnRyaW0oKSlcbiAgICAgID8uZmlsdGVyKHRhZyA9PiAhIXRhZyk7XG4gICAgaWYgKF90YWdzPy5sZW5ndGggPT09IDApIHtcbiAgICAgIF90YWdzID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWyd0cmVmd29vcmRlbiddID0gdGFncztcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBoaWRlVGFncyhoaWRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRlRmllbGQoaGlkZSwgJ3RyZWZ3b29yZGVuJyk7XG4gIH1cblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PERvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlPj4oKTtcblxuICByZWFkb25seSB1cGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGZpbGVUb0JlVXBsb2FkZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWxlIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IG1vZGFsRGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dNb2RhbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHVwbG9hZFByb2Nlc3NMaW5rZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBzdHJpbmc+ID1cbiAgICB0aGlzLm1vZGFsU2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2UuY2hlY2tVcGxvYWRQcm9jZXNzTGluayhkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgKSxcbiAgICAgIHN0YXJ0V2l0aCgnbG9hZGluZycpXG4gICAgKTtcbiAgcmVhZG9ubHkgaXNBZG1pbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2VcbiAgICAuZ2V0VXNlclN1YmplY3QoKVxuICAgIC5waXBlKG1hcCh1c2VySWRlbnRpdHkgPT4gdXNlcklkZW50aXR5Py5yb2xlcy5pbmNsdWRlcygnUk9MRV9BRE1JTicpKSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRlZERvY3VtZW50ZW5BcGlGZWF0dXJlcyQ6IE9ic2VydmFibGU8U3VwcG9ydGVkRG9jdW1lbnRlbkFwaUZlYXR1cmVzPiA9XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICAgIHN3aXRjaE1hcChjYXNlRGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgdGhpcy5kb2N1bWVudGVuQXBpVmVyc2lvblNlcnZpY2UuZ2V0U3VwcG9ydGVkQXBpRmVhdHVyZXMoY2FzZURlZmluaXRpb25OYW1lKVxuICAgICAgKVxuICAgICk7XG5cbiAgcHVibGljIGRlZmF1bHRWYWx1ZXM6IHt9ID0ge307XG4gIHB1YmxpYyBoaWRlRmllbGRzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVwbG9hZFByb3ZpZGVyU2VydmljZTogVXBsb2FkUHJvdmlkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tU2VydmljZTogRm9ybUlvRG9tU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogVmFsdGltb01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQcm92aWRlclNlcnZpY2U6IFVzZXJQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudGVuQXBpVmVyc2lvblNlcnZpY2U6IERvY3VtZW50ZW5BcGlWZXJzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogRm9ybUlvU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5Eb2N1bWVudERlZmluaXRpb25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBfdmFsdWU6IEFycmF5PERvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlPiA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogQXJyYXk8RG9jdW1lbnRlbkFwaUZpbGVSZWZlcmVuY2U+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBBcnJheTxEb2N1bWVudGVuQXBpRmlsZVJlZmVyZW5jZT4pIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZmlsZVNlbGVjdGVkKGZpbGU6IEZpbGUpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVUb0JlVXBsb2FkZWQkLm5leHQoZmlsZSk7XG4gICAgdGhpcy5zaG93TW9kYWwuc2V0KHRydWUpO1xuICB9XG5cbiAgZGVsZXRlRmlsZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kb21TZXJ2aWNlLnRvZ2dsZVN1Ym1pdEJ1dHRvbih0cnVlKTtcbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3ZhbHVlLmZpbHRlcigoZmlsZTogRG9jdW1lbnRlbkFwaUZpbGVSZWZlcmVuY2UpID0+XG4gICAgICBmaWxlPy5pZCA/IGZpbGU/LmlkICE9PSBpZCA6IHRydWVcbiAgICApO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gIH1cblxuICBjbG9zZU1ldGFkYXRhTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93TW9kYWwuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIG1ldGFkYXRhU2V0KG1ldGFkYXRhOiBEb2N1bWVudGVuQXBpTWV0YWRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICB0aGlzLnNob3dNb2RhbC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuZG9tU2VydmljZS50b2dnbGVTdWJtaXRCdXR0b24odHJ1ZSk7XG5cbiAgICB0aGlzLmZpbGVUb0JlVXBsb2FkZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKGZpbGUgPT4gdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2UudXBsb2FkVGVtcEZpbGVXaXRoTWV0YWRhdGEoZmlsZSwgbWV0YWRhdGEpKSxcbiAgICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgdGhpcy5kb21TZXJ2aWNlLnRvZ2dsZVN1Ym1pdEJ1dHRvbihmYWxzZSk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuX3ZhbHVlLnB1c2gocmVzdWx0KTtcbiAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRG9jdW1lbnREZWZpbml0aW9uU3Vic2NyaXB0aW9uKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5yb3V0ZT8ucGFyYW1zIHx8IG9mKG51bGwpLCB0aGlzLnJvdXRlPy5maXJzdENoaWxkPy5wYXJhbXMgfHwgb2YobnVsbCldKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAoW3BhcmFtcywgZmlyc3RDaGlsZFBhcmFtc10pID0+XG4gICAgICAgICAgICAgIChwYXJhbXM/LmRvY3VtZW50RGVmaW5pdGlvbk5hbWUgfHwgZmlyc3RDaGlsZFBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSkgYXMgc3RyaW5nXG4gICAgICAgICAgKSxcbiAgICAgICAgICBmaWx0ZXIoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PiAhIWRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShkb2N1bWVudERlZmluaXRpb25OYW1lID0+XG4gICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uuc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZShkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZUZpZWxkKGhpZGU6IGJvb2xlYW4sIGZpZWxkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBleGlzdHMgPSB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoZmllbGQpO1xuICAgIGlmICghZXhpc3RzICYmIGhpZGUpIHtcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9IGVsc2UgaWYgKGV4aXN0cyAmJiAhaGlkZSkge1xuICAgICAgZGVsZXRlIHRoaXMuaGlkZUZpZWxkc1tmaWVsZF07XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7bGlua2VkOiB1cGxvYWRQcm9jZXNzTGlua2VkJCB8IGFzeW5jLCBpc0FkbWluOiBpc0FkbWluJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgPGRpdiAqbmdJZj1cIm9icy5saW5rZWQgPT09IGZhbHNlXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJvYnMuaXNBZG1pblwiXG4gICAgICBbdHJhbnNsYXRlXT1cIidkb3NzaWVyLmRvY3VtZW50ZW4ubm9Qcm9jZXNzTGlua2VkLmFkbWluUm9sZSdcIlxuICAgICAgY2xhc3M9XCJiZy13YXJuaW5nIHRleHQtYmxhY2sgbWItMiBwLTMgdGV4dC1jZW50ZXJcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFvYnMuaXNBZG1pblwiXG4gICAgICBbdHJhbnNsYXRlXT1cIidkb3NzaWVyLmRvY3VtZW50ZW4ubm9Qcm9jZXNzTGlua2VkLnJlZ3VsYXJVc2VyJ1wiXG4gICAgICBjbGFzcz1cImJnLXdhcm5pbmcgdGV4dC1ibGFjayBtYi0yIHAtMyB0ZXh0LWNlbnRlclwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbiAgPHZhbHRpbW8tZHJvcHpvbmVcbiAgICAoZmlsZVNlbGVjdGVkKT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICBbYWNjZXB0ZWRGaWxlc109XCJhY2NlcHRlZEZpbGVzXCJcbiAgICBbc2hvd0FjY2VwdGVkRmlsZXNdPVwiIWhpZGVBY2NlcHRlZEZpbGVzXCJcbiAgICBbY2FtZXJhXT1cImNhbWVyYVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IG9icy5saW5rZWQgPT09IGZhbHNlIHx8IG9icy5saW5rZWQgPT09ICdsb2FkaW5nJ1wiXG4gICAgW2hpZGVGaWxlUHJldmlld109XCJ0cnVlXCJcbiAgICBbaGlkZVRpdGxlXT1cImhpZGVUaXRsZVwiXG4gICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICBbbWF4RmlsZXNdPVwiMVwiXG4gICAgW3Nob3dNYXhGaWxlU2l6ZV09XCIhaGlkZU1heEZpbGVTaXplXCJcbiAgICBbc3VidGl0bGVdPVwic3VidGl0bGVcIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW3VwbG9hZGluZ109XCJ1cGxvYWRpbmckIHwgYXN5bmNcIlxuICA+PC92YWx0aW1vLWRyb3B6b25lPlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgKm5nRm9yPVwibGV0IHJlc291cmNlIG9mIF92YWx1ZVwiIGNsYXNzPVwiZmlsZS1wcmV2aWV3XCI+XG4gIDxkaXYgY2xhc3M9XCJmaWxlLXByZXZpZXctbmFtZVwiPlxuICAgIDxzcGFuPlxuICAgICAge3sgcmVzb3VyY2UuZmlsZW5hbWUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmlsZS1wcmV2aWV3LXNpemVcIj5cbiAgICA8c3Bhbj5cbiAgICAgIHt7IHJlc291cmNlLnNpemVJbkJ5dGVzIHwgZmlsZXNpemUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWRpc2FibGVkXCIgY2xhc3M9XCJmaWxlLXByZXZpZXctZGVsZXRlXCI+XG4gICAgPGEgKGNsaWNrKT1cImRlbGV0ZUZpbGUocmVzb3VyY2UuaWQpXCI+XG4gICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGVcIj48L2k+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48dmFsdGltby1kb2N1bWVudGVuLWFwaS1tZXRhZGF0YS1tb2RhbFxuICBjbGFzcz1cImRvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLW1ldGFkYXRhLW1vZGFsXCJcbiAgKG1ldGFkYXRhKT1cIm1ldGFkYXRhU2V0KCRldmVudClcIlxuICAobW9kYWxDbG9zZSk9XCJjbG9zZU1ldGFkYXRhTW9kYWwoKVwiXG4gIFtkZWZhdWx0VmFsdWVzXT1cImRlZmF1bHRWYWx1ZXNcIlxuICBbZGlzYWJsZUF1dGhvcl09XCJkaXNhYmxlQXV0aG9yXCJcbiAgW2Rpc2FibGVDb25maWRlbnRpYWxpdHlMZXZlbF09XCJkaXNhYmxlQ29uZmlkZW50aWFsaXR5TGV2ZWxcIlxuICBbZGlzYWJsZUNyZWF0aW9uRGF0ZV09XCJkaXNhYmxlQ3JlYXRpb25EYXRlXCJcbiAgW2Rpc2FibGVEZXNjcmlwdGlvbl09XCJkaXNhYmxlRGVzY3JpcHRpb25cIlxuICBbZGlzYWJsZURvY3VtZW50VGl0bGVdPVwiZGlzYWJsZURvY3VtZW50VGl0bGVcIlxuICBbZGlzYWJsZURvY3VtZW50VHlwZV09XCJkaXNhYmxlRG9jdW1lbnRUeXBlXCJcbiAgW2Rpc2FibGVGaWxlbmFtZV09XCJkaXNhYmxlRmlsZW5hbWVcIlxuICBbZGlzYWJsZUxhbmd1YWdlXT1cImRpc2FibGVMYW5ndWFnZVwiXG4gIFtkaXNhYmxlU3RhdHVzXT1cImRpc2FibGVTdGF0dXNcIlxuICBbZGlzYWJsZWQkXT1cIm1vZGFsRGlzYWJsZWQkXCJcbiAgW2ZpbGUkXT1cImZpbGVUb0JlVXBsb2FkZWQkXCJcbiAgW2hpZGVGaWVsZHNdPVwiaGlkZUZpZWxkc1wiXG4gIFtzdXBwb3J0c1RyZWZ3b29yZGVuXT1cIihzdXBwb3J0ZWREb2N1bWVudGVuQXBpRmVhdHVyZXMkIHwgYXN5bmMpPy5zdXBwb3J0c1RyZWZ3b29yZGVuXCJcbiAgW29wZW5dPVwic2hvd01vZGFsKClcIlxuPjwvdmFsdGltby1kb2N1bWVudGVuLWFwaS1tZXRhZGF0YS1tb2RhbD5cbiJdfQ==
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby96Z3cvc3JjL2xpYi9tb2R1bGVzL2RvY3VtZW50ZW4tYXBpL2Zvcm1pby9kb2N1bWVudGVuLWFwaS11cGxvYWRlci9kb2N1bWVudGVuLWFwaS11cGxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3pndy9zcmMvbGliL21vZHVsZXMvZG9jdW1lbnRlbi1hcGkvZm9ybWlvL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBYWhHLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEtBQUssRUFFTCxFQUFFLEVBQ0YsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQVNsRSxNQUFNLE9BQU8sOEJBQThCO0lBYXpDLElBQWEsYUFBYSxDQUFDLFlBQW9CO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFhLGlCQUFpQixDQUFDLElBQWE7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFD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QWU7c0JBQTNCLEtBQUs7Z0JBSUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVPLG9CQUFvQjtzQkFBaEMsS0FBSztnQkFJTyx3QkFBd0I7c0JBQXBDLEtBQUs7Z0JBSUcsMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUVPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFJRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRU8sa0JBQWtCO3NCQUE5QixLQUFLO2dCQUlPLElBQUk7c0JBQWhCLEtBQUs7Z0JBV08sUUFBUTtzQkFBcEIsS0FBSztnQkFJSSxXQUFXO3NCQUFwQixNQUFNO2dCQXlESSxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBFcnJvclJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1pb0N1c3RvbUNvbXBvbmVudCxcbiAgRm9ybUlvRG9tU2VydmljZSxcbiAgRm9ybUlvU3RhdGVTZXJ2aWNlLFxuICBWYWx0aW1vTW9kYWxTZXJ2aWNlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0RvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlLCBVcGxvYWRQcm92aWRlclNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Jlc291cmNlJztcbmltcG9ydCB7VXNlclByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBFTVBUWSxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RvY3VtZW50ZW5BcGlNZXRhZGF0YSwgU3VwcG9ydGVkRG9jdW1lbnRlbkFwaUZlYXR1cmVzfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtEb2N1bWVudGVuQXBpVmVyc2lvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb2N1bWVudGVuLWFwaS1mb3JtaW8tdXBsb2FkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudGVuLWFwaS11cGxvYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudGVuQXBpVXBsb2FkZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBGb3JtaW9DdXN0b21Db21wb25lbnQ8QXJyYXk8RG9jdW1lbnRlbkFwaUZpbGVSZWZlcmVuY2U+PiwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZGVUaXRsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgbWF4RmlsZVNpemU6IG51bWJlcjtcbiAgQElucHV0KCkgaGlkZU1heEZpbGVTaXplOiBib29sZWFuO1xuICBASW5wdXQoKSBhY2NlcHRlZEZpbGVzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZGVBY2NlcHRlZEZpbGVzOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW1lcmE6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IGRvY3VtZW50VGl0bGUoZGVmYXVsdFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZXNbJ3RpdGVsJ10gPSBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZURvY3VtZW50VGl0bGUoaGlkZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGlkZUZpZWxkKGhpZGUsICd0aXRlbCcpO1xuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZURvY3VtZW50VGl0bGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IGZpbGVuYW1lKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWydiZXN0YW5kc25hYW0nXSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBoaWRlRmlsZW5hbWUoaGlkZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGlkZUZpZWxkKGhpZGUsICdiZXN0YW5kc25hYW0nKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGRpc2FibGVGaWxlbmFtZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgYXV0aG9yKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWydhdXRldXInXSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBoaWRlQXV0aG9yKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAnYXV0ZXVyJyk7XG4gIH1cblxuICBASW5wdXQoKSBkaXNhYmxlQXV0aG9yOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBzdGF0dXMoZGVmYXVsdFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZXNbJ3N0YXR1cyddID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGhpZGVTdGF0dXMoaGlkZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGlkZUZpZWxkKGhpZGUsICdzdGF0dXMnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGRpc2FibGVTdGF0dXM6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IGxhbmd1YWdlKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWyd0YWFsJ10gPSBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZUxhbmd1YWdlKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAndGFhbCcpO1xuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZUxhbmd1YWdlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBkb2N1bWVudFR5cGUoZGVmYXVsdFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZXNbJ2luZm9ybWF0aWVvYmplY3R0eXBlJ10gPSBkZWZhdWx0VmFsdWU7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PlxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50VHlwZXMoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICAgKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWVzWydpbmZvcm1hdGllb2JqZWN0dHlwZSddID0gZGVmYXVsdFZhbHVlO1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZG9jdW1lbnRUeXBlcyA9PiB7XG4gICAgICAgIGNvbnN0IGZvdW5kRG9jdW1lbnRUeXBlID0gZG9jdW1lbnRUeXBlcy5maW5kKFxuICAgICAgICAgIGRvY3VtZW50VHlwZSA9PiBkb2N1bWVudFR5cGUubmFtZSA9PT0gZGVmYXVsdFZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIGZvdW5kRG9jdW1lbnRUeXBlXG4gICAgICAgICAgPyAodGhpcy5kZWZhdWx0VmFsdWVzWydpbmZvcm1hdGllb2JqZWN0dHlwZSddID0gZm91bmREb2N1bWVudFR5cGUudXJsKVxuICAgICAgICAgIDogKHRoaXMuZGVmYXVsdFZhbHVlc1snaW5mb3JtYXRpZW9iamVjdHR5cGUnXSA9IGRlZmF1bHRWYWx1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBoaWRlRG9jdW1lbnRUeXBlKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAnaW5mb3JtYXRpZW9iamVjdHR5cGUnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGRpc2FibGVEb2N1bWVudFR5cGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IGRlc2NyaXB0aW9uKGRlZmF1bHRWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWVzWydiZXNjaHJpanZpbmcnXSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBoaWRlRGVzY3JpcHRpb24oaGlkZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGlkZUZpZWxkKGhpZGUsICdiZXNjaHJpanZpbmcnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGRpc2FibGVEZXNjcmlwdGlvbjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzZXQgY29uZmlkZW50aWFsaXR5TGV2ZWwoZGVmYXVsdFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZXNbJ3ZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZyddID0gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGhpZGVDb25maWRlbnRpYWxpdHlMZXZlbChoaWRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5oaWRlRmllbGQoaGlkZSwgJ3ZlcnRyb3V3ZWxpamtoZWlkYWFuZHVpZGluZycpO1xuICB9XG5cbiAgQElucHV0KCkgZGlzYWJsZUNvbmZpZGVudGlhbGl0eUxldmVsOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBoaWRlQ3JlYXRpb25EYXRlKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAnY3JlYXRpZWRhdHVtJyk7XG4gIH1cblxuICBASW5wdXQoKSBkaXNhYmxlQ3JlYXRpb25EYXRlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNldCBoaWRlQWRkaXRpb25hbERhdGUoaGlkZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGlkZUZpZWxkKGhpZGUsICdhYW52dWxsZW5kZURhdHVtJyk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdGFncyh0YWdzOiBzdHJpbmcpIHtcbiAgICBsZXQgX3RhZ3MgPSB0YWdzXG4gICAgICA/LnNwbGl0KCcsJylcbiAgICAgID8ubWFwKHRhZyA9PiB0YWcudHJpbSgpKVxuICAgICAgPy5maWx0ZXIodGFnID0+ICEhdGFnKTtcbiAgICBpZiAoX3RhZ3M/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgX3RhZ3MgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRWYWx1ZXNbJ3RyZWZ3b29yZGVuJ10gPSB0YWdzO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGhpZGVUYWdzKGhpZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhpZGVGaWVsZChoaWRlLCAndHJlZndvb3JkZW4nKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8RG9jdW1lbnRlbkFwaUZpbGVSZWZlcmVuY2U+PigpO1xuXG4gIHJlYWRvbmx5IHVwbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZmlsZVRvQmVVcGxvYWRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbGUgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgbW9kYWxEaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd01vZGFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgdXBsb2FkRXJyb3IgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IHVwbG9hZFByb2Nlc3NMaW5rZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBzdHJpbmc+ID1cbiAgICB0aGlzLm1vZGFsU2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2UuY2hlY2tVcGxvYWRQcm9jZXNzTGluayhkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgKSxcbiAgICAgIHN0YXJ0V2l0aCgnbG9hZGluZycpXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzQWRtaW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlXG4gICAgLmdldFVzZXJTdWJqZWN0KClcbiAgICAucGlwZShtYXAodXNlcklkZW50aXR5ID0+IHVzZXJJZGVudGl0eT8ucm9sZXMuaW5jbHVkZXMoJ1JPTEVfQURNSU4nKSkpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdXBwb3J0ZWREb2N1bWVudGVuQXBpRmVhdHVyZXMkOiBPYnNlcnZhYmxlPFN1cHBvcnRlZERvY3VtZW50ZW5BcGlGZWF0dXJlcz4gPVxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoY2FzZURlZmluaXRpb25OYW1lID0+XG4gICAgICAgIHRoaXMuZG9jdW1lbnRlbkFwaVZlcnNpb25TZXJ2aWNlLmdldFN1cHBvcnRlZEFwaUZlYXR1cmVzKGNhc2VEZWZpbml0aW9uTmFtZSlcbiAgICAgIClcbiAgICApO1xuXG4gIHB1YmxpYyBkZWZhdWx0VmFsdWVzOiB7fSA9IHt9O1xuICBwdWJsaWMgaGlkZUZpZWxkczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cGxvYWRQcm92aWRlclNlcnZpY2U6IFVwbG9hZFByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvbVNlcnZpY2U6IEZvcm1Jb0RvbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IFZhbHRpbW9Nb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyUHJvdmlkZXJTZXJ2aWNlOiBVc2VyUHJvdmlkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRlbkFwaVZlcnNpb25TZXJ2aWNlOiBEb2N1bWVudGVuQXBpVmVyc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IEZvcm1Jb1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkRvY3VtZW50RGVmaW5pdGlvblN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIF92YWx1ZTogQXJyYXk8RG9jdW1lbnRlbkFwaUZpbGVSZWZlcmVuY2U+ID0gW107XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBBcnJheTxEb2N1bWVudGVuQXBpRmlsZVJlZmVyZW5jZT4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IEFycmF5PERvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlPikge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBmaWxlU2VsZWN0ZWQoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVRvQmVVcGxvYWRlZCQubmV4dChmaWxlKTtcbiAgICB0aGlzLnNob3dNb2RhbC5zZXQodHJ1ZSk7XG4gIH1cblxuICBkZWxldGVGaWxlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvbVNlcnZpY2UudG9nZ2xlU3VibWl0QnV0dG9uKHRydWUpO1xuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fdmFsdWUuZmlsdGVyKChmaWxlOiBEb2N1bWVudGVuQXBpRmlsZVJlZmVyZW5jZSkgPT5cbiAgICAgIGZpbGU/LmlkID8gZmlsZT8uaWQgIT09IGlkIDogdHJ1ZVxuICAgICk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgfVxuXG4gIGNsb3NlTWV0YWRhdGFNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZEVycm9yLnNldChudWxsKTtcbiAgICB0aGlzLnNob3dNb2RhbC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgbWV0YWRhdGFTZXQobWV0YWRhdGE6IERvY3VtZW50ZW5BcGlNZXRhZGF0YSk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkRXJyb3Iuc2V0KG51bGwpO1xuICAgIHRoaXMudXBsb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZG9tU2VydmljZS50b2dnbGVTdWJtaXRCdXR0b24odHJ1ZSk7XG5cbiAgICB0aGlzLmZpbGVUb0JlVXBsb2FkZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKGZpbGUgPT4gdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2UudXBsb2FkVGVtcEZpbGVXaXRoTWV0YWRhdGEoZmlsZSwgbWV0YWRhdGEpKSxcbiAgICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93TW9kYWwuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmRvbVNlcnZpY2UudG9nZ2xlU3VibWl0QnV0dG9uKGZhbHNlKTtcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5fdmFsdWUucHVzaChyZXN1bHQpO1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5kb21TZXJ2aWNlLnRvZ2dsZVN1Ym1pdEJ1dHRvbihmYWxzZSk7XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEVycm9yLnNldCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZG9jdW1lbnQudXBsb2FkUGVybWlzc2lvbkRlbmllZCcpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93TW9kYWwuc2V0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRG9jdW1lbnREZWZpbml0aW9uU3Vic2NyaXB0aW9uKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5yb3V0ZT8ucGFyYW1zIHx8IG9mKG51bGwpLCB0aGlzLnJvdXRlPy5maXJzdENoaWxkPy5wYXJhbXMgfHwgb2YobnVsbCldKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAoW3BhcmFtcywgZmlyc3RDaGlsZFBhcmFtc10pID0+XG4gICAgICAgICAgICAgIChwYXJhbXM/LmRvY3VtZW50RGVmaW5pdGlvbk5hbWUgfHwgZmlyc3RDaGlsZFBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSkgYXMgc3RyaW5nXG4gICAgICAgICAgKSxcbiAgICAgICAgICBmaWx0ZXIoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PiAhIWRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShkb2N1bWVudERlZmluaXRpb25OYW1lID0+XG4gICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uuc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZShkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZUZpZWxkKGhpZGU6IGJvb2xlYW4sIGZpZWxkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBleGlzdHMgPSB0aGlzLmhpZGVGaWVsZHMuaW5jbHVkZXMoZmllbGQpO1xuICAgIGlmICghZXhpc3RzICYmIGhpZGUpIHtcbiAgICAgIHRoaXMuaGlkZUZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9IGVsc2UgaWYgKGV4aXN0cyAmJiAhaGlkZSkge1xuICAgICAgZGVsZXRlIHRoaXMuaGlkZUZpZWxkc1tmaWVsZF07XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7bGlua2VkOiB1cGxvYWRQcm9jZXNzTGlua2VkJCB8IGFzeW5jLCBpc0FkbWluOiBpc0FkbWluJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgPGRpdiAqbmdJZj1cIm9icy5saW5rZWQgPT09IGZhbHNlXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJvYnMuaXNBZG1pblwiXG4gICAgICBbdHJhbnNsYXRlXT1cIidkb3NzaWVyLmRvY3VtZW50ZW4ubm9Qcm9jZXNzTGlua2VkLmFkbWluUm9sZSdcIlxuICAgICAgY2xhc3M9XCJiZy13YXJuaW5nIHRleHQtYmxhY2sgbWItMiBwLTMgdGV4dC1jZW50ZXJcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFvYnMuaXNBZG1pblwiXG4gICAgICBbdHJhbnNsYXRlXT1cIidkb3NzaWVyLmRvY3VtZW50ZW4ubm9Qcm9jZXNzTGlua2VkLnJlZ3VsYXJVc2VyJ1wiXG4gICAgICBjbGFzcz1cImJnLXdhcm5pbmcgdGV4dC1ibGFjayBtYi0yIHAtMyB0ZXh0LWNlbnRlclwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbiAgPHZhbHRpbW8tZHJvcHpvbmVcbiAgICAoZmlsZVNlbGVjdGVkKT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICBbYWNjZXB0ZWRGaWxlc109XCJhY2NlcHRlZEZpbGVzXCJcbiAgICBbc2hvd0FjY2VwdGVkRmlsZXNdPVwiIWhpZGVBY2NlcHRlZEZpbGVzXCJcbiAgICBbY2FtZXJhXT1cImNhbWVyYVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IG9icy5saW5rZWQgPT09IGZhbHNlIHx8IG9icy5saW5rZWQgPT09ICdsb2FkaW5nJ1wiXG4gICAgW2hpZGVGaWxlUHJldmlld109XCJ0cnVlXCJcbiAgICBbaGlkZVRpdGxlXT1cImhpZGVUaXRsZVwiXG4gICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICBbbWF4RmlsZXNdPVwiMVwiXG4gICAgW3Nob3dNYXhGaWxlU2l6ZV09XCIhaGlkZU1heEZpbGVTaXplXCJcbiAgICBbc3VidGl0bGVdPVwic3VidGl0bGVcIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW3VwbG9hZGluZ109XCJ1cGxvYWRpbmckIHwgYXN5bmNcIlxuICA+PC92YWx0aW1vLWRyb3B6b25lPlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgKm5nRm9yPVwibGV0IHJlc291cmNlIG9mIF92YWx1ZVwiIGNsYXNzPVwiZmlsZS1wcmV2aWV3XCI+XG4gIDxkaXYgY2xhc3M9XCJmaWxlLXByZXZpZXctbmFtZVwiPlxuICAgIDxzcGFuPlxuICAgICAge3sgcmVzb3VyY2UuZmlsZW5hbWUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmlsZS1wcmV2aWV3LXNpemVcIj5cbiAgICA8c3Bhbj5cbiAgICAgIHt7IHJlc291cmNlLnNpemVJbkJ5dGVzIHwgZmlsZXNpemUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWRpc2FibGVkXCIgY2xhc3M9XCJmaWxlLXByZXZpZXctZGVsZXRlXCI+XG4gICAgPGEgKGNsaWNrKT1cImRlbGV0ZUZpbGUocmVzb3VyY2UuaWQpXCI+XG4gICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGVcIj48L2k+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48dmFsdGltby1kb2N1bWVudGVuLWFwaS1tZXRhZGF0YS1tb2RhbFxuICBjbGFzcz1cImRvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLW1ldGFkYXRhLW1vZGFsXCJcbiAgKG1ldGFkYXRhKT1cIm1ldGFkYXRhU2V0KCRldmVudClcIlxuICAobW9kYWxDbG9zZSk9XCJjbG9zZU1ldGFkYXRhTW9kYWwoKVwiXG4gIFtkZWZhdWx0VmFsdWVzXT1cImRlZmF1bHRWYWx1ZXNcIlxuICBbZGlzYWJsZUF1dGhvcl09XCJkaXNhYmxlQXV0aG9yXCJcbiAgW2Rpc2FibGVDb25maWRlbnRpYWxpdHlMZXZlbF09XCJkaXNhYmxlQ29uZmlkZW50aWFsaXR5TGV2ZWxcIlxuICBbZGlzYWJsZUNyZWF0aW9uRGF0ZV09XCJkaXNhYmxlQ3JlYXRpb25EYXRlXCJcbiAgW2Rpc2FibGVEZXNjcmlwdGlvbl09XCJkaXNhYmxlRGVzY3JpcHRpb25cIlxuICBbZGlzYWJsZURvY3VtZW50VGl0bGVdPVwiZGlzYWJsZURvY3VtZW50VGl0bGVcIlxuICBbZGlzYWJsZURvY3VtZW50VHlwZV09XCJkaXNhYmxlRG9jdW1lbnRUeXBlXCJcbiAgW2Rpc2FibGVGaWxlbmFtZV09XCJkaXNhYmxlRmlsZW5hbWVcIlxuICBbZGlzYWJsZUxhbmd1YWdlXT1cImRpc2FibGVMYW5ndWFnZVwiXG4gIFtkaXNhYmxlU3RhdHVzXT1cImRpc2FibGVTdGF0dXNcIlxuICBbZGlzYWJsZWQkXT1cIm1vZGFsRGlzYWJsZWQkXCJcbiAgW2ZpbGUkXT1cImZpbGVUb0JlVXBsb2FkZWQkXCJcbiAgW2hpZGVGaWVsZHNdPVwiaGlkZUZpZWxkc1wiXG4gIFtvcGVuXT1cInNob3dNb2RhbCgpXCJcbiAgW3N1cHBvcnRzVHJlZndvb3JkZW5dPVwiKHN1cHBvcnRlZERvY3VtZW50ZW5BcGlGZWF0dXJlcyQgfCBhc3luYyk/LnN1cHBvcnRzVHJlZndvb3JkZW5cIlxuICBbdXBsb2FkRXJyb3JdPVwidXBsb2FkRXJyb3IoKVwiXG4gICh1cGxvYWRFcnJvckRpc21pc3MpPVwidXBsb2FkRXJyb3Iuc2V0KG51bGwpXCJcbj48L3ZhbHRpbW8tZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWw+XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2015-
|
|
2
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -34,4 +34,4 @@ var DOCUMENTEN_COLUMN_KEYS;
|
|
|
34
34
|
DOCUMENTEN_COLUMN_KEYS["TAGS"] = "tags";
|
|
35
35
|
})(DOCUMENTEN_COLUMN_KEYS || (DOCUMENTEN_COLUMN_KEYS = {}));
|
|
36
36
|
export { DOCUMENTEN_COLUMN_KEYS };
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3pndy9zcmMvbGliL21vZHVsZXMvZG9jdW1lbnRlbi1hcGkvbW9kZWxzL2RvY3VtZW50ZW4tYXBpLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBMkJILElBQUssc0JBa0JKO0FBbEJELFdBQUssc0JBQXNCO0lBQ3pCLDJDQUFpQixDQUFBO0lBQ2pCLHVEQUE2QixDQUFBO0lBQzdCLHVEQUE2QixDQUFBO0lBQzdCLDJEQUFpQyxDQUFBO0lBQ2pDLDZEQUFtQyxDQUFBO0lBQ25DLHVEQUE2QixDQUFBO0lBQzdCLDZDQUFtQixDQUFBO0lBQ25CLHlEQUErQixDQUFBO0lBQy9CLHVFQUE2QyxDQUFBO0lBQzdDLDJDQUFpQixDQUFBO0lBQ2pCLDJDQUFpQixDQUFBO0lBQ2pCLHVDQUFhLENBQUE7SUFDYix5Q0FBZSxDQUFBO0lBQ2YscURBQTJCLENBQUE7SUFDM0IsMkNBQWlCLENBQUE7SUFDakIscUZBQTJELENBQUE7SUFDM0QsdUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFsQkksc0JBQXNCLEtBQXRCLHNCQUFzQixRQWtCMUI7QUFNRCxPQUFPLEVBQTJCLHNCQUFzQixFQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjYgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtSZWxhdGVkRmlsZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuXG5pbnRlcmZhY2UgRG9jdW1lbnRlbkFwaVJlbGF0ZWRGaWxlIGV4dGVuZHMgUmVsYXRlZEZpbGUge1xuICBhdXRldXI/OiBzdHJpbmc7XG4gIGJlc2NocmlqdmluZz86IHN0cmluZztcbiAgYmVzdGFuZHNuYWFtPzogc3RyaW5nO1xuICBiZXN0YW5kc29tdmFuZz86IG51bWJlcjtcbiAgYnJvbm9yZ2FuaXNhdGllPzogc3RyaW5nO1xuICBjcmVhdGllZGF0dW0/OiBEYXRlO1xuICBmb3JtYWF0Pzogc3RyaW5nO1xuICBpZGVudGlmaWNhdGllPzogc3RyaW5nO1xuICBpbmZvcm1hdGllb2JqZWN0dHlwZT86IHN0cmluZztcbiAgbG9ja2VkPzogYm9vbGVhbjtcbiAgc3RhdHVzPzogc3RyaW5nO1xuICB0YWFsPzogc3RyaW5nO1xuICB0aXRlbD86IFN0cmluZztcbiAgdHJlZndvb3JkZW4/OiBzdHJpbmdbXTtcbiAgdmVyc2llPzogbnVtYmVyO1xuICB2ZXJ0cm91d2VsaWpraGVpZGFhbmR1aWRpbmc/OiBzdHJpbmc7XG4gIHRhZ3M/OiB7Y29udGVudDogc3RyaW5nfVtdO1xuICBjYW5WaWV3PzogYm9vbGVhbjtcbiAgY2FuTW9kaWZ5PzogYm9vbGVhbjtcbiAgY2FuRGVsZXRlPzogYm9vbGVhbjtcbn1cblxuZW51bSBET0NVTUVOVEVOX0NPTFVNTl9LRVlTIHtcbiAgQVVURVVSID0gJ2F1dGV1cicsXG4gIEJFU0NIUklKVklORyA9ICdiZXNjaHJpanZpbmcnLFxuICBCRVNUQU5EU05BQU0gPSAnYmVzdGFuZHNuYWFtJyxcbiAgQkVTVEFORFNPTVZBTkcgPSAnYmVzdGFuZHNvbXZhbmcnLFxuICBCUk9OT1JHQU5JU0FUSUUgPSAnYnJvbm9yZ2FuaXNhdGllJyxcbiAgQ1JFQVRJRURBVFVNID0gJ2NyZWF0aWVkYXR1bScsXG4gIEZPUk1BQVQgPSAnZm9ybWFhdCcsXG4gIElERU5USUZJQ0FUSUUgPSAnaWRlbnRpZmljYXRpZScsXG4gIElORk9STUFUSUVPQkpFQ1RUWVBFID0gJ2luZm9ybWF0aWVvYmplY3R0eXBlJyxcbiAgTE9DS0VEID0gJ2xvY2tlZCcsXG4gIFNUQVRVUyA9ICdzdGF0dXMnLFxuICBUQUFMID0gJ3RhYWwnLFxuICBUSVRFTCA9ICd0aXRlbCcsXG4gIFRSRUZXT09SREVOID0gJ3RyZWZ3b29yZGVuJyxcbiAgVkVSU0lFID0gJ3ZlcnNpZScsXG4gIFZFUlRST1VXRUxJSktIRUlEQUFORFVJRElORyA9ICd2ZXJ0cm91d2VsaWpraGVpZGFhbmR1aWRpbmcnLFxuICBUQUdTID0gJ3RhZ3MnLFxufVxuXG5pbnRlcmZhY2UgRG9jdW1lbnRlbkFwaUZpbGVQZXJtaXNzaW9ucyB7XG4gIFtmaWxlSWQ6IHN0cmluZ106IHtjYW5WaWV3OiBib29sZWFuOyBjYW5Nb2RpZnk6IGJvb2xlYW47IGNhbkRlbGV0ZTogYm9vbGVhbn07XG59XG5cbmV4cG9ydCB7RG9jdW1lbnRlbkFwaVJlbGF0ZWRGaWxlLCBET0NVTUVOVEVOX0NPTFVNTl9LRVlTLCBEb2N1bWVudGVuQXBpRmlsZVBlcm1pc3Npb25zfTtcbiJdfQ==
|