UNPKG

truly-ui

Version:

Web Components for Desktop Applications.

104 lines (102 loc) 17.1 kB
import { __decorate } from "tslib"; /* MIT License Copyright (c) 2019 Temainfo Software Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import { Component, HostBinding, ViewChild } from '@angular/core'; import { animate, style, transition, trigger } from '@angular/animations'; import { DialogDefaultBehavior } from '../dialog-default-behavior'; import { Modal } from '../../modal/interfaces/modal-options'; import { TlButton } from '../../button/button'; import * as i0 from "@angular/core"; import * as i1 from "../../i18n/i18n.service"; import * as i2 from "@angular/common"; import * as i3 from "../../modal/directives/modal-result.directive"; import * as i4 from "../../button/button"; import * as i5 from "../../icons/icons"; let TlDialogError = class TlDialogError extends DialogDefaultBehavior { get textOk() { return this.i18n.getLocale().Dialog.textOk; } get exceptionBoxDescription() { return this.i18n.getLocale().Dialog.exceptionBoxDescription; } constructor(i18n) { super(); this.i18n = i18n; this.message = ''; this.exceptionName = ''; this.exceptionMessage = ''; } ngOnInit() { this.button.setFocus(); } open(value) { this.errorlog = !value; } }; /** @nocollapse */ TlDialogError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TlDialogError, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ TlDialogError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TlDialogError, selector: "tl-dialog-error", host: { properties: { "@enterAnimation": "this.animation" } }, viewQueries: [{ propertyName: "button", first: true, predicate: TlButton, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"content-dialog\" (keydown)=\"onKeyDown($event)\">\n <div class=\"form\">\n <p [innerHTML]=\"message\"></p>\n </div>\n <div class=\"controls\">\n <tl-button [text]=\"textOk\"\n mdResult=\"MROK\"\n [color]=\"'basic'\"\n [iconAddonBefore]=\"'ion ion-md-close'\">\n </tl-button>\n </div>\n <div title=\"Show More\" class=\"arrow-log-error\" (click)=\"open(errorlog)\" >\n <tl-icon [lib]=\"'ion'\" [style]=\"'ios'\" [icon]=\"(errorlog) ? 'ion ion-ios-arrow-up' : 'ion ion-ios-arrow-down'\"></tl-icon>\n </div>\n <div [@enterAnimation]=\"errorlog\" *ngIf=\"errorlog\" class=\"error-log\">\n <pre>{{exceptionBoxDescription}}: {{exceptionName}}</pre>\n <code *ngIf=\"exceptionMessage\">\n {{exceptionMessage}}\n </code>\n </div>\n</div>\n", styles: [".content-dialog{position:relative;margin:0 auto;min-height:140px;min-width:400px;max-width:60vw}.content-dialog>.form{padding:23px;text-align:center}.content-dialog>.form>p{font-family:Segoe UI,Lato,\"sans-serif\",Arial;font-size:1em;font-weight:400;line-height:1.5em;word-wrap:break-word;word-break:break-word}.content-dialog>.header-controls{position:absolute;bottom:0;margin-bottom:20px;float:left;width:100%;display:flex;justify-content:center}\n", ".form{padding:30px;text-align:center}.controls{text-align:center;padding:0 10px 20px;width:100%;display:flex;justify-content:center}.arrow-log-error{text-align:center;margin:0 auto;border-bottom:0;padding:2px;width:70px;-webkit-border-radius:7px 7px 0 0}.arrow-log-error span{padding:10px}.arrow-log-error:hover{cursor:pointer}.error-log{padding:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ModalResultDirective, selector: "[mdResult]", inputs: ["mdResult", "formResult"] }, { kind: "component", type: i4.TlButton, selector: "tl-button", inputs: ["text", "iconAddonBefore", "iconAddonAfter", "iconBeforeText", "iconAfterText", "height", "width", "disabled", "flatBorder", "colorIconBefore", "colorIconAfter", "template", "outline", "color", "loaderColor", "isLoading", "indexShortcut", "textLoading"], outputs: ["selected"] }, { kind: "component", type: i5.TlIcons, selector: "tl-icon", inputs: ["icon", "lib", "style", "size", "animation", "color", "align"] }], animations: [ trigger('enterAnimation', [ transition(':enter', [ style({ opacity: 0 }), animate('200ms', style({ opacity: 1 })) ]), transition(':leave', [ style({ opacity: 1 }), animate('200ms', style({ opacity: 0 })) ]) ]) ] }); TlDialogError = __decorate([ Modal({ icon: 'fas fa-times-circle', title: 'Error', color: 'danger', width: '400px', height: 'auto', draggable: true, maximizable: false, minimizable: false, backdrop: true, closeOnOK: true }) ], TlDialogError); export { TlDialogError }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TlDialogError, decorators: [{ type: Component, args: [{ selector: 'tl-dialog-error', animations: [ trigger('enterAnimation', [ transition(':enter', [ style({ opacity: 0 }), animate('200ms', style({ opacity: 1 })) ]), transition(':leave', [ style({ opacity: 1 }), animate('200ms', style({ opacity: 0 })) ]) ]) ], template: "<div class=\"content-dialog\" (keydown)=\"onKeyDown($event)\">\n <div class=\"form\">\n <p [innerHTML]=\"message\"></p>\n </div>\n <div class=\"controls\">\n <tl-button [text]=\"textOk\"\n mdResult=\"MROK\"\n [color]=\"'basic'\"\n [iconAddonBefore]=\"'ion ion-md-close'\">\n </tl-button>\n </div>\n <div title=\"Show More\" class=\"arrow-log-error\" (click)=\"open(errorlog)\" >\n <tl-icon [lib]=\"'ion'\" [style]=\"'ios'\" [icon]=\"(errorlog) ? 'ion ion-ios-arrow-up' : 'ion ion-ios-arrow-down'\"></tl-icon>\n </div>\n <div [@enterAnimation]=\"errorlog\" *ngIf=\"errorlog\" class=\"error-log\">\n <pre>{{exceptionBoxDescription}}: {{exceptionName}}</pre>\n <code *ngIf=\"exceptionMessage\">\n {{exceptionMessage}}\n </code>\n </div>\n</div>\n", styles: [".content-dialog{position:relative;margin:0 auto;min-height:140px;min-width:400px;max-width:60vw}.content-dialog>.form{padding:23px;text-align:center}.content-dialog>.form>p{font-family:Segoe UI,Lato,\"sans-serif\",Arial;font-size:1em;font-weight:400;line-height:1.5em;word-wrap:break-word;word-break:break-word}.content-dialog>.header-controls{position:absolute;bottom:0;margin-bottom:20px;float:left;width:100%;display:flex;justify-content:center}\n", ".form{padding:30px;text-align:center}.controls{text-align:center;padding:0 10px 20px;width:100%;display:flex;justify-content:center}.arrow-log-error{text-align:center;margin:0 auto;border-bottom:0;padding:2px;width:70px;-webkit-border-radius:7px 7px 0 0}.arrow-log-error span{padding:10px}.arrow-log-error:hover{cursor:pointer}.error-log{padding:10px}\n"] }] }], ctorParameters: function () { return [{ type: i1.I18nService }]; }, propDecorators: { button: [{ type: ViewChild, args: [TlButton, { static: true }] }], animation: [{ type: HostBinding, args: ['@enterAnimation'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1bHktdWkvc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy1lcnJvci9kaWFsb2ctZXJyb3IudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnVseS11aS9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLWVycm9yL2RpYWxvZy1lcnJvci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFpQ3hDLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWMsU0FBUSxxQkFBcUI7SUFRcEQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7SUFDOUQsQ0FBQztJQVFELFlBQXFCLElBQWlCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQXBCdEMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUViLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRW5CLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztJQWtCdEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSztRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7OEhBaENRLGFBQWE7a0hBQWIsYUFBYSw4SkFnQlYsUUFBUSxxRkMzRXhCLGczQkFxQkEsZ2hERHVCZ0I7UUFDUixPQUFPLENBQ0gsZ0JBQWdCLEVBQUU7WUFDZCxVQUFVLENBQUUsUUFBUSxFQUFFO2dCQUNsQixLQUFLLENBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUU7Z0JBQ3ZCLE9BQU8sQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFFLENBQUU7YUFDOUMsQ0FBRTtZQUNILFVBQVUsQ0FBRSxRQUFRLEVBQUU7Z0JBQ2xCLEtBQUssQ0FBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBRTtnQkFDdkIsT0FBTyxDQUFFLE9BQU8sRUFBRSxLQUFLLENBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUUsQ0FBRTthQUM5QyxDQUFFO1NBQ04sQ0FDSjtLQUNKO0FBRVEsYUFBYTtJQS9CekIsS0FBSyxDQUFDO1FBQ0wsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixLQUFLLEVBQUUsT0FBTztRQUNkLEtBQUssRUFBRSxRQUFRO1FBQ2YsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUUsTUFBTTtRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLEtBQUs7UUFDbEIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsUUFBUSxFQUFFLElBQUk7UUFDZCxTQUFTLEVBQUUsSUFBSTtLQUNoQixDQUFDO0dBb0JXLGFBQWEsQ0FpQ3pCO1NBakNZLGFBQWE7NEZBQWIsYUFBYTtrQkFuQnpCLFNBQVM7K0JBQ0ksaUJBQWlCLGNBR2Y7d0JBQ1IsT0FBTyxDQUNILGdCQUFnQixFQUFFOzRCQUNkLFVBQVUsQ0FBRSxRQUFRLEVBQUU7Z0NBQ2xCLEtBQUssQ0FBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBRTtnQ0FDdkIsT0FBTyxDQUFFLE9BQU8sRUFBRSxLQUFLLENBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUUsQ0FBRTs2QkFDOUMsQ0FBRTs0QkFDSCxVQUFVLENBQUUsUUFBUSxFQUFFO2dDQUNsQixLQUFLLENBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUU7Z0NBQ3ZCLE9BQU8sQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFFLENBQUU7NkJBQzlDLENBQUU7eUJBQ04sQ0FDSjtxQkFDSjtrR0FrQnVDLE1BQU07c0JBQTdDLFNBQVM7dUJBQUUsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFFSyxTQUFTO3NCQUFqRCxXQUFXO3VCQUFFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gTUlUIExpY2Vuc2VcblxuIENvcHlyaWdodCAoYykgMjAxOSBUZW1haW5mbyBTb2Z0d2FyZVxuXG4gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ0RlZmF1bHRCZWhhdmlvciB9IGZyb20gJy4uL2RpYWxvZy1kZWZhdWx0LWJlaGF2aW9yJztcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnLi4vLi4vbW9kYWwvaW50ZXJmYWNlcy9tb2RhbC1vcHRpb25zJztcbmltcG9ydCB7IFRsQnV0dG9uIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbic7XG5cbkBNb2RhbCh7XG4gIGljb246ICdmYXMgZmEtdGltZXMtY2lyY2xlJyxcbiAgdGl0bGU6ICdFcnJvcicsXG4gIGNvbG9yOiAnZGFuZ2VyJyxcbiAgd2lkdGg6ICc0MDBweCcsXG4gIGhlaWdodDogJ2F1dG8nLFxuICBkcmFnZ2FibGU6IHRydWUsXG4gIG1heGltaXphYmxlOiBmYWxzZSxcbiAgbWluaW1pemFibGU6IGZhbHNlLFxuICBiYWNrZHJvcDogdHJ1ZSxcbiAgY2xvc2VPbk9LOiB0cnVlXG59KVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0bC1kaWFsb2ctZXJyb3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctZXJyb3IuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4uL2RpYWxvZy5zY3NzJywgJy4vZGlhbG9nLWVycm9yLnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoXG4gICAgICAgICAgICAnZW50ZXJBbmltYXRpb24nLCBbXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbiggJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoIHsgb3BhY2l0eTogMCB9ICksXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoICcyMDBtcycsIHN0eWxlKCB7IG9wYWNpdHk6IDEgfSApIClcbiAgICAgICAgICAgICAgICBdICksXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbiggJzpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoIHsgb3BhY2l0eTogMSB9ICksXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoICcyMDBtcycsIHN0eWxlKCB7IG9wYWNpdHk6IDAgfSApIClcbiAgICAgICAgICAgICAgICBdIClcbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGxEaWFsb2dFcnJvciBleHRlbmRzIERpYWxvZ0RlZmF1bHRCZWhhdmlvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBtZXNzYWdlID0gJyc7XG5cbiAgICBleGNlcHRpb25OYW1lID0gJyc7XG5cbiAgICBleGNlcHRpb25NZXNzYWdlID0gJyc7XG5cbiAgICBnZXQgdGV4dE9rKCkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4bi5nZXRMb2NhbGUoKS5EaWFsb2cudGV4dE9rO1xuICAgIH1cblxuICAgIGdldCBleGNlcHRpb25Cb3hEZXNjcmlwdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLmkxOG4uZ2V0TG9jYWxlKCkuRGlhbG9nLmV4Y2VwdGlvbkJveERlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoIFRsQnV0dG9uLCB7c3RhdGljOiB0cnVlfSAgKSBidXR0b246IFRsQnV0dG9uO1xuXG4gICAgQEhvc3RCaW5kaW5nKCAnQGVudGVyQW5pbWF0aW9uJyApIHB1YmxpYyBhbmltYXRpb247XG5cbiAgICBwdWJsaWMgZXJyb3Jsb2c6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBpMThuOiBJMThuU2VydmljZSApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMuYnV0dG9uLnNldEZvY3VzKCk7XG4gICAgfVxuXG4gICAgb3Blbih2YWx1ZSkge1xuICAgICAgICB0aGlzLmVycm9ybG9nID0gIXZhbHVlO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250ZW50LWRpYWxvZ1wiIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm1cIj5cbiAgICAgIDxwIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPjwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udHJvbHNcIj5cbiAgICAgICAgPHRsLWJ1dHRvbiBbdGV4dF09XCJ0ZXh0T2tcIlxuICAgICAgICAgICAgICAgICAgIG1kUmVzdWx0PVwiTVJPS1wiXG4gICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidiYXNpYydcIlxuICAgICAgICAgICAgICAgICAgIFtpY29uQWRkb25CZWZvcmVdPVwiJ2lvbiBpb24tbWQtY2xvc2UnXCI+XG4gICAgICAgIDwvdGwtYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgdGl0bGU9XCJTaG93IE1vcmVcIiBjbGFzcz1cImFycm93LWxvZy1lcnJvclwiIChjbGljayk9XCJvcGVuKGVycm9ybG9nKVwiID5cbiAgICAgICAgPHRsLWljb24gW2xpYl09XCInaW9uJ1wiIFtzdHlsZV09XCInaW9zJ1wiIFtpY29uXT1cIihlcnJvcmxvZykgPyAnaW9uIGlvbi1pb3MtYXJyb3ctdXAnIDogJ2lvbiBpb24taW9zLWFycm93LWRvd24nXCI+PC90bC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW0BlbnRlckFuaW1hdGlvbl09XCJlcnJvcmxvZ1wiICpuZ0lmPVwiZXJyb3Jsb2dcIiBjbGFzcz1cImVycm9yLWxvZ1wiPlxuICAgICAgICA8cHJlPnt7ZXhjZXB0aW9uQm94RGVzY3JpcHRpb259fToge3tleGNlcHRpb25OYW1lfX08L3ByZT5cbiAgICAgICAgPGNvZGUgKm5nSWY9XCJleGNlcHRpb25NZXNzYWdlXCI+XG4gICAgICAgICAgIHt7ZXhjZXB0aW9uTWVzc2FnZX19XG4gICAgICAgIDwvY29kZT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19