@valtimo/components 12.2.1 → 12.4.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.
Files changed (67) hide show
  1. package/esm2022/lib/components/button/button.component.mjs +3 -3
  2. package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +8 -3
  3. package/esm2022/lib/components/carbon-list/no-results/carbon-no-results.component.mjs +3 -3
  4. package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +3 -3
  5. package/esm2022/lib/components/date-picker/date-picker.component.mjs +3 -3
  6. package/esm2022/lib/components/dropzone/dropzone.component.mjs +3 -3
  7. package/esm2022/lib/components/form-io/form-io.component.mjs +9 -3
  8. package/esm2022/lib/components/input/input.component.mjs +3 -3
  9. package/esm2022/lib/components/input-label/input-label.component.mjs +3 -3
  10. package/esm2022/lib/components/left-sidebar/left-sidebar.component.mjs +3 -3
  11. package/esm2022/lib/components/list/list.component.mjs +3 -3
  12. package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +3 -3
  13. package/esm2022/lib/components/multi-input-form/multi-input-form.component.mjs +3 -3
  14. package/esm2022/lib/components/page-actions/page-actions.component.mjs +3 -3
  15. package/esm2022/lib/components/page-header/page-header.component.mjs +3 -3
  16. package/esm2022/lib/components/page-subtitle/page-subtitle.component.mjs +3 -3
  17. package/esm2022/lib/components/page-title/page-title.component.mjs +3 -3
  18. package/esm2022/lib/components/paragraph/paragraph.component.mjs +3 -3
  19. package/esm2022/lib/components/prompt/prompt.component.mjs +3 -3
  20. package/esm2022/lib/components/radio/radio.component.mjs +3 -3
  21. package/esm2022/lib/components/search-fields/search-fields.component.mjs +3 -3
  22. package/esm2022/lib/components/select/select.component.mjs +3 -3
  23. package/esm2022/lib/components/stepper/stepper-header/stepper-header.component.mjs +3 -3
  24. package/esm2022/lib/components/table/table.component.mjs +3 -3
  25. package/esm2022/lib/components/title/title.component.mjs +3 -3
  26. package/esm2022/lib/components/v-card/card.component.mjs +3 -3
  27. package/esm2022/lib/components/v-modal/modal.component.mjs +11 -8
  28. package/esm2022/lib/components/v-modal/modal.module.mjs +5 -4
  29. package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +3 -3
  30. package/esm2022/lib/components/view-content/type-converters/booleanTypeConverter.mjs +3 -1
  31. package/esm2022/lib/components/view-content/type-converters/currencyTypeConverter.mjs +2 -3
  32. package/esm2022/lib/components/view-content/type-converters/dateTimeTypeConverter.mjs +2 -3
  33. package/esm2022/lib/components/view-content/type-converters/dateTypeConverter.mjs +2 -3
  34. package/esm2022/lib/components/view-content/type-converters/enumTypeConverter.mjs +3 -1
  35. package/esm2022/lib/components/view-content/type-converters/numberTypeConverter.mjs +2 -3
  36. package/esm2022/lib/components/view-content/type-converters/percentTypeConverter.mjs +2 -3
  37. package/esm2022/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.mjs +2 -2
  38. package/esm2022/lib/components/view-content/type-converters/stringTypeConverter.mjs +2 -2
  39. package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +7 -5
  40. package/esm2022/lib/models/modal.model.mjs +1 -1
  41. package/fesm2022/valtimo-components.mjs +131 -117
  42. package/fesm2022/valtimo-components.mjs.map +1 -1
  43. package/lib/components/carbon-list/carbon-list.component.d.ts +1 -0
  44. package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
  45. package/lib/components/form-io/form-io.component.d.ts +3 -1
  46. package/lib/components/form-io/form-io.component.d.ts.map +1 -1
  47. package/lib/components/v-modal/modal.component.d.ts +3 -1
  48. package/lib/components/v-modal/modal.component.d.ts.map +1 -1
  49. package/lib/components/v-modal/modal.module.d.ts +2 -1
  50. package/lib/components/v-modal/modal.module.d.ts.map +1 -1
  51. package/lib/components/view-content/type-converters/booleanTypeConverter.d.ts.map +1 -1
  52. package/lib/components/view-content/type-converters/currencyTypeConverter.d.ts.map +1 -1
  53. package/lib/components/view-content/type-converters/dateTimeTypeConverter.d.ts.map +1 -1
  54. package/lib/components/view-content/type-converters/dateTypeConverter.d.ts.map +1 -1
  55. package/lib/components/view-content/type-converters/enumTypeConverter.d.ts.map +1 -1
  56. package/lib/components/view-content/type-converters/numberTypeConverter.d.ts.map +1 -1
  57. package/lib/components/view-content/type-converters/percentTypeConverter.d.ts.map +1 -1
  58. package/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.d.ts +1 -1
  59. package/lib/components/view-content/type-converters/stringReplaceUnderscoreTypeConverter.d.ts.map +1 -1
  60. package/lib/components/view-content/type-converters/stringTypeConverter.d.ts +1 -1
  61. package/lib/components/view-content/type-converters/stringTypeConverter.d.ts.map +1 -1
  62. package/lib/components/view-content/type-converters/type-converters.model.d.ts +3 -3
  63. package/lib/components/view-content/type-converters/type-converters.model.d.ts.map +1 -1
  64. package/lib/directives/tooltip/tooltip.directive.d.ts.map +1 -1
  65. package/lib/models/modal.model.d.ts +2 -1
  66. package/lib/models/modal.model.d.ts.map +1 -1
  67. package/package.json +1 -1
