@valtimo/zgw 12.44.0 → 12.46.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 +3 -3
- package/esm2022/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +8 -3
- package/esm2022/lib/modules/documenten-api/formio/documenten-api-uploader/documenten-api-uploader.component.mjs +3 -3
- package/fesm2022/valtimo-zgw.mjs +11 -6
- package/fesm2022/valtimo-zgw.mjs.map +1 -1
- package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +2 -1
- package/lib/modules/documenten-api/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -197,11 +197,11 @@ export class DocumentenApiUploaderComponent {
|
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
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" }] }); }
|
|
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 [uploading]=\"uploading$ | async\"\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", "uploading", "open"], outputs: ["metadata", "modalClose", "uploadErrorDismiss"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.FileSizePipe, name: "filesize" }] }); }
|
|
201
201
|
}
|
|
202
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DocumentenApiUploaderComponent, decorators: [{
|
|
203
203
|
type: Component,
|
|
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"] }]
|
|
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 [uploading]=\"uploading$ | async\"\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
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: [{
|
|
206
206
|
type: Input
|
|
207
207
|
}], title: [{
|
|
@@ -283,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
283
283
|
}], value: [{
|
|
284
284
|
type: Input
|
|
285
285
|
}] } });
|
|
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=
|
|
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/LnN1cHBvcnRzVHJlZndvb3JkZW5cIlxuICBbdXBsb2FkRXJyb3JdPVwidXBsb2FkRXJyb3IoKVwiXG4gIFt1cGxvYWRpbmddPVwidXBsb2FkaW5nJCB8IGFzeW5jXCJcbiAgKHVwbG9hZEVycm9yRGlzbWlzcyk9XCJ1cGxvYWRFcnJvci5zZXQobnVsbClcIlxuPjwvdmFsdGltby1kb2N1bWVudGVuLWFwaS1tZXRhZGF0YS1tb2RhbD5cbiJdfQ==
|