@@ -68,11 +68,11 @@ export class ConfirmationModalComponent {
68
68
  this.optionalEvent.emit(this.outputOnOptional);
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmationModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: { titleTranslationKey: "titleTranslationKey", title: "title", content: "content", contentTranslationKey: "contentTranslationKey", confirmButtonText: "confirmButtonText", confirmButtonTextTranslationKey: "confirmButtonTextTranslationKey", confirmButtonType: "confirmButtonType", showOptionalButton: "showOptionalButton", optionalButtonText: "optionalButtonText", optionalButtonTextTranslationKey: "optionalButtonTextTranslationKey", optionalButtonType: "optionalButtonType", cancelButtonText: "cancelButtonText", cancelButtonTextTranslationKey: "cancelButtonTextTranslationKey", cancelButtonType: "cancelButtonType", showModalSubject$: "showModalSubject$", outputOnConfirm: "outputOnConfirm", outputOnOptional: "outputOnOptional", spacerAfterCancelButton: "spacerAfterCancelButton" }, outputs: { confirmEvent: "confirmEvent", optionalEvent: "optionalEvent", cancelEvent: "cancelEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n [open]=\"modalOpen$ | async\"\n *ngIf=\"{\n deleteTranslation: 'interface.delete' | translate,\n deleteConfirmationTranslation: 'interface.deleteConfirmation' | translate,\n cancelTranslation: 'interface.cancel' | translate,\n titleTranslation: titleTranslationKey | translate,\n contentTranslation: contentTranslationKey | translate,\n confirmButtonTranslation: confirmButtonTextTranslationKey | translate,\n cancelButtonTranslation: cancelButtonTextTranslationKey | translate,\n optionalButtonTranslation: optionalButtonTextTranslationKey | translate\n } as obs\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n (titleTranslationKey !== obs.titleTranslation ? obs.titleTranslation : '') ||\n title ||\n obs.deleteTranslation\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n {{\n (contentTranslationKey !== obs.contentTranslation ? obs.contentTranslation : '') ||\n content ||\n obs.deleteConfirmationTranslation\n }}\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n data-testid=\"confirmation-modal-close\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"cancelButtonType\"\n (click)=\"closeModal()\"\n >\n {{\n (cancelButtonTextTranslationKey !== obs.cancelButtonTranslation\n ? obs.cancelButtonTranslation\n : '') ||\n cancelButtonText ||\n obs.cancelTranslation\n }}\n </button>\n <div *ngIf=\"spacerAfterCancelButton\" class=\"modal-spacer\"></div>\n <button\n *ngIf=\"showOptionalButton\"\n data-testid=\"confirmation-modal-optional\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"optionalButtonType\"\n (click)=\"onOptional()\"\n >\n {{\n (optionalButtonTextTranslationKey !== obs.optionalButtonTranslation\n ? obs.optionalButtonTranslation\n : '') ||\n optionalButtonText ||\n obs.deleteTranslation\n }}\n </button>\n <button\n data-testid=\"confirmation-modal-confirm\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"confirmButtonType\"\n (click)=\"onConfirm()\"\n >\n {{\n (confirmButtonTextTranslationKey !== obs.confirmButtonTranslation\n ? obs.confirmButtonTranslation\n : '') ||\n confirmButtonText ||\n obs.deleteTranslation\n }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".modal-spacer{flex:0 1 50%}\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: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: { titleTranslationKey: "titleTranslationKey", title: "title", content: "content", contentTranslationKey: "contentTranslationKey", confirmButtonText: "confirmButtonText", confirmButtonTextTranslationKey: "confirmButtonTextTranslationKey", confirmButtonType: "confirmButtonType", showOptionalButton: "showOptionalButton", optionalButtonText: "optionalButtonText", optionalButtonTextTranslationKey: "optionalButtonTextTranslationKey", optionalButtonType: "optionalButtonType", cancelButtonText: "cancelButtonText", cancelButtonTextTranslationKey: "cancelButtonTextTranslationKey", cancelButtonType: "cancelButtonType", showModalSubject$: "showModalSubject$", outputOnConfirm: "outputOnConfirm", outputOnOptional: "outputOnOptional", spacerAfterCancelButton: "spacerAfterCancelButton" }, outputs: { confirmEvent: "confirmEvent", optionalEvent: "optionalEvent", cancelEvent: "cancelEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n [open]=\"modalOpen$ | async\"\n *ngIf=\"{\n deleteTranslation: 'interface.delete' | translate,\n deleteConfirmationTranslation: 'interface.deleteConfirmation' | translate,\n cancelTranslation: 'interface.cancel' | translate,\n titleTranslation: titleTranslationKey | translate,\n contentTranslation: contentTranslationKey | translate,\n confirmButtonTranslation: confirmButtonTextTranslationKey | translate,\n cancelButtonTranslation: cancelButtonTextTranslationKey | translate,\n optionalButtonTranslation: optionalButtonTextTranslationKey | translate,\n } as obs\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n (titleTranslationKey !== obs.titleTranslation ? obs.titleTranslation : '') ||\n title ||\n obs.deleteTranslation\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n {{\n (contentTranslationKey !== obs.contentTranslation ? obs.contentTranslation : '') ||\n content ||\n obs.deleteConfirmationTranslation\n }}\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n data-testid=\"confirmation-modal-close\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"cancelButtonType\"\n (click)=\"closeModal()\"\n >\n {{\n (cancelButtonTextTranslationKey !== obs.cancelButtonTranslation\n ? obs.cancelButtonTranslation\n : '') ||\n cancelButtonText ||\n obs.cancelTranslation\n }}\n </button>\n <div *ngIf=\"spacerAfterCancelButton\" class=\"modal-spacer\"></div>\n <button\n *ngIf=\"showOptionalButton\"\n data-testid=\"confirmation-modal-optional\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"optionalButtonType\"\n (click)=\"onOptional()\"\n >\n {{\n (optionalButtonTextTranslationKey !== obs.optionalButtonTranslation\n ? obs.optionalButtonTranslation\n : '') ||\n optionalButtonText ||\n obs.deleteTranslation\n }}\n </button>\n <button\n data-testid=\"confirmation-modal-confirm\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"confirmButtonType\"\n (click)=\"onConfirm()\"\n >\n {{\n (confirmButtonTextTranslationKey !== obs.confirmButtonTranslation\n ? obs.confirmButtonTranslation\n : '') ||\n confirmButtonText ||\n obs.deleteTranslation\n }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".modal-spacer{flex:0 1 50%}\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: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmationModalComponent, decorators: [{
74
74
  type: Component,
75
- args: [{ selector: 'valtimo-confirmation-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n [open]=\"modalOpen$ | async\"\n *ngIf=\"{\n deleteTranslation: 'interface.delete' | translate,\n deleteConfirmationTranslation: 'interface.deleteConfirmation' | translate,\n cancelTranslation: 'interface.cancel' | translate,\n titleTranslation: titleTranslationKey | translate,\n contentTranslation: contentTranslationKey | translate,\n confirmButtonTranslation: confirmButtonTextTranslationKey | translate,\n cancelButtonTranslation: cancelButtonTextTranslationKey | translate,\n optionalButtonTranslation: optionalButtonTextTranslationKey | translate\n } as obs\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n (titleTranslationKey !== obs.titleTranslation ? obs.titleTranslation : '') ||\n title ||\n obs.deleteTranslation\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n {{\n (contentTranslationKey !== obs.contentTranslation ? obs.contentTranslation : '') ||\n content ||\n obs.deleteConfirmationTranslation\n }}\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n data-testid=\"confirmation-modal-close\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"cancelButtonType\"\n (click)=\"closeModal()\"\n >\n {{\n (cancelButtonTextTranslationKey !== obs.cancelButtonTranslation\n ? obs.cancelButtonTranslation\n : '') ||\n cancelButtonText ||\n obs.cancelTranslation\n }}\n </button>\n <div *ngIf=\"spacerAfterCancelButton\" class=\"modal-spacer\"></div>\n <button\n *ngIf=\"showOptionalButton\"\n data-testid=\"confirmation-modal-optional\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"optionalButtonType\"\n (click)=\"onOptional()\"\n >\n {{\n (optionalButtonTextTranslationKey !== obs.optionalButtonTranslation\n ? obs.optionalButtonTranslation\n : '') ||\n optionalButtonText ||\n obs.deleteTranslation\n }}\n </button>\n <button\n data-testid=\"confirmation-modal-confirm\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"confirmButtonType\"\n (click)=\"onConfirm()\"\n >\n {{\n (confirmButtonTextTranslationKey !== obs.confirmButtonTranslation\n ? obs.confirmButtonTranslation\n : '') ||\n confirmButtonText ||\n obs.deleteTranslation\n }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".modal-spacer{flex:0 1 50%}\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"] }]
75
+ args: [{ selector: 'valtimo-confirmation-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n valtimoCdsModal\n [open]=\"modalOpen$ | async\"\n *ngIf=\"{\n deleteTranslation: 'interface.delete' | translate,\n deleteConfirmationTranslation: 'interface.deleteConfirmation' | translate,\n cancelTranslation: 'interface.cancel' | translate,\n titleTranslation: titleTranslationKey | translate,\n contentTranslation: contentTranslationKey | translate,\n confirmButtonTranslation: confirmButtonTextTranslationKey | translate,\n cancelButtonTranslation: cancelButtonTextTranslationKey | translate,\n optionalButtonTranslation: optionalButtonTextTranslationKey | translate,\n } as obs\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n (titleTranslationKey !== obs.titleTranslation ? obs.titleTranslation : '') ||\n title ||\n obs.deleteTranslation\n }}\n </h3>\n </cds-modal-header>\n <section cdsModalContent>\n {{\n (contentTranslationKey !== obs.contentTranslation ? obs.contentTranslation : '') ||\n content ||\n obs.deleteConfirmationTranslation\n }}\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n data-testid=\"confirmation-modal-close\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"cancelButtonType\"\n (click)=\"closeModal()\"\n >\n {{\n (cancelButtonTextTranslationKey !== obs.cancelButtonTranslation\n ? obs.cancelButtonTranslation\n : '') ||\n cancelButtonText ||\n obs.cancelTranslation\n }}\n </button>\n <div *ngIf=\"spacerAfterCancelButton\" class=\"modal-spacer\"></div>\n <button\n *ngIf=\"showOptionalButton\"\n data-testid=\"confirmation-modal-optional\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"optionalButtonType\"\n (click)=\"onOptional()\"\n >\n {{\n (optionalButtonTextTranslationKey !== obs.optionalButtonTranslation\n ? obs.optionalButtonTranslation\n : '') ||\n optionalButtonText ||\n obs.deleteTranslation\n }}\n </button>\n <button\n data-testid=\"confirmation-modal-confirm\"\n [attr.modal-primary-focus]=\"true\"\n [cdsButton]=\"confirmButtonType\"\n (click)=\"onConfirm()\"\n >\n {{\n (confirmButtonTextTranslationKey !== obs.confirmButtonTranslation\n ? obs.confirmButtonTranslation\n : '') ||\n confirmButtonText ||\n obs.deleteTranslation\n }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".modal-spacer{flex:0 1 50%}\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"] }]
76
76
  }], propDecorators: { titleTranslationKey: [{
77
77
  type: Input
78
78
  }], title: [{
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
116
116
  }], cancelEvent: [{
117
117
  type: Output
118
118
  }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBMkIsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU8vRCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBTWtCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUMzQixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDdkIsb0NBQStCLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLHNCQUFpQixHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4QixxQ0FBZ0MsR0FBRyxFQUFFLENBQUM7UUFDdEMsdUJBQWtCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsbUNBQThCLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7UUFFN0Msb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUUvQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4QyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7S0E4QmxFO0lBMUJRLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN6RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FyRFUsMEJBQTBCO21HQUExQiwwQkFBMEIsaThCQ3hCdkMsMnlHQStGQTs7NEZEdkVhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSw0QkFBNEI7OEJBS3RCLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSwrQkFBK0I7c0JBQTlDLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBQ1UsZ0NBQWdDO3NCQUEvQyxLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsOEJBQThCO3NCQUE3QyxLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsdUJBQXVCO3NCQUF0QyxLQUFLO2dCQUVXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsYUFBYTtzQkFBN0IsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxCdXR0b25UeXBlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWNvbmZpcm1hdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZVRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29udGVudCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29udGVudFRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maXJtQnV0dG9uVGV4dCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUJ1dHRvblR5cGUgPSBNb2RhbEJ1dHRvblR5cGUucHJpbWFyeTtcbiAgQElucHV0KCkgcHVibGljIHNob3dPcHRpb25hbEJ1dHRvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uYWxCdXR0b25UZXh0ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25hbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uYWxCdXR0b25UeXBlID0gTW9kYWxCdXR0b25UeXBlLnRlcnRpYXJ5O1xuICBASW5wdXQoKSBwdWJsaWMgY2FuY2VsQnV0dG9uVGV4dCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY2FuY2VsQnV0dG9uVGV4dFRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYW5jZWxCdXR0b25UeXBlID0gTW9kYWxCdXR0b25UeXBlLnNlY29uZGFyeTtcbiAgQElucHV0KCkgcHVibGljIHNob3dNb2RhbFN1YmplY3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBASW5wdXQoKSBwdWJsaWMgb3V0cHV0T25Db25maXJtOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG91dHB1dE9uT3B0aW9uYWw6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgc3BhY2VyQWZ0ZXJDYW5jZWxCdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNvbmZpcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9wdGlvbmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FuY2VsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG1vZGFsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIF9zaG93TW9kYWxTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dNb2RhbFN1YmplY3QkKSB7XG4gICAgICB0aGlzLl9zaG93TW9kYWxTdWJzY3JpcHRpb24gPSB0aGlzLnNob3dNb2RhbFN1YmplY3QkLnN1YnNjcmliZShzaG93TW9kYWwgPT4ge1xuICAgICAgICB0aGlzLm1vZGFsT3BlbiQubmV4dChzaG93TW9kYWwpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3Nob3dNb2RhbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmNhbmNlbEV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbmZpcm0oKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbE9wZW4kLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuY29uZmlybUV2ZW50LmVtaXQodGhpcy5vdXRwdXRPbkNvbmZpcm0pO1xuICB9XG5cbiAgcHVibGljIG9uT3B0aW9uYWwoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbE9wZW4kLm5leHQoZmFsc2UpO1xuICAgIHRoaXMub3B0aW9uYWxFdmVudC5lbWl0KHRoaXMub3V0cHV0T25PcHRpb25hbCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGNkcy1tb2RhbFxuICB2YWx0aW1vQ2RzTW9kYWxcbiAgW29wZW5dPVwibW9kYWxPcGVuJCB8IGFzeW5jXCJcbiAgKm5nSWY9XCJ7XG4gICAgZGVsZXRlVHJhbnNsYXRpb246ICdpbnRlcmZhY2UuZGVsZXRlJyB8IHRyYW5zbGF0ZSxcbiAgICBkZWxldGVDb25maXJtYXRpb25UcmFuc2xhdGlvbjogJ2ludGVyZmFjZS5kZWxldGVDb25maXJtYXRpb24nIHwgdHJhbnNsYXRlLFxuICAgIGNhbmNlbFRyYW5zbGF0aW9uOiAnaW50ZXJmYWNlLmNhbmNlbCcgfCB0cmFuc2xhdGUsXG4gICAgdGl0bGVUcmFuc2xhdGlvbjogdGl0bGVUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSxcbiAgICBjb250ZW50VHJhbnNsYXRpb246IGNvbnRlbnRUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSxcbiAgICBjb25maXJtQnV0dG9uVHJhbnNsYXRpb246IGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUsXG4gICAgY2FuY2VsQnV0dG9uVHJhbnNsYXRpb246IGNhbmNlbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSxcbiAgICBvcHRpb25hbEJ1dHRvblRyYW5zbGF0aW9uOiBvcHRpb25hbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZVxuICB9IGFzIG9ic1wiXG4+XG4gIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJjbG9zZU1vZGFsKClcIj5cbiAgICA8aDMgY2RzTW9kYWxIZWFkZXJIZWFkaW5nPlxuICAgICAge3tcbiAgICAgICAgKHRpdGxlVHJhbnNsYXRpb25LZXkgIT09IG9icy50aXRsZVRyYW5zbGF0aW9uID8gb2JzLnRpdGxlVHJhbnNsYXRpb24gOiAnJykgfHxcbiAgICAgICAgICB0aXRsZSB8fFxuICAgICAgICAgIG9icy5kZWxldGVUcmFuc2xhdGlvblxuICAgICAgfX1cbiAgICA8L2gzPlxuICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG4gIDxzZWN0aW9uIGNkc01vZGFsQ29udGVudD5cbiAgICB7e1xuICAgICAgKGNvbnRlbnRUcmFuc2xhdGlvbktleSAhPT0gb2JzLmNvbnRlbnRUcmFuc2xhdGlvbiA/IG9icy5jb250ZW50VHJhbnNsYXRpb24gOiAnJykgfHxcbiAgICAgICAgY29udGVudCB8fFxuICAgICAgICBvYnMuZGVsZXRlQ29uZmlybWF0aW9uVHJhbnNsYXRpb25cbiAgICB9fVxuICA8L3NlY3Rpb24+XG4gIDxjZHMtbW9kYWwtZm9vdGVyPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiY29uZmlybWF0aW9uLW1vZGFsLWNsb3NlXCJcbiAgICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgW2Nkc0J1dHRvbl09XCJjYW5jZWxCdXR0b25UeXBlXCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgKGNhbmNlbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleSAhPT0gb2JzLmNhbmNlbEJ1dHRvblRyYW5zbGF0aW9uXG4gICAgICAgICAgICA/IG9icy5jYW5jZWxCdXR0b25UcmFuc2xhdGlvblxuICAgICAgICAgICAgOiAnJykgfHxcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQgfHxcbiAgICAgICAgICAgIG9icy5jYW5jZWxUcmFuc2xhdGlvblxuICAgICAgICB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2ICpuZ0lmPVwic3BhY2VyQWZ0ZXJDYW5jZWxCdXR0b25cIiBjbGFzcz1cIm1vZGFsLXNwYWNlclwiPjwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dPcHRpb25hbEJ1dHRvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiY29uZmlybWF0aW9uLW1vZGFsLW9wdGlvbmFsXCJcbiAgICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgW2Nkc0J1dHRvbl09XCJvcHRpb25hbEJ1dHRvblR5cGVcIlxuICAgICAgICAoY2xpY2spPVwib25PcHRpb25hbCgpXCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICAob3B0aW9uYWxCdXR0b25UZXh0VHJhbnNsYXRpb25LZXkgIT09IG9icy5vcHRpb25hbEJ1dHRvblRyYW5zbGF0aW9uXG4gICAgICAgICAgICA/IG9icy5vcHRpb25hbEJ1dHRvblRyYW5zbGF0aW9uXG4gICAgICAgICAgICA6ICcnKSB8fFxuICAgICAgICAgICAgb3B0aW9uYWxCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICBvYnMuZGVsZXRlVHJhbnNsYXRpb25cbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBkYXRhLXRlc3RpZD1cImNvbmZpcm1hdGlvbi1tb2RhbC1jb25maXJtXCJcbiAgICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgW2Nkc0J1dHRvbl09XCJjb25maXJtQnV0dG9uVHlwZVwiXG4gICAgICAgIChjbGljayk9XCJvbkNvbmZpcm0oKVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgKGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXkgIT09IG9icy5jb25maXJtQnV0dG9uVHJhbnNsYXRpb25cbiAgICAgICAgICAgID8gb2JzLmNvbmZpcm1CdXR0b25UcmFuc2xhdGlvblxuICAgICAgICAgICAgOiAnJykgfHxcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0IHx8XG4gICAgICAgICAgICBvYnMuZGVsZXRlVHJhbnNsYXRpb25cbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L2Nkcy1tb2RhbD5cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBMkIsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU8vRCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBTWtCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUMzQixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDdkIsb0NBQStCLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLHNCQUFpQixHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4QixxQ0FBZ0MsR0FBRyxFQUFFLENBQUM7UUFDdEMsdUJBQWtCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsbUNBQThCLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7UUFFN0Msb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUUvQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV4QyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7S0E4QmxFO0lBMUJRLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN6RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FyRFUsMEJBQTBCO21HQUExQiwwQkFBMEIsaThCQ3hCdkMsNHlHQStGQTs7NEZEdkVhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSw0QkFBNEI7OEJBS3RCLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSwrQkFBK0I7c0JBQTlDLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBQ1UsZ0NBQWdDO3NCQUEvQyxLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsOEJBQThCO3NCQUE3QyxLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsdUJBQXVCO3NCQUF0QyxLQUFLO2dCQUVXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsYUFBYTtzQkFBN0IsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxCdXR0b25UeXBlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWNvbmZpcm1hdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZVRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29udGVudCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29udGVudFRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maXJtQnV0dG9uVGV4dCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUJ1dHRvblR5cGUgPSBNb2RhbEJ1dHRvblR5cGUucHJpbWFyeTtcbiAgQElucHV0KCkgcHVibGljIHNob3dPcHRpb25hbEJ1dHRvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uYWxCdXR0b25UZXh0ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25hbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uYWxCdXR0b25UeXBlID0gTW9kYWxCdXR0b25UeXBlLnRlcnRpYXJ5O1xuICBASW5wdXQoKSBwdWJsaWMgY2FuY2VsQnV0dG9uVGV4dCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY2FuY2VsQnV0dG9uVGV4dFRyYW5zbGF0aW9uS2V5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYW5jZWxCdXR0b25UeXBlID0gTW9kYWxCdXR0b25UeXBlLnNlY29uZGFyeTtcbiAgQElucHV0KCkgcHVibGljIHNob3dNb2RhbFN1YmplY3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBASW5wdXQoKSBwdWJsaWMgb3V0cHV0T25Db25maXJtOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG91dHB1dE9uT3B0aW9uYWw6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgc3BhY2VyQWZ0ZXJDYW5jZWxCdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNvbmZpcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9wdGlvbmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FuY2VsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG1vZGFsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIF9zaG93TW9kYWxTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dNb2RhbFN1YmplY3QkKSB7XG4gICAgICB0aGlzLl9zaG93TW9kYWxTdWJzY3JpcHRpb24gPSB0aGlzLnNob3dNb2RhbFN1YmplY3QkLnN1YnNjcmliZShzaG93TW9kYWwgPT4ge1xuICAgICAgICB0aGlzLm1vZGFsT3BlbiQubmV4dChzaG93TW9kYWwpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3Nob3dNb2RhbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmNhbmNlbEV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbmZpcm0oKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbE9wZW4kLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuY29uZmlybUV2ZW50LmVtaXQodGhpcy5vdXRwdXRPbkNvbmZpcm0pO1xuICB9XG5cbiAgcHVibGljIG9uT3B0aW9uYWwoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbE9wZW4kLm5leHQoZmFsc2UpO1xuICAgIHRoaXMub3B0aW9uYWxFdmVudC5lbWl0KHRoaXMub3V0cHV0T25PcHRpb25hbCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGNkcy1tb2RhbFxuICB2YWx0aW1vQ2RzTW9kYWxcbiAgW29wZW5dPVwibW9kYWxPcGVuJCB8IGFzeW5jXCJcbiAgKm5nSWY9XCJ7XG4gICAgZGVsZXRlVHJhbnNsYXRpb246ICdpbnRlcmZhY2UuZGVsZXRlJyB8IHRyYW5zbGF0ZSxcbiAgICBkZWxldGVDb25maXJtYXRpb25UcmFuc2xhdGlvbjogJ2ludGVyZmFjZS5kZWxldGVDb25maXJtYXRpb24nIHwgdHJhbnNsYXRlLFxuICAgIGNhbmNlbFRyYW5zbGF0aW9uOiAnaW50ZXJmYWNlLmNhbmNlbCcgfCB0cmFuc2xhdGUsXG4gICAgdGl0bGVUcmFuc2xhdGlvbjogdGl0bGVUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSxcbiAgICBjb250ZW50VHJhbnNsYXRpb246IGNvbnRlbnRUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSxcbiAgICBjb25maXJtQnV0dG9uVHJhbnNsYXRpb246IGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUsXG4gICAgY2FuY2VsQnV0dG9uVHJhbnNsYXRpb246IGNhbmNlbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSxcbiAgICBvcHRpb25hbEJ1dHRvblRyYW5zbGF0aW9uOiBvcHRpb25hbEJ1dHRvblRleHRUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSxcbiAgfSBhcyBvYnNcIlxuPlxuICA8Y2RzLW1vZGFsLWhlYWRlciBbc2hvd0Nsb3NlQnV0dG9uXT1cInRydWVcIiAoY2xvc2VTZWxlY3QpPVwiY2xvc2VNb2RhbCgpXCI+XG4gICAgPGgzIGNkc01vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgIHt7XG4gICAgICAgICh0aXRsZVRyYW5zbGF0aW9uS2V5ICE9PSBvYnMudGl0bGVUcmFuc2xhdGlvbiA/IG9icy50aXRsZVRyYW5zbGF0aW9uIDogJycpIHx8XG4gICAgICAgICAgdGl0bGUgfHxcbiAgICAgICAgICBvYnMuZGVsZXRlVHJhbnNsYXRpb25cbiAgICAgIH19XG4gICAgPC9oMz5cbiAgPC9jZHMtbW9kYWwtaGVhZGVyPlxuICA8c2VjdGlvbiBjZHNNb2RhbENvbnRlbnQ+XG4gICAge3tcbiAgICAgIChjb250ZW50VHJhbnNsYXRpb25LZXkgIT09IG9icy5jb250ZW50VHJhbnNsYXRpb24gPyBvYnMuY29udGVudFRyYW5zbGF0aW9uIDogJycpIHx8XG4gICAgICAgIGNvbnRlbnQgfHxcbiAgICAgICAgb2JzLmRlbGV0ZUNvbmZpcm1hdGlvblRyYW5zbGF0aW9uXG4gICAgfX1cbiAgPC9zZWN0aW9uPlxuICA8Y2RzLW1vZGFsLWZvb3Rlcj5cbiAgICA8bmctY29udGFpbmVyPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBkYXRhLXRlc3RpZD1cImNvbmZpcm1hdGlvbi1tb2RhbC1jbG9zZVwiXG4gICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgIFtjZHNCdXR0b25dPVwiY2FuY2VsQnV0dG9uVHlwZVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZU1vZGFsKClcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIChjYW5jZWxCdXR0b25UZXh0VHJhbnNsYXRpb25LZXkgIT09IG9icy5jYW5jZWxCdXR0b25UcmFuc2xhdGlvblxuICAgICAgICAgICAgPyBvYnMuY2FuY2VsQnV0dG9uVHJhbnNsYXRpb25cbiAgICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0IHx8XG4gICAgICAgICAgICBvYnMuY2FuY2VsVHJhbnNsYXRpb25cbiAgICAgICAgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiAqbmdJZj1cInNwYWNlckFmdGVyQ2FuY2VsQnV0dG9uXCIgY2xhc3M9XCJtb2RhbC1zcGFjZXJcIj48L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93T3B0aW9uYWxCdXR0b25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImNvbmZpcm1hdGlvbi1tb2RhbC1vcHRpb25hbFwiXG4gICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgIFtjZHNCdXR0b25dPVwib3B0aW9uYWxCdXR0b25UeXBlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uT3B0aW9uYWwoKVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgKG9wdGlvbmFsQnV0dG9uVGV4dFRyYW5zbGF0aW9uS2V5ICE9PSBvYnMub3B0aW9uYWxCdXR0b25UcmFuc2xhdGlvblxuICAgICAgICAgICAgPyBvYnMub3B0aW9uYWxCdXR0b25UcmFuc2xhdGlvblxuICAgICAgICAgICAgOiAnJykgfHxcbiAgICAgICAgICAgIG9wdGlvbmFsQnV0dG9uVGV4dCB8fFxuICAgICAgICAgICAgb2JzLmRlbGV0ZVRyYW5zbGF0aW9uXG4gICAgICAgIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJjb25maXJtYXRpb24tbW9kYWwtY29uZmlybVwiXG4gICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgIFtjZHNCdXR0b25dPVwiY29uZmlybUJ1dHRvblR5cGVcIlxuICAgICAgICAoY2xpY2spPVwib25Db25maXJtKClcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIChjb25maXJtQnV0dG9uVGV4dFRyYW5zbGF0aW9uS2V5ICE9PSBvYnMuY29uZmlybUJ1dHRvblRyYW5zbGF0aW9uXG4gICAgICAgICAgICA/IG9icy5jb25maXJtQnV0dG9uVHJhbnNsYXRpb25cbiAgICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dCB8fFxuICAgICAgICAgICAgb2JzLmRlbGV0ZVRyYW5zbGF0aW9uXG4gICAgICAgIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9jZHMtbW9kYWw+XG4iXX0=
@@ -119,11 +119,11 @@ export class DatePickerComponent {
119
119
  }
120
120
  }
121
121
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DatePickerComponent, selector: "v-date-picker", inputs: { name: "name", title: "title", titleTranslationKey: "titleTranslationKey", widthPx: "widthPx", fullWidth: "fullWidth", margin: "margin", disabled: "disabled", tooltip: "tooltip", required: "required", defaultDate: "defaultDate", defaultDateIsToday: "defaultDateIsToday", smallLabel: "smallLabel", clear$: "clear$", enableTime: "enableTime", carbonTheme: "carbonTheme" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.full-width": "this.fullWidthClass" } }, viewQueries: [{ propertyName: "datePickerElement", first: true, predicate: ["datePickerElement"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"v-date-picker-container\">\n <ng-container *ngTemplateOutlet=\"inputTitle\"></ng-container>\n <ng-container *ngTemplateOutlet=\"dateInput\"></ng-container>\n</div>\n\n<ng-template #inputTitle>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [small]=\"smallLabel\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n</ng-template>\n\n<ng-template #dateInput>\n <input\n #datePickerElement\n cdsText\n [ngClass]=\"{\n 'v-date-picker--full-width': fullWidthClass,\n 'v-date-picker--margin': margin\n }\"\n [ngModel]=\"dateValue$ | async\"\n [disabled]=\"disabled\"\n [style.width.px]=\"widthPx + 20\"\n type=\"text\"\n />\n</ng-template>\n", styles: [".full-width{width:100%}.v-date-picker-container{display:flex;flex-direction:column}.v-date-picker{all:unset;font-size:var(--v-input-font-size);line-height:var(--v-input-line-height);color:var(--v-input-color);font-weight:var(--v-input-font-weight);padding-block-start:var(--v-input-padding-block);padding-block-end:var(--v-input-padding-block);padding-inline-start:var(--v-input-padding-inline);padding-inline-end:var(--v-input-padding-inline);background-color:var(--v-input-bg-color);border-radius:var(--v-input-border-radius);border:var(--v-input-border);transition:var(--v-input-transition);width:var(--v-input-default-width);box-sizing:border-box}.v-date-picker:focus{outline:var(--v-input-focus-border);outline-offset:var(--v-outline-offset)}.v-date-picker:disabled{color:var(--v-input-font-color-disabled);cursor:var(--v-input-disabled-cursor)}.v-date-picker--full-width{width:100%}.v-date-picker--margin{margin-block-end:var(--v-input-margin)}\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DatePickerComponent, selector: "v-date-picker", inputs: { name: "name", title: "title", titleTranslationKey: "titleTranslationKey", widthPx: "widthPx", fullWidth: "fullWidth", margin: "margin", disabled: "disabled", tooltip: "tooltip", required: "required", defaultDate: "defaultDate", defaultDateIsToday: "defaultDateIsToday", smallLabel: "smallLabel", clear$: "clear$", enableTime: "enableTime", carbonTheme: "carbonTheme" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.full-width": "this.fullWidthClass" } }, viewQueries: [{ propertyName: "datePickerElement", first: true, predicate: ["datePickerElement"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"v-date-picker-container\">\n <ng-container *ngTemplateOutlet=\"inputTitle\"></ng-container>\n <ng-container *ngTemplateOutlet=\"dateInput\"></ng-container>\n</div>\n\n<ng-template #inputTitle>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [small]=\"smallLabel\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n</ng-template>\n\n<ng-template #dateInput>\n <input\n #datePickerElement\n cdsText\n [ngClass]=\"{\n 'v-date-picker--full-width': fullWidthClass,\n 'v-date-picker--margin': margin,\n }\"\n [ngModel]=\"dateValue$ | async\"\n [disabled]=\"disabled\"\n [style.width.px]=\"widthPx + 20\"\n type=\"text\"\n />\n</ng-template>\n", styles: [".full-width{width:100%}.v-date-picker-container{display:flex;flex-direction:column}.v-date-picker{all:unset;font-size:var(--v-input-font-size);line-height:var(--v-input-line-height);color:var(--v-input-color);font-weight:var(--v-input-font-weight);padding-block-start:var(--v-input-padding-block);padding-block-end:var(--v-input-padding-block);padding-inline-start:var(--v-input-padding-inline);padding-inline-end:var(--v-input-padding-inline);background-color:var(--v-input-bg-color);border-radius:var(--v-input-border-radius);border:var(--v-input-border);transition:var(--v-input-transition);width:var(--v-input-default-width);box-sizing:border-box}.v-date-picker:focus{outline:var(--v-input-focus-border);outline-offset:var(--v-outline-offset)}.v-date-picker:disabled{color:var(--v-input-font-color-disabled);cursor:var(--v-input-disabled-cursor)}.v-date-picker--full-width{width:100%}.v-date-picker--margin{margin-block-end:var(--v-input-margin)}\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
123
123
  }
124
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatePickerComponent, decorators: [{
125
125
  type: Component,
126
- args: [{ selector: 'v-date-picker', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"v-date-picker-container\">\n <ng-container *ngTemplateOutlet=\"inputTitle\"></ng-container>\n <ng-container *ngTemplateOutlet=\"dateInput\"></ng-container>\n</div>\n\n<ng-template #inputTitle>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [small]=\"smallLabel\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n</ng-template>\n\n<ng-template #dateInput>\n <input\n #datePickerElement\n cdsText\n [ngClass]=\"{\n 'v-date-picker--full-width': fullWidthClass,\n 'v-date-picker--margin': margin\n }\"\n [ngModel]=\"dateValue$ | async\"\n [disabled]=\"disabled\"\n [style.width.px]=\"widthPx + 20\"\n type=\"text\"\n />\n</ng-template>\n", styles: [".full-width{width:100%}.v-date-picker-container{display:flex;flex-direction:column}.v-date-picker{all:unset;font-size:var(--v-input-font-size);line-height:var(--v-input-line-height);color:var(--v-input-color);font-weight:var(--v-input-font-weight);padding-block-start:var(--v-input-padding-block);padding-block-end:var(--v-input-padding-block);padding-inline-start:var(--v-input-padding-inline);padding-inline-end:var(--v-input-padding-inline);background-color:var(--v-input-bg-color);border-radius:var(--v-input-border-radius);border:var(--v-input-border);transition:var(--v-input-transition);width:var(--v-input-default-width);box-sizing:border-box}.v-date-picker:focus{outline:var(--v-input-focus-border);outline-offset:var(--v-outline-offset)}.v-date-picker:disabled{color:var(--v-input-font-color-disabled);cursor:var(--v-input-disabled-cursor)}.v-date-picker--full-width{width:100%}.v-date-picker--margin{margin-block-end:var(--v-input-margin)}\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"] }]
126
+ args: [{ selector: 'v-date-picker', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"v-date-picker-container\">\n <ng-container *ngTemplateOutlet=\"inputTitle\"></ng-container>\n <ng-container *ngTemplateOutlet=\"dateInput\"></ng-container>\n</div>\n\n<ng-template #inputTitle>\n <v-input-label\n *ngIf=\"title || titleTranslationKey\"\n [name]=\"name\"\n [required]=\"required\"\n [small]=\"smallLabel\"\n [titleTranslationKey]=\"titleTranslationKey\"\n [title]=\"title\"\n [tooltip]=\"tooltip\"\n >\n </v-input-label>\n</ng-template>\n\n<ng-template #dateInput>\n <input\n #datePickerElement\n cdsText\n [ngClass]=\"{\n 'v-date-picker--full-width': fullWidthClass,\n 'v-date-picker--margin': margin,\n }\"\n [ngModel]=\"dateValue$ | async\"\n [disabled]=\"disabled\"\n [style.width.px]=\"widthPx + 20\"\n type=\"text\"\n />\n</ng-template>\n", styles: [".full-width{width:100%}.v-date-picker-container{display:flex;flex-direction:column}.v-date-picker{all:unset;font-size:var(--v-input-font-size);line-height:var(--v-input-line-height);color:var(--v-input-color);font-weight:var(--v-input-font-weight);padding-block-start:var(--v-input-padding-block);padding-block-end:var(--v-input-padding-block);padding-inline-start:var(--v-input-padding-inline);padding-inline-end:var(--v-input-padding-inline);background-color:var(--v-input-bg-color);border-radius:var(--v-input-border-radius);border:var(--v-input-border);transition:var(--v-input-transition);width:var(--v-input-default-width);box-sizing:border-box}.v-date-picker:focus{outline:var(--v-input-focus-border);outline-offset:var(--v-outline-offset)}.v-date-picker:disabled{color:var(--v-input-font-color-disabled);cursor:var(--v-input-disabled-cursor)}.v-date-picker--full-width{width:100%}.v-date-picker--margin{margin-block-end:var(--v-input-margin)}\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"] }]
127
127
  }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { fullWidthClass: [{
128
128
  type: HostBinding,
129
129
  args: ['class.full-width']
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
163
163
  }], valueChange: [{
164
164
  type: Output
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUMsZUFBZSxFQUFjLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUcvRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQUlwRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsSUFBb0IsU0FBUyxDQUFDLEtBQWM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQW1CRCxZQUE2QixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTdCOUIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFJeEMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCx3QkFBbUIsR0FBRyxF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QUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUVXLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBmbGF0cGlja3IgZnJvbSAnZmxhdHBpY2tyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7a2V5IGFzIExvY2FsZUtleX0gZnJvbSAnZmxhdHBpY2tyL2Rpc3QvdHlwZXMvbG9jYWxlJztcbmltcG9ydCB7RHV0Y2h9IGZyb20gJ2ZsYXRwaWNrci9kaXN0L2wxMG4vbmwnO1xuaW1wb3J0IHtHZXJtYW59IGZyb20gJ2ZsYXRwaWNrci9kaXN0L2wxMG4vZGUnO1xuaW1wb3J0IHtlbmdsaXNofSBmcm9tICdmbGF0cGlja3IvZGlzdC9sMTBuL2RlZmF1bHQnO1xuaW1wb3J0IExvY2FsZSA9IGZsYXRwaWNrci5Mb2NhbGU7XG5pbXBvcnQgQ3VzdG9tTG9jYWxlID0gZmxhdHBpY2tyLkN1c3RvbUxvY2FsZTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBNaWdyYXRlIG9sZCBkZXNpZ24gdG8gQ2FyYm9uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3YtZGF0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsLXdpZHRoJykgZnVsbFdpZHRoQ2xhc3MgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyRWxlbWVudCcpIGRhdGVQaWNrZXJFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKSBwdWJsaWMgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHRpdGxlVHJhbnNsYXRpb25LZXkgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoUHghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZnVsbFdpZHRoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5mdWxsV2lkdGhDbGFzcyA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXJnaW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdERhdGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0RGF0ZUlzVG9kYXkhOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgc21hbGxMYWJlbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXIkITogT2JzZXJ2YWJsZTxudWxsPjtcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZVRpbWUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNhcmJvblRoZW1lID0gJ2cxMCc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVWYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgX2ZsYXRwaWNrckluc3RhbmNlITogZmxhdHBpY2tyLkluc3RhbmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkxvY2FsZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkRhdGVWYWx1ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkNsZWFyU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuTG9jYWxlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5Jykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRGbGF0cGlja3JJbnN0YW5jZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgYXMgTG9jYWxlS2V5KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRhdGVWYWx1ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0ZVZhbHVlJC5zdWJzY3JpYmUoZGF0ZVZhbHVlID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGVWYWx1ZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldEZsYXRwaWNrckluc3RhbmNlKGxvY2FsZUtleTogTG9jYWxlS2V5KTogdm9pZCB7XG4gICAgdGhpcy5fZmxhdHBpY2tySW5zdGFuY2U/LmRlc3Ryb3koKTtcbiAgICB0aGlzLl9mbGF0cGlja3JJbnN0YW5jZSA9IGZsYXRwaWNrcih0aGlzLmRhdGVQaWNrZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIGxvY2FsZTogdGhpcy5nZXRMb2NhbGUobG9jYWxlS2V5KSxcbiAgICAgIG9uQ2hhbmdlOiBbdGhpcy5vbkNoYW5nZV0sXG4gICAgICBkZWZhdWx0RGF0ZTogdGhpcy5nZXRGbGF0cGlja3JWYWx1ZSgpLFxuICAgICAgZW5hYmxlVGltZTogdGhpcy5lbmFibGVUaW1lLFxuICAgIH0pO1xuICAgIHRoaXMuZW1pdERhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoc2VsZWN0ZWREYXRlczogQXJyYXk8RGF0ZT4sIGRhdGVTdHI6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIHRoaXMuZGF0ZVZhbHVlJC5uZXh0KGRhdGVTdHIpO1xuICB9O1xuXG4gIHByaXZhdGUgZW1pdERhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudERhdGUgPSB0aGlzLl9mbGF0cGlja3JJbnN0YW5jZS5zZWxlY3RlZERhdGVzWzBdO1xuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBjdXJyZW50RGF0ZSAmJiB0aGlzLl9mbGF0cGlja3JJbnN0YW5jZS5mb3JtYXREYXRlKGN1cnJlbnREYXRlLCAnWS1tLWQnKTtcbiAgICBpZiAoZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgdGhpcy5kYXRlVmFsdWUkLm5leHQoZm9ybWF0dGVkRGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGF0cGlja3JWYWx1ZSgpOiBzdHJpbmcgfCBEYXRlIHtcbiAgICBjb25zdCBzYXZlZFZhbHVlID0gdGhpcy5kYXRlVmFsdWUkLmdldFZhbHVlKCk7XG4gICAgY29uc3QgdG9kYXlEYXRlID0gdGhpcy5kZWZhdWx0RGF0ZUlzVG9kYXkgJiYgbmV3IERhdGUoKTtcbiAgICBjb25zdCBkZWZhdWx0RGF0ZSA9IHRoaXMuZGVmYXVsdERhdGU7XG4gICAgcmV0dXJuIHRvZGF5RGF0ZSB8fCBkZWZhdWx0RGF0ZSB8fCBzYXZlZFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGUobG9jYWxlS2V5OiBMb2NhbGVLZXkpOiBMb2NhbGUgfCBDdXN0b21Mb2NhbGUge1xuICAgIGxldCBsb2NhbGUhOiBMb2NhbGUgfCBDdXN0b21Mb2NhbGU7XG5cbiAgICBzd2l0Y2ggKGxvY2FsZUtleSkge1xuICAgICAgY2FzZSAnbmwnOlxuICAgICAgICBsb2NhbGUgPSBEdXRjaDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZSc6XG4gICAgICAgIGxvY2FsZSA9IEdlcm1hbjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlbic6XG4gICAgICAgIGxvY2FsZSA9IGVuZ2xpc2g7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgbG9jYWxlID0gZW5nbGlzaDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxvY2FsZTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNsZWFyU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsZWFyJCkge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgIHRoaXMuY2xlYXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kYXRlVmFsdWUkLm5leHQoJycpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cInYtZGF0ZS1waWNrZXItY29udGFpbmVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRpdGxlXCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlSW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2lucHV0VGl0bGU+XG4gIDx2LWlucHV0LWxhYmVsXG4gICAgKm5nSWY9XCJ0aXRsZSB8fCB0aXRsZVRyYW5zbGF0aW9uS2V5XCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtzbWFsbF09XCJzbWFsbExhYmVsXCJcbiAgICBbdGl0bGVUcmFuc2xhdGlvbktleV09XCJ0aXRsZVRyYW5zbGF0aW9uS2V5XCJcbiAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxuICA+XG4gIDwvdi1pbnB1dC1sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGF0ZUlucHV0PlxuICA8aW5wdXRcbiAgICAjZGF0ZVBpY2tlckVsZW1lbnRcbiAgICBjZHNUZXh0XG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3YtZGF0ZS1waWNrZXItLWZ1bGwtd2lkdGgnOiBmdWxsV2lkdGhDbGFzcyxcbiAgICAgICd2LWRhdGUtcGlja2VyLS1tYXJnaW4nOiBtYXJnaW5cbiAgICB9XCJcbiAgICBbbmdNb2RlbF09XCJkYXRlVmFsdWUkIHwgYXN5bmNcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoUHggKyAyMFwiXG4gICAgdHlwZT1cInRleHRcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUMsZUFBZSxFQUFjLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUcvRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQUlwRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsSUFBb0IsU0FBUyxDQUFDLEtBQWM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQW1CRCxZQUE2QixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTdCOUIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFJeEMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCx3QkFBbUIsR0FBRyxF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QUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUVXLFdBQVc7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBmbGF0cGlja3IgZnJvbSAnZmxhdHBpY2tyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7a2V5IGFzIExvY2FsZUtleX0gZnJvbSAnZmxhdHBpY2tyL2Rpc3QvdHlwZXMvbG9jYWxlJztcbmltcG9ydCB7RHV0Y2h9IGZyb20gJ2ZsYXRwaWNrci9kaXN0L2wxMG4vbmwnO1xuaW1wb3J0IHtHZXJtYW59IGZyb20gJ2ZsYXRwaWNrci9kaXN0L2wxMG4vZGUnO1xuaW1wb3J0IHtlbmdsaXNofSBmcm9tICdmbGF0cGlja3IvZGlzdC9sMTBuL2RlZmF1bHQnO1xuaW1wb3J0IExvY2FsZSA9IGZsYXRwaWNrci5Mb2NhbGU7XG5pbXBvcnQgQ3VzdG9tTG9jYWxlID0gZmxhdHBpY2tyLkN1c3RvbUxvY2FsZTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBNaWdyYXRlIG9sZCBkZXNpZ24gdG8gQ2FyYm9uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3YtZGF0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsLXdpZHRoJykgZnVsbFdpZHRoQ2xhc3MgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyRWxlbWVudCcpIGRhdGVQaWNrZXJFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKSBwdWJsaWMgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHRpdGxlVHJhbnNsYXRpb25LZXkgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoUHghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZnVsbFdpZHRoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5mdWxsV2lkdGhDbGFzcyA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXJnaW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdERhdGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0RGF0ZUlzVG9kYXkhOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgc21hbGxMYWJlbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXIkITogT2JzZXJ2YWJsZTxudWxsPjtcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZVRpbWUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNhcmJvblRoZW1lID0gJ2cxMCc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVWYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgX2ZsYXRwaWNrckluc3RhbmNlITogZmxhdHBpY2tyLkluc3RhbmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkxvY2FsZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkRhdGVWYWx1ZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlbkNsZWFyU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuTG9jYWxlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5Jykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRGbGF0cGlja3JJbnN0YW5jZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgYXMgTG9jYWxlS2V5KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRhdGVWYWx1ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZGF0ZVZhbHVlJC5zdWJzY3JpYmUoZGF0ZVZhbHVlID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGVWYWx1ZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldEZsYXRwaWNrckluc3RhbmNlKGxvY2FsZUtleTogTG9jYWxlS2V5KTogdm9pZCB7XG4gICAgdGhpcy5fZmxhdHBpY2tySW5zdGFuY2U/LmRlc3Ryb3koKTtcbiAgICB0aGlzLl9mbGF0cGlja3JJbnN0YW5jZSA9IGZsYXRwaWNrcih0aGlzLmRhdGVQaWNrZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgIGxvY2FsZTogdGhpcy5nZXRMb2NhbGUobG9jYWxlS2V5KSxcbiAgICAgIG9uQ2hhbmdlOiBbdGhpcy5vbkNoYW5nZV0sXG4gICAgICBkZWZhdWx0RGF0ZTogdGhpcy5nZXRGbGF0cGlja3JWYWx1ZSgpLFxuICAgICAgZW5hYmxlVGltZTogdGhpcy5lbmFibGVUaW1lLFxuICAgIH0pO1xuICAgIHRoaXMuZW1pdERhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoc2VsZWN0ZWREYXRlczogQXJyYXk8RGF0ZT4sIGRhdGVTdHI6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIHRoaXMuZGF0ZVZhbHVlJC5uZXh0KGRhdGVTdHIpO1xuICB9O1xuXG4gIHByaXZhdGUgZW1pdERhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudERhdGUgPSB0aGlzLl9mbGF0cGlja3JJbnN0YW5jZS5zZWxlY3RlZERhdGVzWzBdO1xuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBjdXJyZW50RGF0ZSAmJiB0aGlzLl9mbGF0cGlja3JJbnN0YW5jZS5mb3JtYXREYXRlKGN1cnJlbnREYXRlLCAnWS1tLWQnKTtcbiAgICBpZiAoZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgdGhpcy5kYXRlVmFsdWUkLm5leHQoZm9ybWF0dGVkRGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbGF0cGlja3JWYWx1ZSgpOiBzdHJpbmcgfCBEYXRlIHtcbiAgICBjb25zdCBzYXZlZFZhbHVlID0gdGhpcy5kYXRlVmFsdWUkLmdldFZhbHVlKCk7XG4gICAgY29uc3QgdG9kYXlEYXRlID0gdGhpcy5kZWZhdWx0RGF0ZUlzVG9kYXkgJiYgbmV3IERhdGUoKTtcbiAgICBjb25zdCBkZWZhdWx0RGF0ZSA9IHRoaXMuZGVmYXVsdERhdGU7XG4gICAgcmV0dXJuIHRvZGF5RGF0ZSB8fCBkZWZhdWx0RGF0ZSB8fCBzYXZlZFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbGUobG9jYWxlS2V5OiBMb2NhbGVLZXkpOiBMb2NhbGUgfCBDdXN0b21Mb2NhbGUge1xuICAgIGxldCBsb2NhbGUhOiBMb2NhbGUgfCBDdXN0b21Mb2NhbGU7XG5cbiAgICBzd2l0Y2ggKGxvY2FsZUtleSkge1xuICAgICAgY2FzZSAnbmwnOlxuICAgICAgICBsb2NhbGUgPSBEdXRjaDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZSc6XG4gICAgICAgIGxvY2FsZSA9IEdlcm1hbjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlbic6XG4gICAgICAgIGxvY2FsZSA9IGVuZ2xpc2g7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgbG9jYWxlID0gZW5nbGlzaDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxvY2FsZTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNsZWFyU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsZWFyJCkge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgIHRoaXMuY2xlYXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kYXRlVmFsdWUkLm5leHQoJycpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cInYtZGF0ZS1waWNrZXItY29udGFpbmVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRpdGxlXCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlSW5wdXRcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2lucHV0VGl0bGU+XG4gIDx2LWlucHV0LWxhYmVsXG4gICAgKm5nSWY9XCJ0aXRsZSB8fCB0aXRsZVRyYW5zbGF0aW9uS2V5XCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtzbWFsbF09XCJzbWFsbExhYmVsXCJcbiAgICBbdGl0bGVUcmFuc2xhdGlvbktleV09XCJ0aXRsZVRyYW5zbGF0aW9uS2V5XCJcbiAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxuICA+XG4gIDwvdi1pbnB1dC1sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGF0ZUlucHV0PlxuICA8aW5wdXRcbiAgICAjZGF0ZVBpY2tlckVsZW1lbnRcbiAgICBjZHNUZXh0XG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3YtZGF0ZS1waWNrZXItLWZ1bGwtd2lkdGgnOiBmdWxsV2lkdGhDbGFzcyxcbiAgICAgICd2LWRhdGUtcGlja2VyLS1tYXJnaW4nOiBtYXJnaW4sXG4gICAgfVwiXG4gICAgW25nTW9kZWxdPVwiZGF0ZVZhbHVlJCB8IGFzeW5jXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFB4ICsgMjBcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -125,11 +125,11 @@ export class DropzoneComponent {
125
125
  });
126
126
  }
127
127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropzoneComponent, deps: [{ token: i1.TranslateService }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropzoneComponent, selector: "valtimo-dropzone", inputs: { title: "title", hideTitle: "hideTitle", subtitle: "subtitle", externalError$: "externalError$", maxFileSize: "maxFileSize", showMaxFileSize: "showMaxFileSize", acceptedFiles: "acceptedFiles", clear$: "clear$", disabled: "disabled", hideFilePreview: "hideFilePreview", uploading: "uploading", camera: "camera", maxFiles: "maxFiles" }, outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "dropzoneRef", first: true, predicate: ["dropzone"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form #dropzone [ngClass]=\"{disabled: disabled || uploading}\" class=\"dropzone dz-clickable\">\n <div class=\"dz-message\">\n <div class=\"icon large-icon\"><span class=\"mdi mdi-cloud-upload\"></span></div>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n <ng-container *ngIf=\"uploading\">\n <ng-container *ngTemplateOutlet=\"progressBar\"></ng-container>\n </ng-container>\n <div class=\"dropzone-mobile-trigger needsclick\"></div>\n </div>\n <button\n (click)=\"showCamera()\"\n *ngIf=\"camera\"\n type=\"button\"\n class=\"btn btn-primary px-3 webcam-button\"\n >\n <i class=\"icon mdi mdi-camera\" aria-hidden=\"true\"></i>\n </button>\n <ng-container *ngIf=\"showingCamera$ | async\">\n <ng-container *ngTemplateOutlet=\"webcam\"></ng-container>\n </ng-container>\n</form>\n\n<ng-template #body>\n <h2 *ngIf=\"!hideTitle\" class=\"mb-4 mt-2\">{{ title || ('dropzone.drop' | translate) }}</h2>\n <span *ngIf=\"subtitle\" class=\"note mb-3\">{{ subtitle }}</span>\n <span *ngIf=\"showMaxFileSize\" class=\"note mb-3 small-font\"\n >{{ 'dropzone.maxFileSize' | translate }}<b>{{ maxFileSize }}mb</b></span\n >\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n</ng-template>\n\n<ng-template #preview>\n <ng-container\n *ngIf=\"{\n errorMessage: errorMessage$ | async,\n externalError: externalError$ | async,\n file: file$ | async\n } as obs\"\n >\n <ng-container *ngIf=\"obs.externalError || obs.errorMessage\">\n <div class=\"alert alert-danger mt-2 mb-0\">\n <div class=\"message\">\n {{ obs.externalError || obs.errorMessage }}\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!hideFilePreview && obs.file && !obs.externalError && !obs.errorMessage\">\n <div class=\"file\">\n <i class=\"icon mdi mdi-file-text mr-2\"></i>\n <span class=\"note\">{{ obs.file.name }}</span>\n <span class=\"note file-size\">- {{ obs.file.size | filesize: 2 }}</span>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #progressBar>\n <div class=\"progress-bar-container\">\n <valtimo-progress-bar></valtimo-progress-bar>\n </div>\n</ng-template>\n\n<ng-template #webcam>\n <valtimo-webcam (imageSaved)=\"webcamImageSaved($event)\"></valtimo-webcam>\n</ng-template>\n", styles: ["form.dropzone{padding:30px 20px}form.dropzone h2{text-align:center;font-size:1.69rem}form.dropzone.disabled{opacity:.7;pointer-events:none;cursor:default}form.dropzone.preview{padding:15px 20px;border:none}.dz-message{display:flex;flex-direction:column;align-items:center}.dropzone-mobile-trigger{cursor:pointer}.alert-light{display:flex;align-items:center}form.dropzone .mdi{background-color:transparent;border-radius:0;display:inline-block;height:auto;width:auto;margin-bottom:0;padding:0}form.dropzone .message{padding:1.385rem 2.1542rem}.file{font-size:1.5rem;display:flex;flex-direction:row;align-items:center}.small-font{font-size:1rem;color:#959595}.file-size{margin-left:5px}.progress-bar-container{height:auto;width:100%;position:absolute;bottom:0}.webcam-button{position:absolute;top:10px;right:10px}.large-icon,.large-icon .mdi{line-height:60px;font-size:60px}\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ProgressBarComponent, selector: "valtimo-progress-bar" }, { kind: "component", type: i4.WebcamComponent, selector: "valtimo-webcam", outputs: ["imageSaved"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.FileSizePipe, name: "filesize" }] }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DropzoneComponent, selector: "valtimo-dropzone", inputs: { title: "title", hideTitle: "hideTitle", subtitle: "subtitle", externalError$: "externalError$", maxFileSize: "maxFileSize", showMaxFileSize: "showMaxFileSize", acceptedFiles: "acceptedFiles", clear$: "clear$", disabled: "disabled", hideFilePreview: "hideFilePreview", uploading: "uploading", camera: "camera", maxFiles: "maxFiles" }, outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "dropzoneRef", first: true, predicate: ["dropzone"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form #dropzone [ngClass]=\"{disabled: disabled || uploading}\" class=\"dropzone dz-clickable\">\n <div class=\"dz-message\">\n <div class=\"icon large-icon\"><span class=\"mdi mdi-cloud-upload\"></span></div>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n <ng-container *ngIf=\"uploading\">\n <ng-container *ngTemplateOutlet=\"progressBar\"></ng-container>\n </ng-container>\n <div class=\"dropzone-mobile-trigger needsclick\"></div>\n </div>\n <button\n (click)=\"showCamera()\"\n *ngIf=\"camera\"\n type=\"button\"\n class=\"btn btn-primary px-3 webcam-button\"\n >\n <i class=\"icon mdi mdi-camera\" aria-hidden=\"true\"></i>\n </button>\n <ng-container *ngIf=\"showingCamera$ | async\">\n <ng-container *ngTemplateOutlet=\"webcam\"></ng-container>\n </ng-container>\n</form>\n\n<ng-template #body>\n <h2 *ngIf=\"!hideTitle\" class=\"mb-4 mt-2\">{{ title || ('dropzone.drop' | translate) }}</h2>\n <span *ngIf=\"subtitle\" class=\"note mb-3\">{{ subtitle }}</span>\n <span *ngIf=\"showMaxFileSize\" class=\"note mb-3 small-font\"\n >{{ 'dropzone.maxFileSize' | translate }}<b>{{ maxFileSize }}mb</b></span\n >\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n</ng-template>\n\n<ng-template #preview>\n <ng-container\n *ngIf=\"{\n errorMessage: errorMessage$ | async,\n externalError: externalError$ | async,\n file: file$ | async,\n } as obs\"\n >\n <ng-container *ngIf=\"obs.externalError || obs.errorMessage\">\n <div class=\"alert alert-danger mt-2 mb-0\">\n <div class=\"message\">\n {{ obs.externalError || obs.errorMessage }}\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!hideFilePreview && obs.file && !obs.externalError && !obs.errorMessage\">\n <div class=\"file\">\n <i class=\"icon mdi mdi-file-text mr-2\"></i>\n <span class=\"note\">{{ obs.file.name }}</span>\n <span class=\"note file-size\">- {{ obs.file.size | filesize: 2 }}</span>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #progressBar>\n <div class=\"progress-bar-container\">\n <valtimo-progress-bar></valtimo-progress-bar>\n </div>\n</ng-template>\n\n<ng-template #webcam>\n <valtimo-webcam (imageSaved)=\"webcamImageSaved($event)\"></valtimo-webcam>\n</ng-template>\n", styles: ["form.dropzone{padding:30px 20px}form.dropzone h2{text-align:center;font-size:1.69rem}form.dropzone.disabled{opacity:.7;pointer-events:none;cursor:default}form.dropzone.preview{padding:15px 20px;border:none}.dz-message{display:flex;flex-direction:column;align-items:center}.dropzone-mobile-trigger{cursor:pointer}.alert-light{display:flex;align-items:center}form.dropzone .mdi{background-color:transparent;border-radius:0;display:inline-block;height:auto;width:auto;margin-bottom:0;padding:0}form.dropzone .message{padding:1.385rem 2.1542rem}.file{font-size:1.5rem;display:flex;flex-direction:row;align-items:center}.small-font{font-size:1rem;color:#959595}.file-size{margin-left:5px}.progress-bar-container{height:auto;width:100%;position:absolute;bottom:0}.webcam-button{position:absolute;top:10px;right:10px}.large-icon,.large-icon .mdi{line-height:60px;font-size:60px}\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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ProgressBarComponent, selector: "valtimo-progress-bar" }, { kind: "component", type: i4.WebcamComponent, selector: "valtimo-webcam", outputs: ["imageSaved"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.FileSizePipe, name: "filesize" }] }); }
129
129
  }
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropzoneComponent, decorators: [{
131
131
  type: Component,
132
- args: [{ selector: 'valtimo-dropzone', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form #dropzone [ngClass]=\"{disabled: disabled || uploading}\" class=\"dropzone dz-clickable\">\n <div class=\"dz-message\">\n <div class=\"icon large-icon\"><span class=\"mdi mdi-cloud-upload\"></span></div>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n <ng-container *ngIf=\"uploading\">\n <ng-container *ngTemplateOutlet=\"progressBar\"></ng-container>\n </ng-container>\n <div class=\"dropzone-mobile-trigger needsclick\"></div>\n </div>\n <button\n (click)=\"showCamera()\"\n *ngIf=\"camera\"\n type=\"button\"\n class=\"btn btn-primary px-3 webcam-button\"\n >\n <i class=\"icon mdi mdi-camera\" aria-hidden=\"true\"></i>\n </button>\n <ng-container *ngIf=\"showingCamera$ | async\">\n <ng-container *ngTemplateOutlet=\"webcam\"></ng-container>\n </ng-container>\n</form>\n\n<ng-template #body>\n <h2 *ngIf=\"!hideTitle\" class=\"mb-4 mt-2\">{{ title || ('dropzone.drop' | translate) }}</h2>\n <span *ngIf=\"subtitle\" class=\"note mb-3\">{{ subtitle }}</span>\n <span *ngIf=\"showMaxFileSize\" class=\"note mb-3 small-font\"\n >{{ 'dropzone.maxFileSize' | translate }}<b>{{ maxFileSize }}mb</b></span\n >\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n</ng-template>\n\n<ng-template #preview>\n <ng-container\n *ngIf=\"{\n errorMessage: errorMessage$ | async,\n externalError: externalError$ | async,\n file: file$ | async\n } as obs\"\n >\n <ng-container *ngIf=\"obs.externalError || obs.errorMessage\">\n <div class=\"alert alert-danger mt-2 mb-0\">\n <div class=\"message\">\n {{ obs.externalError || obs.errorMessage }}\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!hideFilePreview && obs.file && !obs.externalError && !obs.errorMessage\">\n <div class=\"file\">\n <i class=\"icon mdi mdi-file-text mr-2\"></i>\n <span class=\"note\">{{ obs.file.name }}</span>\n <span class=\"note file-size\">- {{ obs.file.size | filesize: 2 }}</span>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #progressBar>\n <div class=\"progress-bar-container\">\n <valtimo-progress-bar></valtimo-progress-bar>\n </div>\n</ng-template>\n\n<ng-template #webcam>\n <valtimo-webcam (imageSaved)=\"webcamImageSaved($event)\"></valtimo-webcam>\n</ng-template>\n", styles: ["form.dropzone{padding:30px 20px}form.dropzone h2{text-align:center;font-size:1.69rem}form.dropzone.disabled{opacity:.7;pointer-events:none;cursor:default}form.dropzone.preview{padding:15px 20px;border:none}.dz-message{display:flex;flex-direction:column;align-items:center}.dropzone-mobile-trigger{cursor:pointer}.alert-light{display:flex;align-items:center}form.dropzone .mdi{background-color:transparent;border-radius:0;display:inline-block;height:auto;width:auto;margin-bottom:0;padding:0}form.dropzone .message{padding:1.385rem 2.1542rem}.file{font-size:1.5rem;display:flex;flex-direction:row;align-items:center}.small-font{font-size:1rem;color:#959595}.file-size{margin-left:5px}.progress-bar-container{height:auto;width:100%;position:absolute;bottom:0}.webcam-button{position:absolute;top:10px;right:10px}.large-icon,.large-icon .mdi{line-height:60px;font-size:60px}\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"] }]
132
+ args: [{ selector: 'valtimo-dropzone', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form #dropzone [ngClass]=\"{disabled: disabled || uploading}\" class=\"dropzone dz-clickable\">\n <div class=\"dz-message\">\n <div class=\"icon large-icon\"><span class=\"mdi mdi-cloud-upload\"></span></div>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n <ng-container *ngIf=\"uploading\">\n <ng-container *ngTemplateOutlet=\"progressBar\"></ng-container>\n </ng-container>\n <div class=\"dropzone-mobile-trigger needsclick\"></div>\n </div>\n <button\n (click)=\"showCamera()\"\n *ngIf=\"camera\"\n type=\"button\"\n class=\"btn btn-primary px-3 webcam-button\"\n >\n <i class=\"icon mdi mdi-camera\" aria-hidden=\"true\"></i>\n </button>\n <ng-container *ngIf=\"showingCamera$ | async\">\n <ng-container *ngTemplateOutlet=\"webcam\"></ng-container>\n </ng-container>\n</form>\n\n<ng-template #body>\n <h2 *ngIf=\"!hideTitle\" class=\"mb-4 mt-2\">{{ title || ('dropzone.drop' | translate) }}</h2>\n <span *ngIf=\"subtitle\" class=\"note mb-3\">{{ subtitle }}</span>\n <span *ngIf=\"showMaxFileSize\" class=\"note mb-3 small-font\"\n >{{ 'dropzone.maxFileSize' | translate }}<b>{{ maxFileSize }}mb</b></span\n >\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n</ng-template>\n\n<ng-template #preview>\n <ng-container\n *ngIf=\"{\n errorMessage: errorMessage$ | async,\n externalError: externalError$ | async,\n file: file$ | async,\n } as obs\"\n >\n <ng-container *ngIf=\"obs.externalError || obs.errorMessage\">\n <div class=\"alert alert-danger mt-2 mb-0\">\n <div class=\"message\">\n {{ obs.externalError || obs.errorMessage }}\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!hideFilePreview && obs.file && !obs.externalError && !obs.errorMessage\">\n <div class=\"file\">\n <i class=\"icon mdi mdi-file-text mr-2\"></i>\n <span class=\"note\">{{ obs.file.name }}</span>\n <span class=\"note file-size\">- {{ obs.file.size | filesize: 2 }}</span>\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #progressBar>\n <div class=\"progress-bar-container\">\n <valtimo-progress-bar></valtimo-progress-bar>\n </div>\n</ng-template>\n\n<ng-template #webcam>\n <valtimo-webcam (imageSaved)=\"webcamImageSaved($event)\"></valtimo-webcam>\n</ng-template>\n", styles: ["form.dropzone{padding:30px 20px}form.dropzone h2{text-align:center;font-size:1.69rem}form.dropzone.disabled{opacity:.7;pointer-events:none;cursor:default}form.dropzone.preview{padding:15px 20px;border:none}.dz-message{display:flex;flex-direction:column;align-items:center}.dropzone-mobile-trigger{cursor:pointer}.alert-light{display:flex;align-items:center}form.dropzone .mdi{background-color:transparent;border-radius:0;display:inline-block;height:auto;width:auto;margin-bottom:0;padding:0}form.dropzone .message{padding:1.385rem 2.1542rem}.file{font-size:1.5rem;display:flex;flex-direction:row;align-items:center}.small-font{font-size:1rem;color:#959595}.file-size{margin-left:5px}.progress-bar-container{height:auto;width:100%;position:absolute;bottom:0}.webcam-button{position:absolute;top:10px;right:10px}.large-icon,.large-icon .mdi{line-height:60px;font-size:60px}\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"] }]
133
133
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i0.Renderer2 }, { type: Document, decorators: [{
134
134
  type: Inject,
135
135
  args: [DOCUMENT]
@@ -165,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
165
165
  }], fileSelected: [{
166
166
  type: Output
167
167
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kcm9wem9uZS9kcm9wem9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3B6b25lL2Ryb3B6b25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQU9uQyxNQUFNLE9BQU8saUJBQWlCO0lBb0Q1QixZQUNtQixnQkFBa0MsRUFDbEMsUUFBbUIsRUFDRCxRQUFrQjtRQUZwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakQ5QyxtQkFBYyxHQUE0QixJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRSxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixrQkFBYSxHQUFHLE9BQU8sQ0FBQztRQUN4QixXQUFNLEdBQWlCLElBQUksT0FB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QUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcElVLGlCQUFpQiwyRUF1RGxCLFFBQVE7bUdBdkRQLGlCQUFpQixvaUJDeEM5QiwrOUZBa0ZBOzs0RkQxQ2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGtCQUFrQjs7MEJBMkR6QixNQUFNOzJCQUFDLFFBQVE7eUNBdERLLFdBQVc7c0JBQWpDLFNBQVM7dUJBQUMsVUFBVTtnQkFFWixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgRHJvcHpvbmUgZnJvbSAnZHJvcHpvbmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRyb3B6b25lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3B6b25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcHpvbmUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcHpvbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3B6b25lJykgZHJvcHpvbmVSZWY6IEVsZW1lbnRSZWY8YW55PjtcblxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBoaWRlVGl0bGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV4dGVybmFsRXJyb3IkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIEBJbnB1dCgpIG1heEZpbGVTaXplID0gNTtcbiAgQElucHV0KCkgc2hvd01heEZpbGVTaXplID0gdHJ1ZTtcbiAgQElucHV0KCkgYWNjZXB0ZWRGaWxlcyA9ICcuanNvbic7XG4gIEBJbnB1dCgpIGNsZWFyJDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVGaWxlUHJldmlldzogYm9vbGVhbjtcbiAgQElucHV0KCkgdXBsb2FkaW5nOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW1lcmEgPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4RmlsZXMhOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIGZpbGVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEZpbGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICByZWFkb25seSBmaWxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsZT4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2hvd2luZ0NhbWVyYSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBjbGVhclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGRyb3B6b25lOiBEcm9wem9uZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JNZXNzYWdlc1N0cmluZ3M6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHRvb0JpZzogJ3RvbyBiaWcnLFxuICAgIHdyb25nVHlwZTogJ3RoaXMgdHlwZScsXG4gIH07XG5cbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5lcnJvciQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgnZHJvcHpvbmUuZXJyb3IuZ2VuZXJpYycpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2Ryb3B6b25lLmVycm9yLnRvb0JpZycpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2Ryb3B6b25lLmVycm9yLndyb25nVHlwZScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2Ryb3B6b25lRXJyb3IsIGdlbmVyaWMsIHRvb0JpZywgd3JvbmdUeXBlXSkgPT4ge1xuICAgICAgY29uc3Qgc3RyaW5ncyA9IHRoaXMuZXJyb3JNZXNzYWdlc1N0cmluZ3M7XG5cbiAgICAgIGlmIChkcm9wem9uZUVycm9yKSB7XG4gICAgICAgIGlmIChkcm9wem9uZUVycm9yLmluY2x1ZGVzKHN0cmluZ3MudG9vQmlnKSkge1xuICAgICAgICAgIHJldHVybiB0b29CaWc7XG4gICAgICAgIH0gZWxzZSBpZiAoZHJvcHpvbmVFcnJvci5pbmNsdWRlcyhzdHJpbmdzLndyb25nVHlwZSkpIHtcbiAgICAgICAgICByZXR1cm4gd3JvbmdUeXBlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdlbmVyaWM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnJztcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnRcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb24gPSB0aGlzLmNsZWFyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jbGVhckZpbGUoKTtcbiAgICAgIHRoaXMuY2xlYXJFcnJvcigpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdERyb3B6b25lKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5kZXN0cm95SGlkZGVuSW5wdXRzKCk7XG4gIH1cblxuICBzaG93Q2FtZXJhKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd2luZ0NhbWVyYSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHdlYmNhbUltYWdlU2F2ZWQoaW1hZ2U6IEZpbGUpOiB2b2lkIHtcbiAgICBpZiAoaW1hZ2UpIHtcbiAgICAgIHRoaXMuc2V0RmlsZShpbWFnZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93aW5nQ2FtZXJhJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdERyb3B6b25lKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcHpvbmUgPSBuZXcgRHJvcHpvbmUodGhpcy5kcm9wem9uZVJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICB1cmw6ICcvJyxcbiAgICAgIG1heEZpbGVzaXplOiB0aGlzLm1heEZpbGVTaXplLFxuICAgICAgY2xpY2thYmxlOiB0aGlzLmRyb3B6b25lUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICBhdXRvUHJvY2Vzc1F1ZXVlOiBmYWxzZSxcbiAgICAgIGNyZWF0ZUltYWdlVGh1bWJuYWlsczogZmFsc2UsXG4gICAgICBhY2NlcHRlZEZpbGVzOiB0aGlzLmFjY2VwdGVkRmlsZXMsXG4gICAgICBwcmV2aWV3VGVtcGxhdGU6IGA8cCBzdHlsZT0nZGlzcGxheTpub25lJz48L3A+YCxcbiAgICAgIC4uLih0aGlzLm1heEZpbGVzICYmIHttYXhGaWxlczogdGhpcy5tYXhGaWxlc30pLFxuICAgICAgYWNjZXB0OiBmaWxlID0+IHtcbiAgICAgICAgdGhpcy5kcm9wem9uZS5yZW1vdmVBbGxGaWxlcygpO1xuICAgICAgICB0aGlzLnNldEZpbGUoZmlsZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXREcm9wem9uZUV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREcm9wem9uZUV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3B6b25lLm9uKCdlcnJvcicsIChmaWxlLCBtZXNzYWdlKSA9PiB7XG4gICAgICB0aGlzLmNsZWFyRmlsZSgpO1xuICAgICAgdGhpcy5lcnJvciQubmV4dChtZXNzYWdlLnRvU3RyaW5nKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckZpbGUoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlJC5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRXJyb3IoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvciQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIHNldEZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMuZmlsZSQubmV4dChmaWxlKTtcbiAgICB0aGlzLmNsZWFyRXJyb3IoKTtcbiAgICB0aGlzLmZpbGVTZWxlY3RlZC5lbWl0KGZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95SGlkZGVuSW5wdXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhpZGRlbkVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdkei1oaWRkZW4taW5wdXQnKTtcblxuICAgIEFycmF5LmZyb20oaGlkZGVuRWxlbWVudHMpLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBlbGVtZW50LnJlbW92ZSgpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtICNkcm9wem9uZSBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IGRpc2FibGVkIHx8IHVwbG9hZGluZ31cIiBjbGFzcz1cImRyb3B6b25lIGR6LWNsaWNrYWJsZVwiPlxuICA8ZGl2IGNsYXNzPVwiZHotbWVzc2FnZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpY29uIGxhcmdlLWljb25cIj48c3BhbiBjbGFzcz1cIm1kaSBtZGktY2xvdWQtdXBsb2FkXCI+PC9zcGFuPjwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwbG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByb2dyZXNzQmFyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImRyb3B6b25lLW1vYmlsZS10cmlnZ2VyIG5lZWRzY2xpY2tcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxidXR0b25cbiAgICAoY2xpY2spPVwic2hvd0NhbWVyYSgpXCJcbiAgICAqbmdJZj1cImNhbWVyYVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtMyB3ZWJjYW0tYnV0dG9uXCJcbiAgPlxuICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWNhbWVyYVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgPC9idXR0b24+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93aW5nQ2FtZXJhJCB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIndlYmNhbVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cblxuPG5nLXRlbXBsYXRlICNib2R5PlxuICA8aDIgKm5nSWY9XCIhaGlkZVRpdGxlXCIgY2xhc3M9XCJtYi00IG10LTJcIj57eyB0aXRsZSB8fCAoJ2Ryb3B6b25lLmRyb3AnIHwgdHJhbnNsYXRlKSB9fTwvaDI+XG4gIDxzcGFuICpuZ0lmPVwic3VidGl0bGVcIiBjbGFzcz1cIm5vdGUgbWItM1wiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cInNob3dNYXhGaWxlU2l6ZVwiIGNsYXNzPVwibm90ZSBtYi0zIHNtYWxsLWZvbnRcIlxuICAgID57eyAnZHJvcHpvbmUubWF4RmlsZVNpemUnIHwgdHJhbnNsYXRlIH19PGI+e3sgbWF4RmlsZVNpemUgfX1tYjwvYj48L3NwYW5cbiAgPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlld1wiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJ7XG4gICAgICBlcnJvck1lc3NhZ2U6IGVycm9yTWVzc2FnZSQgfCBhc3luYyxcbiAgICAgIGV4dGVybmFsRXJyb3I6IGV4dGVybmFsRXJyb3IkIHwgYXN5bmMsXG4gICAgICBmaWxlOiBmaWxlJCB8IGFzeW5jXG4gICAgfSBhcyBvYnNcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5leHRlcm5hbEVycm9yIHx8IG9icy5lcnJvck1lc3NhZ2VcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXIgbXQtMiBtYi0wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICAgICAge3sgb2JzLmV4dGVybmFsRXJyb3IgfHwgb2JzLmVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoaWRlRmlsZVByZXZpZXcgJiYgb2JzLmZpbGUgJiYgIW9icy5leHRlcm5hbEVycm9yICYmICFvYnMuZXJyb3JNZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsZVwiPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1maWxlLXRleHQgbXItMlwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RlXCI+e3sgb2JzLmZpbGUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RlIGZpbGUtc2l6ZVwiPi0ge3sgb2JzLmZpbGUuc2l6ZSB8IGZpbGVzaXplOiAyIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwcm9ncmVzc0Jhcj5cbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhci1jb250YWluZXJcIj5cbiAgICA8dmFsdGltby1wcm9ncmVzcy1iYXI+PC92YWx0aW1vLXByb2dyZXNzLWJhcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3dlYmNhbT5cbiAgPHZhbHRpbW8td2ViY2FtIChpbWFnZVNhdmVkKT1cIndlYmNhbUltYWdlU2F2ZWQoJGV2ZW50KVwiPjwvdmFsdGltby13ZWJjYW0+XG48L25nLXRlbXBsYXRlPlxuIl19
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kcm9wem9uZS9kcm9wem9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3B6b25lL2Ryb3B6b25lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQU9uQyxNQUFNLE9BQU8saUJBQWlCO0lBb0Q1QixZQUNtQixnQkFBa0MsRUFDbEMsUUFBbUIsRUFDRCxRQUFrQjtRQUZwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBakQ5QyxtQkFBYyxHQUE0QixJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRSxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixrQkFBYSxHQUFHLE9BQU8sQ0FBQztRQUN4QixXQUFNLEdBQWlCLElBQUksT0FB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QUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcElVLGlCQUFpQiwyRUF1RGxCLFFBQVE7bUdBdkRQLGlCQUFpQixvaUJDeEM5QixnK0ZBa0ZBOzs0RkQxQ2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGtCQUFrQjs7MEJBMkR6QixNQUFNOzJCQUFDLFFBQVE7eUNBdERLLFdBQVc7c0JBQWpDLFNBQVM7dUJBQUMsVUFBVTtnQkFFWixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgRHJvcHpvbmUgZnJvbSAnZHJvcHpvbmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRyb3B6b25lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3B6b25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcHpvbmUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcHpvbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3B6b25lJykgZHJvcHpvbmVSZWY6IEVsZW1lbnRSZWY8YW55PjtcblxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBoaWRlVGl0bGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN1YnRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV4dGVybmFsRXJyb3IkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIEBJbnB1dCgpIG1heEZpbGVTaXplID0gNTtcbiAgQElucHV0KCkgc2hvd01heEZpbGVTaXplID0gdHJ1ZTtcbiAgQElucHV0KCkgYWNjZXB0ZWRGaWxlcyA9ICcuanNvbic7XG4gIEBJbnB1dCgpIGNsZWFyJDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVGaWxlUHJldmlldzogYm9vbGVhbjtcbiAgQElucHV0KCkgdXBsb2FkaW5nOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW1lcmEgPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4RmlsZXMhOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpIGZpbGVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEZpbGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICByZWFkb25seSBmaWxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsZT4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc2hvd2luZ0NhbWVyYSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBjbGVhclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGRyb3B6b25lOiBEcm9wem9uZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JNZXNzYWdlc1N0cmluZ3M6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHRvb0JpZzogJ3RvbyBiaWcnLFxuICAgIHdyb25nVHlwZTogJ3RoaXMgdHlwZScsXG4gIH07XG5cbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5lcnJvciQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgnZHJvcHpvbmUuZXJyb3IuZ2VuZXJpYycpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2Ryb3B6b25lLmVycm9yLnRvb0JpZycpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2Ryb3B6b25lLmVycm9yLndyb25nVHlwZScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2Ryb3B6b25lRXJyb3IsIGdlbmVyaWMsIHRvb0JpZywgd3JvbmdUeXBlXSkgPT4ge1xuICAgICAgY29uc3Qgc3RyaW5ncyA9IHRoaXMuZXJyb3JNZXNzYWdlc1N0cmluZ3M7XG5cbiAgICAgIGlmIChkcm9wem9uZUVycm9yKSB7XG4gICAgICAgIGlmIChkcm9wem9uZUVycm9yLmluY2x1ZGVzKHN0cmluZ3MudG9vQmlnKSkge1xuICAgICAgICAgIHJldHVybiB0b29CaWc7XG4gICAgICAgIH0gZWxzZSBpZiAoZHJvcHpvbmVFcnJvci5pbmNsdWRlcyhzdHJpbmdzLndyb25nVHlwZSkpIHtcbiAgICAgICAgICByZXR1cm4gd3JvbmdUeXBlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdlbmVyaWM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnJztcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnRcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb24gPSB0aGlzLmNsZWFyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jbGVhckZpbGUoKTtcbiAgICAgIHRoaXMuY2xlYXJFcnJvcigpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdERyb3B6b25lKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5kZXN0cm95SGlkZGVuSW5wdXRzKCk7XG4gIH1cblxuICBzaG93Q2FtZXJhKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd2luZ0NhbWVyYSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHdlYmNhbUltYWdlU2F2ZWQoaW1hZ2U6IEZpbGUpOiB2b2lkIHtcbiAgICBpZiAoaW1hZ2UpIHtcbiAgICAgIHRoaXMuc2V0RmlsZShpbWFnZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93aW5nQ2FtZXJhJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdERyb3B6b25lKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcHpvbmUgPSBuZXcgRHJvcHpvbmUodGhpcy5kcm9wem9uZVJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICB1cmw6ICcvJyxcbiAgICAgIG1heEZpbGVzaXplOiB0aGlzLm1heEZpbGVTaXplLFxuICAgICAgY2xpY2thYmxlOiB0aGlzLmRyb3B6b25lUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICBhdXRvUHJvY2Vzc1F1ZXVlOiBmYWxzZSxcbiAgICAgIGNyZWF0ZUltYWdlVGh1bWJuYWlsczogZmFsc2UsXG4gICAgICBhY2NlcHRlZEZpbGVzOiB0aGlzLmFjY2VwdGVkRmlsZXMsXG4gICAgICBwcmV2aWV3VGVtcGxhdGU6IGA8cCBzdHlsZT0nZGlzcGxheTpub25lJz48L3A+YCxcbiAgICAgIC4uLih0aGlzLm1heEZpbGVzICYmIHttYXhGaWxlczogdGhpcy5tYXhGaWxlc30pLFxuICAgICAgYWNjZXB0OiBmaWxlID0+IHtcbiAgICAgICAgdGhpcy5kcm9wem9uZS5yZW1vdmVBbGxGaWxlcygpO1xuICAgICAgICB0aGlzLnNldEZpbGUoZmlsZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZXREcm9wem9uZUV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREcm9wem9uZUV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3B6b25lLm9uKCdlcnJvcicsIChmaWxlLCBtZXNzYWdlKSA9PiB7XG4gICAgICB0aGlzLmNsZWFyRmlsZSgpO1xuICAgICAgdGhpcy5lcnJvciQubmV4dChtZXNzYWdlLnRvU3RyaW5nKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckZpbGUoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlJC5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRXJyb3IoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvciQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIHNldEZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMuZmlsZSQubmV4dChmaWxlKTtcbiAgICB0aGlzLmNsZWFyRXJyb3IoKTtcbiAgICB0aGlzLmZpbGVTZWxlY3RlZC5lbWl0KGZpbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95SGlkZGVuSW5wdXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhpZGRlbkVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdkei1oaWRkZW4taW5wdXQnKTtcblxuICAgIEFycmF5LmZyb20oaGlkZGVuRWxlbWVudHMpLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBlbGVtZW50LnJlbW92ZSgpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtICNkcm9wem9uZSBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IGRpc2FibGVkIHx8IHVwbG9hZGluZ31cIiBjbGFzcz1cImRyb3B6b25lIGR6LWNsaWNrYWJsZVwiPlxuICA8ZGl2IGNsYXNzPVwiZHotbWVzc2FnZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpY29uIGxhcmdlLWljb25cIj48c3BhbiBjbGFzcz1cIm1kaSBtZGktY2xvdWQtdXBsb2FkXCI+PC9zcGFuPjwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwbG9hZGluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByb2dyZXNzQmFyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImRyb3B6b25lLW1vYmlsZS10cmlnZ2VyIG5lZWRzY2xpY2tcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxidXR0b25cbiAgICAoY2xpY2spPVwic2hvd0NhbWVyYSgpXCJcbiAgICAqbmdJZj1cImNhbWVyYVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtMyB3ZWJjYW0tYnV0dG9uXCJcbiAgPlxuICAgIDxpIGNsYXNzPVwiaWNvbiBtZGkgbWRpLWNhbWVyYVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgPC9idXR0b24+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93aW5nQ2FtZXJhJCB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIndlYmNhbVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cblxuPG5nLXRlbXBsYXRlICNib2R5PlxuICA8aDIgKm5nSWY9XCIhaGlkZVRpdGxlXCIgY2xhc3M9XCJtYi00IG10LTJcIj57eyB0aXRsZSB8fCAoJ2Ryb3B6b25lLmRyb3AnIHwgdHJhbnNsYXRlKSB9fTwvaDI+XG4gIDxzcGFuICpuZ0lmPVwic3VidGl0bGVcIiBjbGFzcz1cIm5vdGUgbWItM1wiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cInNob3dNYXhGaWxlU2l6ZVwiIGNsYXNzPVwibm90ZSBtYi0zIHNtYWxsLWZvbnRcIlxuICAgID57eyAnZHJvcHpvbmUubWF4RmlsZVNpemUnIHwgdHJhbnNsYXRlIH19PGI+e3sgbWF4RmlsZVNpemUgfX1tYjwvYj48L3NwYW5cbiAgPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlld1wiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJ7XG4gICAgICBlcnJvck1lc3NhZ2U6IGVycm9yTWVzc2FnZSQgfCBhc3luYyxcbiAgICAgIGV4dGVybmFsRXJyb3I6IGV4dGVybmFsRXJyb3IkIHwgYXN5bmMsXG4gICAgICBmaWxlOiBmaWxlJCB8IGFzeW5jLFxuICAgIH0gYXMgb2JzXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYnMuZXh0ZXJuYWxFcnJvciB8fCBvYnMuZXJyb3JNZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyIG10LTIgbWItMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZVwiPlxuICAgICAgICAgIHt7IG9icy5leHRlcm5hbEVycm9yIHx8IG9icy5lcnJvck1lc3NhZ2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZUZpbGVQcmV2aWV3ICYmIG9icy5maWxlICYmICFvYnMuZXh0ZXJuYWxFcnJvciAmJiAhb2JzLmVycm9yTWVzc2FnZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpbGVcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktZmlsZS10ZXh0IG1yLTJcIj48L2k+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm90ZVwiPnt7IG9icy5maWxlLm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm90ZSBmaWxlLXNpemVcIj4tIHt7IG9icy5maWxlLnNpemUgfCBmaWxlc2l6ZTogMiB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NCYXI+XG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXItY29udGFpbmVyXCI+XG4gICAgPHZhbHRpbW8tcHJvZ3Jlc3MtYmFyPjwvdmFsdGltby1wcm9ncmVzcy1iYXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN3ZWJjYW0+XG4gIDx2YWx0aW1vLXdlYmNhbSAoaW1hZ2VTYXZlZCk9XCJ3ZWJjYW1JbWFnZVNhdmVkKCRldmVudClcIj48L3ZhbHRpbW8td2ViY2FtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -61,6 +61,7 @@ export class FormioComponent {
61
61
  this.submit = new EventEmitter();
62
62
  // eslint-disable-next-line @angular-eslint/no-output-native
63
63
  this.change = new EventEmitter();
64
+ this.event = new EventEmitter();
64
65
  this.refreshForm = new EventEmitter();
65
66
  this.submission$ = new BehaviorSubject({});
66
67
  this._form$ = new BehaviorSubject(undefined);
@@ -127,6 +128,9 @@ export class FormioComponent {
127
128
  onChange(object) {
128
129
  this.change.emit(object);
129
130
  }
131
+ onCustomEvent(event) {
132
+ this.event.emit(event);
133
+ }
130
134
  nextPage() {
131
135
  this.scrollToTop();
132
136
  }
@@ -204,11 +208,11 @@ export class FormioComponent {
204
208
  this._overrideOptions$.next(config.formioOptions);
205
209
  }
206
210
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormioComponent, deps: [{ token: i1.UserProviderService }, { token: i2.NGXLogger }, { token: i3.FormIoStateService }, { token: i4.ActivatedRoute }, { token: i5.TranslateService }, { token: i6.FormIoLocalStorageService }, { token: i7.ValtimoModalService }, { token: i8.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
207
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormioComponent, selector: "valtimo-form-io", inputs: { options: "options", submission: "submission", form: "form", readOnly: "readOnly", formRefresh$: "formRefresh$" }, outputs: { submit: "submit", change: "change" }, host: { listeners: { "window:beforeunload": "handleBeforeUnload($event)" } }, providers: [FormIoLocalStorageService], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentLanguage: currentLanguage$ | async,\n formioOptions: formioOptions$ | async,\n submission: submission$ | async,\n readOnly: readOnly$ | async,\n form: form$ | async,\n errors: errors$ | async,\n tokenSetInLocalStorage: tokenSetInLocalStorage$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of obs.errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n\n <formio\n *ngIf=\"obs.formioOptions && obs.form && obs.tokenSetInLocalStorage\"\n [form]=\"obs.form\"\n [language]=\"languageEventEmitter\"\n [options]=\"obs.formioOptions\"\n [readOnly]=\"obs.readOnly\"\n [refresh]=\"refreshForm\"\n [submission]=\"obs.submission\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n (ready)=\"formReady($event)\"\n (submit)=\"onSubmit($event)\"\n ></formio>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.FormioComponent, selector: "formio" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] }); }
211
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormioComponent, selector: "valtimo-form-io", inputs: { options: "options", submission: "submission", form: "form", readOnly: "readOnly", formRefresh$: "formRefresh$" }, outputs: { submit: "submit", change: "change", event: "event" }, host: { listeners: { "window:beforeunload": "handleBeforeUnload($event)" } }, providers: [FormIoLocalStorageService], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentLanguage: currentLanguage$ | async,\n formioOptions: formioOptions$ | async,\n submission: submission$ | async,\n readOnly: readOnly$ | async,\n form: form$ | async,\n errors: errors$ | async,\n tokenSetInLocalStorage: tokenSetInLocalStorage$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of obs.errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n\n <formio\n *ngIf=\"obs.formioOptions && obs.form && obs.tokenSetInLocalStorage\"\n [form]=\"obs.form\"\n [language]=\"languageEventEmitter\"\n [options]=\"obs.formioOptions\"\n [readOnly]=\"obs.readOnly\"\n [refresh]=\"refreshForm\"\n [submission]=\"obs.submission\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n (ready)=\"formReady($event)\"\n (submit)=\"onSubmit($event)\"\n (customEvent)=\"onCustomEvent($event)\"\n ></formio>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.FormioComponent, selector: "formio" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }] }); }
208
212
  }
209
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormioComponent, decorators: [{
210
214
  type: Component,
211
- args: [{ selector: 'valtimo-form-io', providers: [FormIoLocalStorageService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentLanguage: currentLanguage$ | async,\n formioOptions: formioOptions$ | async,\n submission: submission$ | async,\n readOnly: readOnly$ | async,\n form: form$ | async,\n errors: errors$ | async,\n tokenSetInLocalStorage: tokenSetInLocalStorage$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of obs.errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n\n <formio\n *ngIf=\"obs.formioOptions && obs.form && obs.tokenSetInLocalStorage\"\n [form]=\"obs.form\"\n [language]=\"languageEventEmitter\"\n [options]=\"obs.formioOptions\"\n [readOnly]=\"obs.readOnly\"\n [refresh]=\"refreshForm\"\n [submission]=\"obs.submission\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n (ready)=\"formReady($event)\"\n (submit)=\"onSubmit($event)\"\n ></formio>\n</div>\n" }]
215
+ args: [{ selector: 'valtimo-form-io', providers: [FormIoLocalStorageService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentLanguage: currentLanguage$ | async,\n formioOptions: formioOptions$ | async,\n submission: submission$ | async,\n readOnly: readOnly$ | async,\n form: form$ | async,\n errors: errors$ | async,\n tokenSetInLocalStorage: tokenSetInLocalStorage$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.errors.length > 0\" class=\"alert alert-danger pt-5 pb-5 mb-2\">\n <ol>\n <li *ngFor=\"let error of obs.errors\">\n {{ error }}\n </li>\n </ol>\n </div>\n\n <formio\n *ngIf=\"obs.formioOptions && obs.form && obs.tokenSetInLocalStorage\"\n [form]=\"obs.form\"\n [language]=\"languageEventEmitter\"\n [options]=\"obs.formioOptions\"\n [readOnly]=\"obs.readOnly\"\n [refresh]=\"refreshForm\"\n [submission]=\"obs.submission\"\n (change)=\"onChange($event)\"\n (nextPage)=\"nextPage()\"\n (prevPage)=\"prevPage()\"\n (ready)=\"formReady($event)\"\n (submit)=\"onSubmit($event)\"\n (customEvent)=\"onCustomEvent($event)\"\n ></formio>\n</div>\n" }]
212
216
  }], ctorParameters: () => [{ type: i1.UserProviderService }, { type: i2.NGXLogger }, { type: i3.FormIoStateService }, { type: i4.ActivatedRoute }, { type: i5.TranslateService }, { type: i6.FormIoLocalStorageService }, { type: i7.ValtimoModalService }, { type: i8.ConfigService }], propDecorators: { options: [{
213
217
  type: Input
214
218
  }], submission: [{
@@ -223,8 +227,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
223
227
  type: Output
224
228
  }], change: [{
225
229
  type: Output
230
+ }], event: [{
231
+ type: Output
226
232
  }], handleBeforeUnload: [{
227
233
  type: HostListener,
228
234
  args: ['window:beforeunload', ['$event']]
229
235
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW8vZm9ybS1pby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW8vZm9ybS1pby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFDTCxNQUFNLEdBTVAsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUF1QixZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV2QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7Ozs7QUFRL0IsTUFBTSxPQUFPLGVBQWU7SUFDMUIsSUFBYSxPQUFPLENBQUMsWUFBa0M7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNE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b3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VmFsdGltb0Zvcm1pb09wdGlvbnN9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1ZhbHRpbW9Nb2RhbFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbHRpbW8tbW9kYWwuc2VydmljZSc7XG5pbXBvcnQge1VzZXJQcm92aWRlclNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3NlY3VyaXR5JztcbmltcG9ydCB7XG4gIEZvcm1pbyxcbiAgRm9ybWlvQ29tcG9uZW50IGFzIEZvcm1Jb1NvdXJjZUNvbXBvbmVudCxcbiAgRm9ybWlvRm9ybSxcbiAgRm9ybWlvT3B0aW9ucyxcbiAgRm9ybWlvUmVmcmVzaFZhbHVlLFxuICBGb3JtaW9TdWJtaXNzaW9uLFxufSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtqd3REZWNvZGV9IGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0Zvcm1Jb1N0YXRlU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWlvLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0Zvcm1Jb0xvY2FsU3RvcmFnZVNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvZm9ybS1pby1sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtkZWVwbWVyZ2V9IGZyb20gJ2RlZXBtZXJnZS10cyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2UsIFZhbHRpbW9Db25maWd9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge2lzRXF1YWx9IGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZm9ybS1pbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1pby5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW0Zvcm1Jb0xvY2FsU3RvcmFnZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtaW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgc2V0IG9wdGlvbnMob3B0aW9uc1ZhbHVlOiBWYWx0aW1vRm9ybWlvT3B0aW9ucykge1xuICAgIHRoaXMub3B0aW9ucyQubmV4dChvcHRpb25zVmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBzdWJtaXNzaW9uKHN1Ym1pc3Npb25WYWx1ZTogRm9ybWlvU3VibWlzc2lvbikge1xuICAgIHRoaXMuc3VibWlzc2lvbiQubmV4dChzdWJtaXNzaW9uVmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBmb3JtKGZvcm1WYWx1ZTogRm9ybWlvRm9ybSkge1xuICAgIHRoaXMuX2Zvcm0kLm5leHQoZm9ybVZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgcmVhZE9ubHkocmVhZE9ubHlWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMucmVhZE9ubHkkLm5leHQocmVhZE9ubHlWYWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgZm9ybVJlZnJlc2gkITogU3ViamVjdDxGb3JtaW9SZWZyZXNoVmFsdWU+O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgc3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlQmVmb3JlVW5sb2FkKCkge1xuICAgIHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5jbGVhclRva2VuRnJvbUxvY2FsU3RvcmFnZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2hGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtaW9SZWZyZXNoVmFsdWU+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN1Ym1pc3Npb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtaW9TdWJtaXNzaW9uPih7fSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBmb3JtJCA9IHRoaXMuX2Zvcm0kLnBpcGUoXG4gICAgZmlsdGVyKGZvcm0gPT4gISFmb3JtKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gaXNFcXVhbChwcmV2LCBjdXJyKSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbHRpbW9Gb3JtaW9PcHRpb25zPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVhZE9ubHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBlcnJvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxzdHJpbmc+PihbXSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxhbmd1YWdlRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRMYW5ndWFnZSQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKS5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFwKGxhbmd1YWdlID0+IHRoaXMubGFuZ3VhZ2VFdmVudEVtaXR0ZXIuZW1pdChsYW5ndWFnZSkpXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb3ZlcnJpZGVPcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybWlvT3B0aW9ucz4oe30pO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtaW9PcHRpb25zJDogT2JzZXJ2YWJsZTxWYWx0aW1vRm9ybWlvT3B0aW9ucyB8IEZvcm1pb09wdGlvbnM+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5vcHRpb25zJCxcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSQsXG4gICAgdGhpcy5fb3ZlcnJpZGVPcHRpb25zJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtvcHRpb25zLCBsYW5ndWFnZSwgb3ZlcnJpZGVPcHRpb25zXSkgPT4ge1xuICAgICAgY29uc3QgZm9ybWlvVHJhbnNsYXRpb25zID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Zvcm1pb1RyYW5zbGF0aW9ucycpO1xuXG4gICAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgLi4uKGZvcm1pb1RyYW5zbGF0aW9ucyA9PT0gJ29iamVjdCcgJiYge1xuICAgICAgICAgIGkxOG46IHtcbiAgICAgICAgICAgIFtsYW5ndWFnZV06IHRoaXMuc3RhdGVTZXJ2aWNlLmZsYXR0ZW5UcmFuc2xhdGlvbnNPYmplY3QoZm9ybWlvVHJhbnNsYXRpb25zKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBkZWVwbWVyZ2UoZGVmYXVsdE9wdGlvbnMsIG92ZXJyaWRlT3B0aW9ucyk7XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IGlzRXF1YWwocHJldiwgY3VycikpLFxuICAgIHRhcChvcHRpb25zID0+IHRoaXMubG9nZ2VyLmRlYnVnKCdGb3JtLklPIG9wdGlvbnMgdXNlZCcsIG9wdGlvbnMpKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSB0b2tlblNldEluTG9jYWxTdG9yYWdlJCA9IHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS50b2tlblNldEluTG9jYWxTdG9yYWdlJDtcblxuICBwcml2YXRlIF90b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfZm9ybVJlZnJlc2hTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdG9rZW5UaW1lclN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQcm92aWRlclNlcnZpY2U6IFVzZXJQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IE5HWExvZ2dlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogRm9ybUlvU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZVNlcnZpY2U6IEZvcm1Jb0xvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IFZhbHRpbW9Nb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2V0T3ZlcnJpZGVPcHRpb25zKGNvbmZpZ1NlcnZpY2UuY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBGb3JtaW8uc2V0UHJvamVjdFVybChsb2NhdGlvbi5vcmlnaW4pO1xuICAgIEZvcm1pby5hdXRoVXJsID0gbG9jYXRpb24ub3JpZ2luO1xuXG4gICAgdGhpcy5vcGVuUm91dGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmVycm9ycyQubmV4dChbXSk7XG4gICAgdGhpcy5zZXRJbml0aWFsVG9rZW4oKTtcbiAgICB0aGlzLnN1YnNjcmliZUZvcm1SZWZyZXNoKCk7XG4gICAgdGhpcy5vcGVuUmVsb2FkRm9ybVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblJlbG9hZFN1Ym1pc3Npb25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LmZvcm1EZWZpbml0aW9uUmVmcmVzaCQpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpO1xuICAgICAgdGhpcy5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRm9ybVJlZnJlc2goKTtcbiAgICB0aGlzLl90b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmNsZWFyVG9rZW5Gcm9tTG9jYWxTdG9yYWdlKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0Vycm9ycyhlcnJvcnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvcnMkLm5leHQoZXJyb3JzKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdChzdWJtaXNzaW9uOiBGb3JtaW9TdWJtaXNzaW9uKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvcnMkLm5leHQoW10pO1xuICAgIHRoaXMuc3VibWl0LmVtaXQoc3VibWlzc2lvbik7XG4gIH1cblxuICBwdWJsaWMgZm9ybVJlYWR5KGZvcm06IEZvcm1Jb1NvdXJjZUNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmN1cnJlbnRGb3JtID0gZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZShvYmplY3Q6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQob2JqZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gIH1cblxuICBwdWJsaWMgcHJldlBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUmVsb2FkRm9ybVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybSQuc3Vic2NyaWJlKGZvcm0gPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2hGb3JtLmVtaXQoe1xuICAgICAgICAgIGZvcm0sXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUmVsb2FkU3VibWlzc2lvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3VibWlzc2lvbiQuc3Vic2NyaWJlKHN1Ym1pc3Npb24gPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2hGb3JtLmVtaXQoe1xuICAgICAgICAgIHN1Ym1pc3Npb24sXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxUb1RvcCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5zY3JvbGxUb1RvcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbml0aWFsVG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldFRva2VuKCkudGhlbigodG9rZW46IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5zZXRUb2tlbih0b2tlbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBGb3JtaW8uc2V0VXNlcihqd3REZWNvZGUodG9rZW4pKTtcbiAgICBGb3JtaW8uc2V0VG9rZW4odG9rZW4pO1xuICAgIHRoaXMuc2V0VGltZXJGb3JUb2tlblJlZnJlc2godG9rZW4pO1xuICAgIHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5zZXRUb2tlbkluTG9jYWxTdG9yYWdlKHRva2VuKTtcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdOZXcgdG9rZW4gc2V0IGZvciBmb3JtLmlvLicpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUaW1lckZvclRva2VuUmVmcmVzaCh0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW5FeHAgPSBqd3REZWNvZGUodG9rZW4pLmV4cCAqIDEwMDA7XG4gICAgY29uc3QgZXhwaXJ5VGltZSA9IHRva2VuRXhwIC0gRGF0ZS5ub3coKSAtIDEwMDA7XG5cbiAgICB0aGlzLl90b2tlblRpbWVyU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRpbWVyKGV4cGlyeVRpbWUpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UudXBkYXRlVG9rZW4oLTEpKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlLmdldFRva2VuKCkpLFxuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChyZWZyZXNoZWRUb2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRUb2tlbihyZWZyZXNoZWRUb2tlbik7XG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBUaW1lciBmb3IgZm9ybS5pbyB0b2tlbiByZWZyZXNoIHNldCBmb3I6ICR7ZXhwaXJ5VGltZX1tcy5gKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlRm9ybVJlZnJlc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybVJlZnJlc2gkKSB7XG4gICAgICB0aGlzLl9mb3JtUmVmcmVzaFN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybVJlZnJlc2gkLnN1YnNjcmliZShyZWZyZXNoVmFsdWUgPT4ge1xuICAgICAgICBpZiAocmVmcmVzaFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoRm9ybS5lbWl0KHJlZnJlc2hWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZm9ybVJlZnJlc2hTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX2Zvcm1SZWZyZXNoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUm91dGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHBhcmFtcy5kb2N1bWVudERlZmluaXRpb25OYW1lO1xuICAgICAgICBjb25zdCBkb2N1bWVudElkID0gcGFyYW1zLmRvY3VtZW50SWQ7XG5cbiAgICAgICAgaWYgKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpIHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXREb2N1bWVudERlZmluaXRpb25OYW1lKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRvY3VtZW50SWQpIHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXREb2N1bWVudElkKGRvY3VtZW50SWQpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldE92ZXJyaWRlT3B0aW9ucyhjb25maWc6IFZhbHRpbW9Db25maWcpOiB2b2lkIHtcbiAgICBpZiAoIWNvbmZpZy5mb3JtaW9PcHRpb25zKSByZXR1cm47XG5cbiAgICB0aGlzLl9vdmVycmlkZU9wdGlvbnMkLm5leHQoY29uZmlnLmZvcm1pb09wdGlvbnMpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgY3VycmVudExhbmd1YWdlOiBjdXJyZW50TGFuZ3VhZ2UkIHwgYXN5bmMsXG4gICAgZm9ybWlvT3B0aW9uczogZm9ybWlvT3B0aW9ucyQgfCBhc3luYyxcbiAgICBzdWJtaXNzaW9uOiBzdWJtaXNzaW9uJCB8IGFzeW5jLFxuICAgIHJlYWRPbmx5OiByZWFkT25seSQgfCBhc3luYyxcbiAgICBmb3JtOiBmb3JtJCB8IGFzeW5jLFxuICAgIGVycm9yczogZXJyb3JzJCB8IGFzeW5jLFxuICAgIHRva2VuU2V0SW5Mb2NhbFN0b3JhZ2U6IHRva2VuU2V0SW5Mb2NhbFN0b3JhZ2UkIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPGRpdiAqbmdJZj1cIm9icy5lcnJvcnMubGVuZ3RoID4gMFwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyIHB0LTUgcGItNSBtYi0yXCI+XG4gICAgPG9sPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBvYnMuZXJyb3JzXCI+XG4gICAgICAgIHt7IGVycm9yIH19XG4gICAgICA8L2xpPlxuICAgIDwvb2w+XG4gIDwvZGl2PlxuXG4gIDxmb3JtaW9cbiAgICAqbmdJZj1cIm9icy5mb3JtaW9PcHRpb25zICYmIG9icy5mb3JtICYmIG9icy50b2tlblNldEluTG9jYWxTdG9yYWdlXCJcbiAgICBbZm9ybV09XCJvYnMuZm9ybVwiXG4gICAgW2xhbmd1YWdlXT1cImxhbmd1YWdlRXZlbnRFbWl0dGVyXCJcbiAgICBbb3B0aW9uc109XCJvYnMuZm9ybWlvT3B0aW9uc1wiXG4gICAgW3JlYWRPbmx5XT1cIm9icy5yZWFkT25seVwiXG4gICAgW3JlZnJlc2hdPVwicmVmcmVzaEZvcm1cIlxuICAgIFtzdWJtaXNzaW9uXT1cIm9icy5zdWJtaXNzaW9uXCJcbiAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgIChuZXh0UGFnZSk9XCJuZXh0UGFnZSgpXCJcbiAgICAocHJldlBhZ2UpPVwicHJldlBhZ2UoKVwiXG4gICAgKHJlYWR5KT1cImZvcm1SZWFkeSgkZXZlbnQpXCJcbiAgICAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIlxuICA+PC9mb3JtaW8+XG48L2Rpdj5cbiJdfQ==
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW8vZm9ybS1pby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0taW8vZm9ybS1pby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFDTCxNQUFNLEdBTVAsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUF1QixZQUFZLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV2QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDOzs7Ozs7Ozs7Ozs7QUFRL0IsTUFBTSxPQUFPLGVBQWU7SUFDMUIsSUFBYSxPQUFPLENBQUMsWUFBa0M7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNE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O3NCQUFwQixLQUFLO2dCQUdJLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUdDLGtCQUFrQjtzQkFEekIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtWYWx0aW1vRm9ybWlvT3B0aW9uc30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7VmFsdGltb01vZGFsU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFsdGltby1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7VXNlclByb3ZpZGVyU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vc2VjdXJpdHknO1xuaW1wb3J0IHtcbiAgRm9ybWlvLFxuICBGb3JtaW9Db21wb25lbnQgYXMgRm9ybUlvU291cmNlQ29tcG9uZW50LFxuICBGb3JtaW9Gb3JtLFxuICBGb3JtaW9PcHRpb25zLFxuICBGb3JtaW9SZWZyZXNoVmFsdWUsXG4gIEZvcm1pb1N1Ym1pc3Npb24sXG59IGZyb20gJ0Bmb3JtaW8vYW5ndWxhcic7XG5pbXBvcnQge2p3dERlY29kZX0gZnJvbSAnand0LWRlY29kZSc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Rm9ybUlvU3RhdGVTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm0taW8tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Rm9ybUlvTG9jYWxTdG9yYWdlU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWlvLWxvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQge2RlZXBtZXJnZX0gZnJvbSAnZGVlcG1lcmdlLXRzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZSwgVmFsdGltb0NvbmZpZ30gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7aXNFcXVhbH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1mb3JtLWlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWlvLmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbRm9ybUlvTG9jYWxTdG9yYWdlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1pb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zVmFsdWU6IFZhbHRpbW9Gb3JtaW9PcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zJC5uZXh0KG9wdGlvbnNWYWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHN1Ym1pc3Npb24oc3VibWlzc2lvblZhbHVlOiBGb3JtaW9TdWJtaXNzaW9uKSB7XG4gICAgdGhpcy5zdWJtaXNzaW9uJC5uZXh0KHN1Ym1pc3Npb25WYWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGZvcm0oZm9ybVZhbHVlOiBGb3JtaW9Gb3JtKSB7XG4gICAgdGhpcy5fZm9ybSQubmV4dChmb3JtVmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHNldCByZWFkT25seShyZWFkT25seVZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yZWFkT25seSQubmV4dChyZWFkT25seVZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBmb3JtUmVmcmVzaCQhOiBTdWJqZWN0PEZvcm1pb1JlZnJlc2hWYWx1ZT47XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBzdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlQmVmb3JlVW5sb2FkKCkge1xuICAgIHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5jbGVhclRva2VuRnJvbUxvY2FsU3RvcmFnZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2hGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtaW9SZWZyZXNoVmFsdWU+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN1Ym1pc3Npb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtaW9TdWJtaXNzaW9uPih7fSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1pb0Zvcm0+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyByZWFkb25seSBmb3JtJCA9IHRoaXMuX2Zvcm0kLnBpcGUoXG4gICAgZmlsdGVyKGZvcm0gPT4gISFmb3JtKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gaXNFcXVhbChwcmV2LCBjdXJyKSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbHRpbW9Gb3JtaW9PcHRpb25zPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVhZE9ubHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBlcnJvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxzdHJpbmc+PihbXSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxhbmd1YWdlRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRMYW5ndWFnZSQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKS5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFwKGxhbmd1YWdlID0+IHRoaXMubGFuZ3VhZ2VFdmVudEVtaXR0ZXIuZW1pdChsYW5ndWFnZSkpXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb3ZlcnJpZGVPcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybWlvT3B0aW9ucz4oe30pO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtaW9PcHRpb25zJDogT2JzZXJ2YWJsZTxWYWx0aW1vRm9ybWlvT3B0aW9ucyB8IEZvcm1pb09wdGlvbnM+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5vcHRpb25zJCxcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSQsXG4gICAgdGhpcy5fb3ZlcnJpZGVPcHRpb25zJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtvcHRpb25zLCBsYW5ndWFnZSwgb3ZlcnJpZGVPcHRpb25zXSkgPT4ge1xuICAgICAgY29uc3QgZm9ybWlvVHJhbnNsYXRpb25zID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2Zvcm1pb1RyYW5zbGF0aW9ucycpO1xuXG4gICAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgLi4uKGZvcm1pb1RyYW5zbGF0aW9ucyA9PT0gJ29iamVjdCcgJiYge1xuICAgICAgICAgIGkxOG46IHtcbiAgICAgICAgICAgIFtsYW5ndWFnZV06IHRoaXMuc3RhdGVTZXJ2aWNlLmZsYXR0ZW5UcmFuc2xhdGlvbnNPYmplY3QoZm9ybWlvVHJhbnNsYXRpb25zKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBkZWVwbWVyZ2UoZGVmYXVsdE9wdGlvbnMsIG92ZXJyaWRlT3B0aW9ucyk7XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IGlzRXF1YWwocHJldiwgY3VycikpLFxuICAgIHRhcChvcHRpb25zID0+IHRoaXMubG9nZ2VyLmRlYnVnKCdGb3JtLklPIG9wdGlvbnMgdXNlZCcsIG9wdGlvbnMpKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSB0b2tlblNldEluTG9jYWxTdG9yYWdlJCA9IHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS50b2tlblNldEluTG9jYWxTdG9yYWdlJDtcblxuICBwcml2YXRlIF90b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfZm9ybVJlZnJlc2hTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdG9rZW5UaW1lclN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQcm92aWRlclNlcnZpY2U6IFVzZXJQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IE5HWExvZ2dlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogRm9ybUlvU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZVNlcnZpY2U6IEZvcm1Jb0xvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IFZhbHRpbW9Nb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2V0T3ZlcnJpZGVPcHRpb25zKGNvbmZpZ1NlcnZpY2UuY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBGb3JtaW8uc2V0UHJvamVjdFVybChsb2NhdGlvbi5vcmlnaW4pO1xuICAgIEZvcm1pby5hdXRoVXJsID0gbG9jYXRpb24ub3JpZ2luO1xuXG4gICAgdGhpcy5vcGVuUm91dGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmVycm9ycyQubmV4dChbXSk7XG4gICAgdGhpcy5zZXRJbml0aWFsVG9rZW4oKTtcbiAgICB0aGlzLnN1YnNjcmliZUZvcm1SZWZyZXNoKCk7XG4gICAgdGhpcy5vcGVuUmVsb2FkRm9ybVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblJlbG9hZFN1Ym1pc3Npb25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LmZvcm1EZWZpbml0aW9uUmVmcmVzaCQpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpO1xuICAgICAgdGhpcy5zdWJzY3JpYmVGb3JtUmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRm9ybVJlZnJlc2goKTtcbiAgICB0aGlzLl90b2tlblJlZnJlc2hUaW1lclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmNsZWFyVG9rZW5Gcm9tTG9jYWxTdG9yYWdlKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0Vycm9ycyhlcnJvcnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvcnMkLm5leHQoZXJyb3JzKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdChzdWJtaXNzaW9uOiBGb3JtaW9TdWJtaXNzaW9uKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvcnMkLm5leHQoW10pO1xuICAgIHRoaXMuc3VibWl0LmVtaXQoc3VibWlzc2lvbik7XG4gIH1cblxuICBwdWJsaWMgZm9ybVJlYWR5KGZvcm06IEZvcm1Jb1NvdXJjZUNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmN1cnJlbnRGb3JtID0gZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZShvYmplY3Q6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQob2JqZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkN1c3RvbUV2ZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG5leHRQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5SZWxvYWRGb3JtU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5mb3JtJC5zdWJzY3JpYmUoZm9ybSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaEZvcm0uZW1pdCh7XG4gICAgICAgICAgZm9ybSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5SZWxvYWRTdWJtaXNzaW9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zdWJtaXNzaW9uJC5zdWJzY3JpYmUoc3VibWlzc2lvbiA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaEZvcm0uZW1pdCh7XG4gICAgICAgICAgc3VibWlzc2lvbixcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNjcm9sbFRvVG9wKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLnNjcm9sbFRvVG9wKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEluaXRpYWxUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UuZ2V0VG9rZW4oKS50aGVuKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnNldFRva2VuKHRva2VuKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIEZvcm1pby5zZXRVc2VyKGp3dERlY29kZSh0b2tlbikpO1xuICAgIEZvcm1pby5zZXRUb2tlbih0b2tlbik7XG4gICAgdGhpcy5zZXRUaW1lckZvclRva2VuUmVmcmVzaCh0b2tlbik7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldFRva2VuSW5Mb2NhbFN0b3JhZ2UodG9rZW4pO1xuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ05ldyB0b2tlbiBzZXQgZm9yIGZvcm0uaW8uJyk7XG4gIH1cblxuICBwcml2YXRlIHNldFRpbWVyRm9yVG9rZW5SZWZyZXNoKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbkV4cCA9IGp3dERlY29kZSh0b2tlbikuZXhwICogMTAwMDtcbiAgICBjb25zdCBleHBpcnlUaW1lID0gdG9rZW5FeHAgLSBEYXRlLm5vdygpIC0gMTAwMDtcblxuICAgIHRoaXMuX3Rva2VuVGltZXJTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGltZXIoZXhwaXJ5VGltZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudXNlclByb3ZpZGVyU2VydmljZS51cGRhdGVUb2tlbigtMSkpLFxuICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UuZ2V0VG9rZW4oKSksXG4gICAgICAgICAgdGFrZSgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlZnJlc2hlZFRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLnNldFRva2VuKHJlZnJlc2hlZFRva2VuKTtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFRpbWVyIGZvciBmb3JtLmlvIHRva2VuIHJlZnJlc2ggc2V0IGZvcjogJHtleHBpcnlUaW1lfW1zLmApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVGb3JtUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtUmVmcmVzaCQpIHtcbiAgICAgIHRoaXMuX2Zvcm1SZWZyZXNoU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtUmVmcmVzaCQuc3Vic2NyaWJlKHJlZnJlc2hWYWx1ZSA9PiB7XG4gICAgICAgIGlmIChyZWZyZXNoVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hGb3JtLmVtaXQocmVmcmVzaFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUZvcm1SZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9mb3JtUmVmcmVzaFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fZm9ybVJlZnJlc2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5Sb3V0ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICBjb25zdCBkb2N1bWVudERlZmluaXRpb25OYW1lID0gcGFyYW1zLmRvY3VtZW50RGVmaW5pdGlvbk5hbWU7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50SWQgPSBwYXJhbXMuZG9jdW1lbnRJZDtcblxuICAgICAgICBpZiAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSkge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldERvY3VtZW50RGVmaW5pdGlvbk5hbWUoZG9jdW1lbnREZWZpbml0aW9uTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZG9jdW1lbnRJZCkge1xuICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldERvY3VtZW50SWQoZG9jdW1lbnRJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3ZlcnJpZGVPcHRpb25zKGNvbmZpZzogVmFsdGltb0NvbmZpZyk6IHZvaWQge1xuICAgIGlmICghY29uZmlnLmZvcm1pb09wdGlvbnMpIHJldHVybjtcblxuICAgIHRoaXMuX292ZXJyaWRlT3B0aW9ucyQubmV4dChjb25maWcuZm9ybWlvT3B0aW9ucyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICAqbmdJZj1cIntcbiAgICBjdXJyZW50TGFuZ3VhZ2U6IGN1cnJlbnRMYW5ndWFnZSQgfCBhc3luYyxcbiAgICBmb3JtaW9PcHRpb25zOiBmb3JtaW9PcHRpb25zJCB8IGFzeW5jLFxuICAgIHN1Ym1pc3Npb246IHN1Ym1pc3Npb24kIHwgYXN5bmMsXG4gICAgcmVhZE9ubHk6IHJlYWRPbmx5JCB8IGFzeW5jLFxuICAgIGZvcm06IGZvcm0kIHwgYXN5bmMsXG4gICAgZXJyb3JzOiBlcnJvcnMkIHwgYXN5bmMsXG4gICAgdG9rZW5TZXRJbkxvY2FsU3RvcmFnZTogdG9rZW5TZXRJbkxvY2FsU3RvcmFnZSQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8ZGl2ICpuZ0lmPVwib2JzLmVycm9ycy5sZW5ndGggPiAwXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXIgcHQtNSBwYi01IG1iLTJcIj5cbiAgICA8b2w+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yIG9mIG9icy5lcnJvcnNcIj5cbiAgICAgICAge3sgZXJyb3IgfX1cbiAgICAgIDwvbGk+XG4gICAgPC9vbD5cbiAgPC9kaXY+XG5cbiAgPGZvcm1pb1xuICAgICpuZ0lmPVwib2JzLmZvcm1pb09wdGlvbnMgJiYgb2JzLmZvcm0gJiYgb2JzLnRva2VuU2V0SW5Mb2NhbFN0b3JhZ2VcIlxuICAgIFtmb3JtXT1cIm9icy5mb3JtXCJcbiAgICBbbGFuZ3VhZ2VdPVwibGFuZ3VhZ2VFdmVudEVtaXR0ZXJcIlxuICAgIFtvcHRpb25zXT1cIm9icy5mb3JtaW9PcHRpb25zXCJcbiAgICBbcmVhZE9ubHldPVwib2JzLnJlYWRPbmx5XCJcbiAgICBbcmVmcmVzaF09XCJyZWZyZXNoRm9ybVwiXG4gICAgW3N1Ym1pc3Npb25dPVwib2JzLnN1Ym1pc3Npb25cIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgKG5leHRQYWdlKT1cIm5leHRQYWdlKClcIlxuICAgIChwcmV2UGFnZSk9XCJwcmV2UGFnZSgpXCJcbiAgICAocmVhZHkpPVwiZm9ybVJlYWR5KCRldmVudClcIlxuICAgIChzdWJtaXQpPVwib25TdWJtaXQoJGV2ZW50KVwiXG4gICAgKGN1c3RvbUV2ZW50KT1cIm9uQ3VzdG9tRXZlbnQoJGV2ZW50KVwiXG4gID48L2Zvcm1pbz5cbjwvZGl2PlxuIl19