ets-fe-ng-sdk 17.0.115 → 17.0.116

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.
@@ -78,11 +78,11 @@ export class FormErrorComponent {
78
78
  this.sub?.unsubscribe();
79
79
  }
80
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FormErrorComponent, deps: [{ token: i0.ElementRef }, { token: i1.UtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: FormErrorComponent, isStandalone: true, selector: "form-error", inputs: { lgGridNo: "lgGridNo", xxlGridNo: "xxlGridNo", _form: ["form", "_form"] }, ngImport: i0, template: "@if (errors?.length) {\n\n <div class=\"d-flex justify-content-end mt-2\">\n <app-btn text=\"Form Errors\" icon=\"info\" type=\"clear\" mclass=\"btn-outline-warning\" (mclick)=\"errCont.hidden=!errCont.hidden\" />\n </div>\n <div class=\"border rounded-10 p-3 mt-2\" #errCont [hidden]=\"true\">\n <div class=\"row row-cols-lg-{{lgGridNo}} row-cols-xxl-{{xxlGridNo}}\">\n @if (false) {\n<div class=\"col-lg-12 d-flex\">\n <div>\n <div class=\"pe-3\">{{'Form errors'|appTranslate|async}}</div>\n <!-- <hr class=\"my-0\"> -->\n </div>\n </div>\n}\n @for (item of errors; track item) {\n <div class=\" \">\n <app-validation-message [label]=\"item.label|titlecase\" [ignoreDirtiness]=\"true\"\n [control]=\"item.formControl\" />\n </div>\n}\n </div>\n </div>\n\n\n}", styles: [":host ::ng-deep .errormssg{color:#870000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: TranslatePipe, name: "appTranslate" }, { kind: "component", type: ValidationMessageComponent, selector: "app-validation-message", inputs: ["validationKey", "control", "input", "label", "minLength", "maxLength", "ignoreDirtiness", "customMessage"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }] }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: FormErrorComponent, isStandalone: true, selector: "form-error", inputs: { lgGridNo: "lgGridNo", xxlGridNo: "xxlGridNo", _form: ["form", "_form"] }, ngImport: i0, template: "@if (errors?.length) {\n <div class=\"d-flex justify-content-end mt-2\">\n <app-btn text=\"Form Errors\" icon=\"info\" type=\"clear\" mclass=\"btn-outline-warning\" (mclick)=\"errCont.hidden = !errCont.hidden\" />\n </div>\n <div class=\"border rounded-10 p-3 mt-2\" #errCont [hidden]=\"true\">\n <div class=\"row row-cols-lg-{{ lgGridNo }} row-cols-xxl-{{ xxlGridNo }}\">\n @if (false) {\n <div class=\"col-lg-12 d-flex\">\n <div>\n <div class=\"pe-3\">{{ 'Form errors' | appTranslate | async }}</div>\n <!-- <hr class=\"my-0\"> -->\n </div>\n </div>\n }\n @for (item of errors; track item) {\n <div class=\" \">\n <app-validation-message [label]=\"item.label | titlecase\" [ignoreDirtiness]=\"true\" [control]=\"item.formControl\" />\n </div>\n }\n </div>\n </div>\n}\n", styles: [":host ::ng-deep .errormssg{color:#870000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: TranslatePipe, name: "appTranslate" }, { kind: "component", type: ValidationMessageComponent, selector: "app-validation-message", inputs: ["validationKey", "control", "input", "label", "minLength", "maxLength", "ignoreDirtiness", "customMessage"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }] }); }
82
82
  }
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FormErrorComponent, decorators: [{
84
84
  type: Component,
85
- args: [{ selector: 'form-error', standalone: true, imports: [CommonModule, TranslatePipe, ValidationMessageComponent, BtnComponent], template: "@if (errors?.length) {\n\n <div class=\"d-flex justify-content-end mt-2\">\n <app-btn text=\"Form Errors\" icon=\"info\" type=\"clear\" mclass=\"btn-outline-warning\" (mclick)=\"errCont.hidden=!errCont.hidden\" />\n </div>\n <div class=\"border rounded-10 p-3 mt-2\" #errCont [hidden]=\"true\">\n <div class=\"row row-cols-lg-{{lgGridNo}} row-cols-xxl-{{xxlGridNo}}\">\n @if (false) {\n<div class=\"col-lg-12 d-flex\">\n <div>\n <div class=\"pe-3\">{{'Form errors'|appTranslate|async}}</div>\n <!-- <hr class=\"my-0\"> -->\n </div>\n </div>\n}\n @for (item of errors; track item) {\n <div class=\" \">\n <app-validation-message [label]=\"item.label|titlecase\" [ignoreDirtiness]=\"true\"\n [control]=\"item.formControl\" />\n </div>\n}\n </div>\n </div>\n\n\n}", styles: [":host ::ng-deep .errormssg{color:#870000}\n"] }]
85
+ args: [{ selector: 'form-error', standalone: true, imports: [CommonModule, TranslatePipe, ValidationMessageComponent, BtnComponent], template: "@if (errors?.length) {\n <div class=\"d-flex justify-content-end mt-2\">\n <app-btn text=\"Form Errors\" icon=\"info\" type=\"clear\" mclass=\"btn-outline-warning\" (mclick)=\"errCont.hidden = !errCont.hidden\" />\n </div>\n <div class=\"border rounded-10 p-3 mt-2\" #errCont [hidden]=\"true\">\n <div class=\"row row-cols-lg-{{ lgGridNo }} row-cols-xxl-{{ xxlGridNo }}\">\n @if (false) {\n <div class=\"col-lg-12 d-flex\">\n <div>\n <div class=\"pe-3\">{{ 'Form errors' | appTranslate | async }}</div>\n <!-- <hr class=\"my-0\"> -->\n </div>\n </div>\n }\n @for (item of errors; track item) {\n <div class=\" \">\n <app-validation-message [label]=\"item.label | titlecase\" [ignoreDirtiness]=\"true\" [control]=\"item.formControl\" />\n </div>\n }\n </div>\n </div>\n}\n", styles: [":host ::ng-deep .errormssg{color:#870000}\n"] }]
86
86
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.UtilityService }], propDecorators: { lgGridNo: [{
87
87
  type: Input
88
88
  }], xxlGridNo: [{
@@ -98,4 +98,4 @@ function hasError(control) {
98
98
  return true;
99
99
  return false;
100
100
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBbUIsU0FBUyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFTbkMsTUFBTSxPQUFPLGtCQUFrQjtJQU83QixJQUE4QyxLQUFLLENBQUMsQ0FBZ0I7UUFDbEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUs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ZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L3ZhbGlkYXRpb24tbWVzc2FnZS92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWVycm9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWVycm9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50LCBCdG5Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JDb21wb25lbnQge1xuICBlcnJvcnM6IHsgbWVzc2FnZT86IHN0cmluZzsgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDsgbGFiZWw6IHN0cmluZyB9W107XG4gIGZvcm06IEZvcm07XG4gIGZvcm1zOiBGb3JtW107XG4gIEBJbnB1dCgpIGxnR3JpZE5vOiBudW1iZXIgfCAnYXV0bycgPSAyO1xuICBASW5wdXQoKSB4eGxHcmlkTm86IG51bWJlciB8ICdhdXRvJyA9IDM7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnZm9ybScgfSkgc2V0IF9mb3JtKHY6IEZvcm0gfCBGb3JtW10pIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgdGhpcy5mb3JtcyA9IHY7XG4gICAgICB0aGlzLnN1YiA9IG1lcmdlKC4uLnYubWFwKChmKSA9PiBmLnN0YXR1c0NoYW5nZXMpKVxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNjAwKSlcbiAgICAgICAgLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgIGlmIChyID09ICdJTlZBTElEJyB8fCB2LnNvbWUoKGYpID0+IGYuc3RhdHVzID09ICdJTlZBTElEJykpXG4gICAgICAgICAgICB0aGlzLmVycm9ycyA9IHVuaXFCeShcbiAgICAgICAgICAgICAgdi5mbGF0TWFwKChmKSA9PiB0aGlzLmdldEVycm9yTWVzc2FnZXMoZikpLFxuICAgICAgICAgICAgICAnbWVzc2FnZScsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gY29uc29sZS5sb2cociwgdi5zdGF0dXMsIHRoaXMuZXJyb3JzKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybSA9IHY7XG4gICAgICB0aGlzLnN1YiA9IHYuc3RhdHVzQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg2MDApKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGlmIChyID09ICdJTlZBTElEJyB8fCB2LnN0YXR1cyA9PSAnSU5WQUxJRCcpIHRoaXMuZXJyb3JzID0gdGhpcy5nZXRFcnJvck1lc3NhZ2VzKHYpO1xuICAgICAgICBlbHNlIGlmICh2LnN0YXR1cyA9PSAnVkFMSUQnKSB7XG4gICAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhyLCB2LnN0YXR1cywgdGhpcy5lcnJvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwdWJsaWMgdVM6IFV0aWxpdHlTZXJ2aWNlLFxuICApIHt9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlcyhmb3JtOiBGb3JtIHwgQWJzdHJhY3RDb250cm9sLCBmb3JtTmFtZT86IHN0cmluZywgX2luZGV4PzogbnVtYmVyKTogdHlwZW9mIHRoaXMuZXJyb3JzIHtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBsZXQgbWVzc2FnZXM6IHR5cGVvZiB0aGlzLmVycm9ycyA9IFtdO1xuICAgIGlmIChoYXNFcnJvcihmb3JtKSkge1xuICAgICAgLy8gZGVidWdnZXI7XG4gICAgICBtZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgZm9ybUNvbnRyb2w6IGZvcm0sXG4gICAgICAgIGxhYmVsOlxuICAgICAgICAgIChfaW5kZXggPyBgSXRlbSAke19pbmRleH06IGAgOiAnJykgK1xuICAgICAgICAgIChmb3JtLmxhYmVsVmFsdWUgfHwgdGhpcy51Uy5mb3JtYXRGaWVsZChmb3JtTmFtZSkgfHwgZm9ybU5hbWU/LnRvU2VudGVuY2VDYXNlKCkpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKVxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybS5jb250cm9scykge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZvcm0uY29udHJvbHMsIGtleSkpIHtcbiAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybS5jb250cm9sc1trZXldO1xuICAgICAgICAgIG1lc3NhZ2VzLnB1c2goLi4udGhpcy5nZXRFcnJvck1lc3NhZ2VzKGNvbnRyb2wsIGtleSwgX2luZGV4KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBlbHNlIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUFycmF5KVxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZvcm0ubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW2luZGV4XTtcbiAgICAgICAgbWVzc2FnZXMucHVzaCguLi50aGlzLmdldEVycm9yTWVzc2FnZXMoY29udHJvbCwgbnVsbCwgaW5kZXggKyAxKSk7XG4gICAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzO1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIC8vIGNvbnNvbGUubG9nKCdtZXNzYWdlJywgdGhpcy5tZXNzYWdlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmVsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG50eXBlIEZvcm0gPSBGb3JtR3JvdXAgfCBGb3JtQ29udHJvbCB8IEZvcm1BcnJheTtcblxuZnVuY3Rpb24gaGFzRXJyb3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gIGlmICghY29udHJvbD8uZXJyb3JzKSByZXR1cm4gZmFsc2U7XG4gIGVsc2UgaWYgKE9iamVjdC5rZXlzKGNvbnRyb2wuZXJyb3JzKS5sZW5ndGgpIHJldHVybiB0cnVlO1xuICByZXR1cm4gZmFsc2U7XG59XG4iLCJAaWYgKGVycm9ycz8ubGVuZ3RoKSB7XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgbXQtMlwiPlxuICAgICAgICA8YXBwLWJ0biB0ZXh0PVwiRm9ybSBFcnJvcnNcIiBpY29uPVwiaW5mb1wiIHR5cGU9XCJjbGVhclwiIG1jbGFzcz1cImJ0bi1vdXRsaW5lLXdhcm5pbmdcIiAobWNsaWNrKT1cImVyckNvbnQuaGlkZGVuPSFlcnJDb250LmhpZGRlblwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvcmRlciByb3VuZGVkLTEwIHAtMyBtdC0yXCIgI2VyckNvbnQgW2hpZGRlbl09XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcm93LWNvbHMtbGcte3tsZ0dyaWROb319IHJvdy1jb2xzLXh4bC17e3h4bEdyaWROb319XCI+XG4gICAgICAgICAgICBAaWYgKGZhbHNlKSB7XG48ZGl2IGNsYXNzPVwiY29sLWxnLTEyIGQtZmxleFwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZS0zXCI+e3snRm9ybSBlcnJvcnMnfGFwcFRyYW5zbGF0ZXxhc3luY319PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGhyIGNsYXNzPVwibXktMFwiPiAtLT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxufVxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBlcnJvcnM7IHRyYWNrIGl0ZW0pIHtcbiAgPGRpdiBjbGFzcz1cIiBcIj5cbiAgICAgICAgICAgICAgICA8YXBwLXZhbGlkYXRpb24tbWVzc2FnZSBbbGFiZWxdPVwiaXRlbS5sYWJlbHx0aXRsZWNhc2VcIiBbaWdub3JlRGlydGluZXNzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY29udHJvbF09XCJpdGVtLmZvcm1Db250cm9sXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxufVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuXG59Il19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBbUIsU0FBUyxFQUFlLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFTbkMsTUFBTSxPQUFPLGtCQUFrQjtJQU83QixJQUE4QyxLQUFLLENBQUMsQ0FBZ0I7UUFDbEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUs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ZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L3ZhbGlkYXRpb24tbWVzc2FnZS92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWVycm9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWVycm9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50LCBCdG5Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JDb21wb25lbnQge1xuICBlcnJvcnM6IHsgbWVzc2FnZT86IHN0cmluZzsgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDsgbGFiZWw6IHN0cmluZyB9W107XG4gIGZvcm06IEZvcm07XG4gIGZvcm1zOiBGb3JtW107XG4gIEBJbnB1dCgpIGxnR3JpZE5vOiBudW1iZXIgfCAnYXV0bycgPSAyO1xuICBASW5wdXQoKSB4eGxHcmlkTm86IG51bWJlciB8ICdhdXRvJyA9IDM7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnZm9ybScgfSkgc2V0IF9mb3JtKHY6IEZvcm0gfCBGb3JtW10pIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgdGhpcy5mb3JtcyA9IHY7XG4gICAgICB0aGlzLnN1YiA9IG1lcmdlKC4uLnYubWFwKChmKSA9PiBmLnN0YXR1c0NoYW5nZXMpKVxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNjAwKSlcbiAgICAgICAgLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgIGlmIChyID09ICdJTlZBTElEJyB8fCB2LnNvbWUoKGYpID0+IGYuc3RhdHVzID09ICdJTlZBTElEJykpXG4gICAgICAgICAgICB0aGlzLmVycm9ycyA9IHVuaXFCeShcbiAgICAgICAgICAgICAgdi5mbGF0TWFwKChmKSA9PiB0aGlzLmdldEVycm9yTWVzc2FnZXMoZikpLFxuICAgICAgICAgICAgICAnbWVzc2FnZScsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gY29uc29sZS5sb2cociwgdi5zdGF0dXMsIHRoaXMuZXJyb3JzKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybSA9IHY7XG4gICAgICB0aGlzLnN1YiA9IHYuc3RhdHVzQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg2MDApKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGlmIChyID09ICdJTlZBTElEJyB8fCB2LnN0YXR1cyA9PSAnSU5WQUxJRCcpIHRoaXMuZXJyb3JzID0gdGhpcy5nZXRFcnJvck1lc3NhZ2VzKHYpO1xuICAgICAgICBlbHNlIGlmICh2LnN0YXR1cyA9PSAnVkFMSUQnKSB7XG4gICAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhyLCB2LnN0YXR1cywgdGhpcy5lcnJvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwdWJsaWMgdVM6IFV0aWxpdHlTZXJ2aWNlLFxuICApIHt9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlcyhmb3JtOiBGb3JtIHwgQWJzdHJhY3RDb250cm9sLCBmb3JtTmFtZT86IHN0cmluZywgX2luZGV4PzogbnVtYmVyKTogdHlwZW9mIHRoaXMuZXJyb3JzIHtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBsZXQgbWVzc2FnZXM6IHR5cGVvZiB0aGlzLmVycm9ycyA9IFtdO1xuICAgIGlmIChoYXNFcnJvcihmb3JtKSkge1xuICAgICAgLy8gZGVidWdnZXI7XG4gICAgICBtZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgZm9ybUNvbnRyb2w6IGZvcm0sXG4gICAgICAgIGxhYmVsOlxuICAgICAgICAgIChfaW5kZXggPyBgSXRlbSAke19pbmRleH06IGAgOiAnJykgK1xuICAgICAgICAgIChmb3JtLmxhYmVsVmFsdWUgfHwgdGhpcy51Uy5mb3JtYXRGaWVsZChmb3JtTmFtZSkgfHwgZm9ybU5hbWU/LnRvU2VudGVuY2VDYXNlKCkpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKVxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybS5jb250cm9scykge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZvcm0uY29udHJvbHMsIGtleSkpIHtcbiAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybS5jb250cm9sc1trZXldO1xuICAgICAgICAgIG1lc3NhZ2VzLnB1c2goLi4udGhpcy5nZXRFcnJvck1lc3NhZ2VzKGNvbnRyb2wsIGtleSwgX2luZGV4KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBlbHNlIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUFycmF5KVxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZvcm0ubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW2luZGV4XTtcbiAgICAgICAgbWVzc2FnZXMucHVzaCguLi50aGlzLmdldEVycm9yTWVzc2FnZXMoY29udHJvbCwgbnVsbCwgaW5kZXggKyAxKSk7XG4gICAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzO1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIC8vIGNvbnNvbGUubG9nKCdtZXNzYWdlJywgdGhpcy5tZXNzYWdlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmVsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG50eXBlIEZvcm0gPSBGb3JtR3JvdXAgfCBGb3JtQ29udHJvbCB8IEZvcm1BcnJheTtcblxuZnVuY3Rpb24gaGFzRXJyb3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gIGlmICghY29udHJvbD8uZXJyb3JzKSByZXR1cm4gZmFsc2U7XG4gIGVsc2UgaWYgKE9iamVjdC5rZXlzKGNvbnRyb2wuZXJyb3JzKS5sZW5ndGgpIHJldHVybiB0cnVlO1xuICByZXR1cm4gZmFsc2U7XG59XG4iLCJAaWYgKGVycm9ycz8ubGVuZ3RoKSB7XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yXCI+XG4gICAgPGFwcC1idG4gdGV4dD1cIkZvcm0gRXJyb3JzXCIgaWNvbj1cImluZm9cIiB0eXBlPVwiY2xlYXJcIiBtY2xhc3M9XCJidG4tb3V0bGluZS13YXJuaW5nXCIgKG1jbGljayk9XCJlcnJDb250LmhpZGRlbiA9ICFlcnJDb250LmhpZGRlblwiIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQtMTAgcC0zIG10LTJcIiAjZXJyQ29udCBbaGlkZGVuXT1cInRydWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IHJvdy1jb2xzLWxnLXt7IGxnR3JpZE5vIH19IHJvdy1jb2xzLXh4bC17eyB4eGxHcmlkTm8gfX1cIj5cbiAgICAgIEBpZiAoZmFsc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBkLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlLTNcIj57eyAnRm9ybSBlcnJvcnMnIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX08L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gPGhyIGNsYXNzPVwibXktMFwiPiAtLT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAZm9yIChpdGVtIG9mIGVycm9yczsgdHJhY2sgaXRlbSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiIFwiPlxuICAgICAgICAgIDxhcHAtdmFsaWRhdGlvbi1tZXNzYWdlIFtsYWJlbF09XCJpdGVtLmxhYmVsIHwgdGl0bGVjYXNlXCIgW2lnbm9yZURpcnRpbmVzc109XCJ0cnVlXCIgW2NvbnRyb2xdPVwiaXRlbS5mb3JtQ29udHJvbFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -56,7 +56,7 @@ export class DayHourMinInputComponent extends InputBasicComponent {
56
56
  });
57
57
  //2
58
58
  this.sub2 = this.control?.statusChanges.subscribe((r) => {
59
- if (this.debug)
59
+ if (this.debug())
60
60
  debugger;
61
61
  if (this.control.errors && (this.control.dirty || this.control.touched)) {
62
62
  this.subForm?.get('days').markAsDirty();
@@ -69,7 +69,7 @@ export class DayHourMinInputComponent extends InputBasicComponent {
69
69
  this.subForm?.get('mins').setErrors(this.control?.errors);
70
70
  });
71
71
  this.sub3 = this.subForm?.valueChanges.subscribe((r) => {
72
- if (this.debug)
72
+ if (this.debug())
73
73
  debugger;
74
74
  if (this.control?.pristine)
75
75
  this.control?.markAsDirty();
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
138
138
  }], mins: [{
139
139
  type: Input
140
140
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWhvdXItbWluLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9kYXktaG91ci1taW4taW5wdXQvZGF5LWhvdXItbWluLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9kYXktaG91ci1taW4taW5wdXQvZGF5LWhvdXItbWluLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFTdEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjtJQWlCL0QsSUFBZ0MsU0FBUyxDQUFDLENBQVU7UUFDbEQsNEJBQTRCO1FBQzVCLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUTtZQUFFLE9BQU87UUFDM0MsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQUUsSUFB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QyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELG9DQUFvQztRQUNwQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELG1DQUFtQztRQUNuQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELCtCQUErQjtJQUNqQyxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBdEhVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDhuQkNmckMsd2hFQWtFQSwwRERyRGtCLG1CQUFtQiw2UUFBRSxtQkFBbUI7OzJGQUU3Qyx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBR3RCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQzt3REFLaEQsTUFBTTtzQkFBZCxLQUFLO2dCQWMwQixTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLFVBQVU7Z0JBWUosSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5wdXRCYXNpY0NvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGF5LWhvdXItbWluLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RheS1ob3VyLW1pbi1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheS1ob3VyLW1pbi1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgSW5wdXRMYWJlbENvbXBvbmVudCwgSW5wdXRCYXNpY0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERheUhvdXJNaW5JbnB1dENvbXBvbmVudCBleHRlbmRzIElucHV0QmFzaWNDb21wb25lbnQge1xuICAvLyBASW5wdXQoKSBmb3JtYXQ6ICdobScgfCAnbScgfCAnZGhtJyA9ICdobSc7XG4gIG92ZXJyaWRlIGNsZWFyT25EaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBASW5wdXQoKSB0b01pbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3ViRm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAge1xuICAgICAgZGF5czogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgaG91cnM6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIG1pbnM6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICB9LFxuICAgIC8vIHRoaXMudmFsaWRhdGVGcm9tUGFyZW50LmJpbmQodGhpcylcbiAgKTtcbiAgc3ViMTogU3Vic2NyaXB0aW9uO1xuICBzdWIyOiBTdWJzY3JpcHRpb247XG4gIHN1YjM6IFN1YnNjcmlwdGlvbjtcbiAgdXBkYXRlU3ViRm9ybTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCdkaXNhYmxlZCcpIG92ZXJyaWRlIHNldCBfZGlzYWJsZWQodjogYm9vbGVhbikge1xuICAgIC8vIGlmICh0aGlzLmRlYnVnKSBkZWJ1Z2dlcjtcbiAgICBzdXBlci5fZGlzYWJsZWQgPSB2O1xuICAgIGlmICh0aGlzLmNvbnRyb2w/LnBhcmVudD8uZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAodikge1xuICAgICAgaWYgKHRoaXMuY2xlYXJPbkRpc2FibGUoKSkgdGhpcy5zdWJGb3JtPy5yZXNldCgpO1xuICAgICAgdGhpcy5zdWJGb3JtPy5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3ViRm9ybT8uZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IG1pbnModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuc3ViRm9ybS5wYXRjaFZhbHVlKHRoaXMudVMubWludXRlc1RvRGF5SG91ck1pbih2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyB1UyA9IGluamVjdChVdGlsaXR5U2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMudHlwZVNpZ25hbC51cGRhdGUoKHR5cGUpID0+IHR5cGUgfHwgJ251bWJlcicpO1xuXG4gICAgdGhpcy5zdWIxID0gdGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAvLyBpZiAodGhpcy5kZWJ1ZykgZGVidWdnZXI7XG4gICAgICBpZiAodGhpcy51cGRhdGVTdWJGb3JtKSB7XG4gICAgICAgIGlmIChyPy50b1N0cmluZygpLmluZGV4T2YoJzonKSA9PSAnLTEnKSB0aGlzLnN1YkZvcm0/LnBhdGNoVmFsdWUodGhpcy51Uy5taW51dGVzVG9EYXlIb3VyTWluKCtyKSk7XG4gICAgICB9IGVsc2UgdGhpcy51cGRhdGVTdWJGb3JtID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2w/LmRpc2FibGVkICYmIHRoaXMuc3ViRm9ybT8uZW5hYmxlZCkge1xuICAgICAgICB0aGlzLnN1YkZvcm0/LmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sPy5lbmFibGVkICYmIHRoaXMuc3ViRm9ybT8uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zdWJGb3JtLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vMlxuICAgIHRoaXMuc3ViMiA9IHRoaXMuY29udHJvbD8uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlYnVnKSBkZWJ1Z2dlcjtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuZXJyb3JzICYmICh0aGlzLmNvbnRyb2wuZGlydHkgfHwgdGhpcy5jb250cm9sLnRvdWNoZWQpKSB7XG4gICAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdkYXlzJykubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5zdWJGb3JtPy5nZXQoJ2hvdXJzJykubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5zdWJGb3JtPy5nZXQoJ21pbnMnKS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLnN1YkZvcm0/Lm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdkYXlzJykuc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdob3VycycpLnNldEVycm9ycyh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgICB0aGlzLnN1YkZvcm0/LmdldCgnbWlucycpLnNldEVycm9ycyh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YjMgPSB0aGlzLnN1YkZvcm0/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlYnVnKSBkZWJ1Z2dlcjtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2w/LnByaXN0aW5lKSB0aGlzLmNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gICAgICBpZiAoIXRoaXMuY29udHJvbD8uZGlzYWJsZWQpIHtcbiAgICAgICAgY29uc3QgdGltZSA9IHRoaXMudG9NaW5zXG4gICAgICAgICAgPyB0aGlzLnVTLmRheUhvdXJNaW5Ub01pbnV0ZXMocj8uZGF5cywgcj8uaG91cnMsIHBhcnNlSW50KHI/Lm1pbnMgfHwgMCkpXG4gICAgICAgICAgOiB0aGlzLnVTLmRheUhvdXJNaW5Ub0hvdXJNaW51dGVzKHI/LmRheXMsIHI/LmhvdXJzLCByPy5taW5zKTtcbiAgICAgICAgdGhpcy51cGRhdGVTdWJGb3JtID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnRvTWlucykgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKHRpbWUgPT0gJzAnID8gbnVsbCA6IHRpbWUpO1xuICAgICAgICBlbHNlIHRoaXMuY29udHJvbD8ucGF0Y2hWYWx1ZSh0aW1lID09ICcwMDowMCcgPyBudWxsIDogdGltZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBhc3luYyBpc1BhcmVudFZhbGlkKCkge1xuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzKSA9PiB7XG4gIC8vICAgICBpZiAodGhpcy5zdWJGb3JtPy5wcmlzdGluZSkgcmVzKG51bGwpO1xuICAvLyAgICAgZWxzZSB7XG4gIC8vICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAvLyAgICAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdkYXlzJykuc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgLy8gICAgICAgICB0aGlzLnN1YkZvcm0/LmdldCgnaG91cnMnKS5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMpO1xuICAvLyAgICAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdtaW5zJykuc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgLy8gICAgICAgICBjb25zdCBlcnIgPSB0aGlzLmNvbnRyb2w/LmVycm9ycztcbiAgLy8gICAgICAgICByZXMoZXJyKTtcbiAgLy8gICAgICAgfSwgMTAwKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcbiAgLy8gfVxuICB2YWxpZGF0ZUZyb21QYXJlbnQoZm9ybTogRm9ybUdyb3VwKSB7XG4gICAgLy8gZGVidWdnZXJcbiAgICBjb25zdCBjb250cm9sczogeyBbeDogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gPSB7XG4gICAgICBkYXlzOiBmb3JtLmdldCgnZGF5cycpLFxuICAgICAgaG91cnM6IGZvcm0uZ2V0KCdob3VycycpLFxuICAgICAgbWluczogZm9ybS5nZXQoJ21pbnMnKSxcbiAgICB9O1xuICAgIGlmIChjb250cm9scy5kYXlzLnZhbHVlIHx8IGNvbnRyb2xzLmhvdXJzLnZhbHVlIHx8IGNvbnRyb2xzLm1pbnMudmFsdWUpIHtcbiAgICAgIGNvbnRyb2xzLmRheXMubWFya0FzRGlydHkoKTtcbiAgICAgIGNvbnRyb2xzLmhvdXJzLm1hcmtBc0RpcnR5KCk7XG4gICAgICBjb250cm9scy5taW5zLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICAgIC8vIGZvcm0/LmdldCgnZGF5cycpLm1hcmtBc0RpcnR5KCk7XG4gICAgZm9ybT8uZ2V0KCdkYXlzJykuc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgICAvLyBmb3JtPy5nZXQoJ2hvdXJzJykubWFya0FzRGlydHkoKTtcbiAgICBmb3JtPy5nZXQoJ2hvdXJzJykuc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgICAvLyBmb3JtPy5nZXQoJ21pbnMnKS5tYXJrQXNEaXJ0eSgpO1xuICAgIGZvcm0/LmdldCgnbWlucycpLnNldEVycm9ycyh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgLy8gcmV0dXJuIHRoaXMuY29udHJvbD8uZXJyb3JzO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViMT8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YjI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWIzPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIEBpZiAoc2hvd0xhYmVsU2lnbmFsKCkpIHtcbiAgICA8YXBwLWlucHV0LWxhYmVsXG4gICAgICBbY29sb3JlZF09XCJjb2xvcmVkXCJcbiAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgW2hpbnRdPVwiaGludFwiXG4gICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICBbaW52YWxpZENoZWNrYm94XT1cImludmFsaWRDaGVja2JveFNpZ25hbCgpXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICBbbGFiZWxdPVwibGFiZWxTaWduYWwoKVwiXG4gICAgICBbbGJsQ2xdPVwibGJsQ2xcIlxuICAgICAgW2xpZ2h0XT1cImxpZ2h0XCJcbiAgICAgIFttaW5pXT1cIm1pbmlTaWduYWwoKVwiXG4gICAgICBbc2hvd0xhYmVsXT1cInNob3dMYWJlbFNpZ25hbCgpXCJcbiAgICAgIFtzbWFsbF09XCJzbWFsbFNpZ25hbCgpXCJcbiAgICAgIFtzdGFja2VkXT1cInN0YWNrZWRTaWduYWwoKVwiXG4gICAgICBbdGhlbWVdPVwidGhlbWVcIlxuICAgICAgW3hzbWFsbF09XCJ4c21hbGxcIj48L2FwcC1pbnB1dC1sYWJlbD5cbiAgfVxuICA8ZGl2IGNsYXNzPVwie3sgc3RhY2tlZFNpZ25hbCgpID8gJ2NvbC0xMicgOiAnY29sLW1kJyB9fSBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxuICAgICAgICA8YXBwLWlucHV0LWJhc2ljXG4gICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXG4gICAgICAgICAgW2Zvcm1dPVwic3ViRm9ybVwiXG4gICAgICAgICAgbmFtZT1cImRheXNcIlxuICAgICAgICAgIFttaW5dPVwiMFwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICBbbm9Gb3JtYXRdPVwidHJ1ZVwiXG4gICAgICAgICAgW3N0YWNrZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cImNsZWFyT25EaXNhYmxlKClcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZGF5c1wiXG4gICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cImRheXNUYWcuaW52YWxpZFNpZ25hbCgpXCJcbiAgICAgICAgICAjZGF5c1RhZz48L2FwcC1pbnB1dC1iYXNpYz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICAgIDxhcHAtaW5wdXQtYmFzaWNcbiAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICBbZm9ybV09XCJzdWJGb3JtXCJcbiAgICAgICAgICBuYW1lPVwiaG91cnNcIlxuICAgICAgICAgIFttaW5dPVwiMFwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICBbbm9Gb3JtYXRdPVwidHJ1ZVwiXG4gICAgICAgICAgW3N0YWNrZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cImNsZWFyT25EaXNhYmxlKClcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiaG91cnNcIlxuICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJob3Vyc1RhZy5pbnZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgICNob3Vyc1RhZz48L2FwcC1pbnB1dC1iYXNpYz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICAgIDxhcHAtaW5wdXQtYmFzaWNcbiAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICBbZm9ybV09XCJzdWJGb3JtXCJcbiAgICAgICAgICBuYW1lPVwibWluc1wiXG4gICAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlU2lnbmFsKClcIlxuICAgICAgICAgIFtub0Zvcm1hdF09XCJ0cnVlXCJcbiAgICAgICAgICBbc3RhY2tlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwiY2xlYXJPbkRpc2FibGUoKVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJtaW51dGVzXCJcbiAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwibWluc1RhZy5pbnZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgICNtaW5zVGFnPjwvYXBwLWlucHV0LWJhc2ljPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWhvdXItbWluLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9kYXktaG91ci1taW4taW5wdXQvZGF5LWhvdXItbWluLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9kYXktaG91ci1taW4taW5wdXQvZGF5LWhvdXItbWluLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFTdEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjtJQWlCL0QsSUFBZ0MsU0FBUyxDQUFDLENBQVU7UUFDbEQsNEJBQTRCO1FBQzVCLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUTtZQUFFLE9BQU87UUFDM0MsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQUUsSUFB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Q0FBbUM7UUFDbkMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxvQ0FBb0M7UUFDcEMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuRCxtQ0FBbUM7UUFDbkMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCwrQkFBK0I7SUFDakMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQXRIVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw4bkJDZnJDLHdoRUFrRUEsMEREckRrQixtQkFBbUIsNlFBQUUsbUJBQW1COzsyRkFFN0Msd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHdCQUF3QixjQUd0QixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7d0RBS2hELE1BQU07c0JBQWQsS0FBSztnQkFjMEIsU0FBUztzQkFBeEMsS0FBSzt1QkFBQyxVQUFVO2dCQVlKLElBQUk7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vU2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRheS1ob3VyLW1pbi1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXktaG91ci1taW4taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXktaG91ci1taW4taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIElucHV0TGFiZWxDb21wb25lbnQsIElucHV0QmFzaWNDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXlIb3VyTWluSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBJbnB1dEJhc2ljQ29tcG9uZW50IHtcbiAgLy8gQElucHV0KCkgZm9ybWF0OiAnaG0nIHwgJ20nIHwgJ2RobScgPSAnaG0nO1xuICBvdmVycmlkZSBjbGVhck9uRGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgQElucHV0KCkgdG9NaW5zOiBib29sZWFuID0gZmFsc2U7XG4gIHN1YkZvcm0gPSBuZXcgRm9ybUdyb3VwKFxuICAgIHtcbiAgICAgIGRheXM6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGhvdXJzOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBtaW5zOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgfSxcbiAgICAvLyB0aGlzLnZhbGlkYXRlRnJvbVBhcmVudC5iaW5kKHRoaXMpXG4gICk7XG4gIHN1YjE6IFN1YnNjcmlwdGlvbjtcbiAgc3ViMjogU3Vic2NyaXB0aW9uO1xuICBzdWIzOiBTdWJzY3JpcHRpb247XG4gIHVwZGF0ZVN1YkZvcm06IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgnZGlzYWJsZWQnKSBvdmVycmlkZSBzZXQgX2Rpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICAvLyBpZiAodGhpcy5kZWJ1ZykgZGVidWdnZXI7XG4gICAgc3VwZXIuX2Rpc2FibGVkID0gdjtcbiAgICBpZiAodGhpcy5jb250cm9sPy5wYXJlbnQ/LmRpc2FibGVkKSByZXR1cm47XG4gICAgaWYgKHYpIHtcbiAgICAgIGlmICh0aGlzLmNsZWFyT25EaXNhYmxlKCkpIHRoaXMuc3ViRm9ybT8ucmVzZXQoKTtcbiAgICAgIHRoaXMuc3ViRm9ybT8uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YkZvcm0/LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBtaW5zKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnN1YkZvcm0ucGF0Y2hWYWx1ZSh0aGlzLnVTLm1pbnV0ZXNUb0RheUhvdXJNaW4odmFsdWUpKTtcbiAgfVxuICBwdWJsaWMgdVMgPSBpbmplY3QoVXRpbGl0eVNlcnZpY2UpO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLnR5cGVTaWduYWwudXBkYXRlKCh0eXBlKSA9PiB0eXBlIHx8ICdudW1iZXInKTtcblxuICAgIHRoaXMuc3ViMSA9IHRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgLy8gaWYgKHRoaXMuZGVidWcpIGRlYnVnZ2VyO1xuICAgICAgaWYgKHRoaXMudXBkYXRlU3ViRm9ybSkge1xuICAgICAgICBpZiAocj8udG9TdHJpbmcoKS5pbmRleE9mKCc6JykgPT0gJy0xJykgdGhpcy5zdWJGb3JtPy5wYXRjaFZhbHVlKHRoaXMudVMubWludXRlc1RvRGF5SG91ck1pbigrcikpO1xuICAgICAgfSBlbHNlIHRoaXMudXBkYXRlU3ViRm9ybSA9IHRydWU7XG4gICAgICBpZiAodGhpcy5jb250cm9sPy5kaXNhYmxlZCAmJiB0aGlzLnN1YkZvcm0/LmVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zdWJGb3JtPy5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbD8uZW5hYmxlZCAmJiB0aGlzLnN1YkZvcm0/LmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuc3ViRm9ybS5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLzJcbiAgICB0aGlzLnN1YjIgPSB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuZXJyb3JzICYmICh0aGlzLmNvbnRyb2wuZGlydHkgfHwgdGhpcy5jb250cm9sLnRvdWNoZWQpKSB7XG4gICAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdkYXlzJykubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5zdWJGb3JtPy5nZXQoJ2hvdXJzJykubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5zdWJGb3JtPy5nZXQoJ21pbnMnKS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLnN1YkZvcm0/Lm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdkYXlzJykuc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdob3VycycpLnNldEVycm9ycyh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgICB0aGlzLnN1YkZvcm0/LmdldCgnbWlucycpLnNldEVycm9ycyh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YjMgPSB0aGlzLnN1YkZvcm0/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgICAgaWYgKHRoaXMuY29udHJvbD8ucHJpc3RpbmUpIHRoaXMuY29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICAgIGlmICghdGhpcy5jb250cm9sPy5kaXNhYmxlZCkge1xuICAgICAgICBjb25zdCB0aW1lID0gdGhpcy50b01pbnNcbiAgICAgICAgICA/IHRoaXMudVMuZGF5SG91ck1pblRvTWludXRlcyhyPy5kYXlzLCByPy5ob3VycywgcGFyc2VJbnQocj8ubWlucyB8fCAwKSlcbiAgICAgICAgICA6IHRoaXMudVMuZGF5SG91ck1pblRvSG91ck1pbnV0ZXMocj8uZGF5cywgcj8uaG91cnMsIHI/Lm1pbnMpO1xuICAgICAgICB0aGlzLnVwZGF0ZVN1YkZvcm0gPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMudG9NaW5zKSB0aGlzLmNvbnRyb2w/LnBhdGNoVmFsdWUodGltZSA9PSAnMCcgPyBudWxsIDogdGltZSk7XG4gICAgICAgIGVsc2UgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKHRpbWUgPT0gJzAwOjAwJyA/IG51bGwgOiB0aW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIGFzeW5jIGlzUGFyZW50VmFsaWQoKSB7XG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMpID0+IHtcbiAgLy8gICAgIGlmICh0aGlzLnN1YkZvcm0/LnByaXN0aW5lKSByZXMobnVsbCk7XG4gIC8vICAgICBlbHNlIHtcbiAgLy8gICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gIC8vICAgICAgICAgdGhpcy5zdWJGb3JtPy5nZXQoJ2RheXMnKS5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMpO1xuICAvLyAgICAgICAgIHRoaXMuc3ViRm9ybT8uZ2V0KCdob3VycycpLnNldEVycm9ycyh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gIC8vICAgICAgICAgdGhpcy5zdWJGb3JtPy5nZXQoJ21pbnMnKS5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMpO1xuICAvLyAgICAgICAgIGNvbnN0IGVyciA9IHRoaXMuY29udHJvbD8uZXJyb3JzO1xuICAvLyAgICAgICAgIHJlcyhlcnIpO1xuICAvLyAgICAgICB9LCAxMDApO1xuICAvLyAgICAgfVxuICAvLyAgIH0pO1xuICAvLyB9XG4gIHZhbGlkYXRlRnJvbVBhcmVudChmb3JtOiBGb3JtR3JvdXApIHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGNvbnN0IGNvbnRyb2xzOiB7IFt4OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSA9IHtcbiAgICAgIGRheXM6IGZvcm0uZ2V0KCdkYXlzJyksXG4gICAgICBob3VyczogZm9ybS5nZXQoJ2hvdXJzJyksXG4gICAgICBtaW5zOiBmb3JtLmdldCgnbWlucycpLFxuICAgIH07XG4gICAgaWYgKGNvbnRyb2xzLmRheXMudmFsdWUgfHwgY29udHJvbHMuaG91cnMudmFsdWUgfHwgY29udHJvbHMubWlucy52YWx1ZSkge1xuICAgICAgY29udHJvbHMuZGF5cy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgY29udHJvbHMuaG91cnMubWFya0FzRGlydHkoKTtcbiAgICAgIGNvbnRyb2xzLm1pbnMubWFya0FzRGlydHkoKTtcbiAgICB9XG4gICAgLy8gZm9ybT8uZ2V0KCdkYXlzJykubWFya0FzRGlydHkoKTtcbiAgICBmb3JtPy5nZXQoJ2RheXMnKS5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMpO1xuICAgIC8vIGZvcm0/LmdldCgnaG91cnMnKS5tYXJrQXNEaXJ0eSgpO1xuICAgIGZvcm0/LmdldCgnaG91cnMnKS5zZXRFcnJvcnModGhpcy5jb250cm9sPy5lcnJvcnMpO1xuICAgIC8vIGZvcm0/LmdldCgnbWlucycpLm1hcmtBc0RpcnR5KCk7XG4gICAgZm9ybT8uZ2V0KCdtaW5zJykuc2V0RXJyb3JzKHRoaXMuY29udHJvbD8uZXJyb3JzKTtcbiAgICAvLyByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnM7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWIxPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3ViMj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YjM/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgQGlmIChzaG93TGFiZWxTaWduYWwoKSkge1xuICAgIDxhcHAtaW5wdXQtbGFiZWxcbiAgICAgIFtjb2xvcmVkXT1cImNvbG9yZWRcIlxuICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICBbaGludF09XCJoaW50XCJcbiAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgIFtpbnZhbGlkQ2hlY2tib3hdPVwiaW52YWxpZENoZWNrYm94U2lnbmFsKClcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwiaXNSZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFNpZ25hbCgpXCJcbiAgICAgIFtsYmxDbF09XCJsYmxDbFwiXG4gICAgICBbbGlnaHRdPVwibGlnaHRcIlxuICAgICAgW21pbmldPVwibWluaVNpZ25hbCgpXCJcbiAgICAgIFtzaG93TGFiZWxdPVwic2hvd0xhYmVsU2lnbmFsKClcIlxuICAgICAgW3NtYWxsXT1cInNtYWxsU2lnbmFsKClcIlxuICAgICAgW3N0YWNrZWRdPVwic3RhY2tlZFNpZ25hbCgpXCJcbiAgICAgIFt0aGVtZV09XCJ0aGVtZVwiXG4gICAgICBbeHNtYWxsXT1cInhzbWFsbFwiPjwvYXBwLWlucHV0LWxhYmVsPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJ7eyBzdGFja2VkU2lnbmFsKCkgPyAnY29sLTEyJyA6ICdjb2wtbWQnIH19IHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICAgIDxhcHAtaW5wdXQtYmFzaWNcbiAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICBbZm9ybV09XCJzdWJGb3JtXCJcbiAgICAgICAgICBuYW1lPVwiZGF5c1wiXG4gICAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlU2lnbmFsKClcIlxuICAgICAgICAgIFtub0Zvcm1hdF09XCJ0cnVlXCJcbiAgICAgICAgICBbc3RhY2tlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwiY2xlYXJPbkRpc2FibGUoKVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJkYXlzXCJcbiAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwiZGF5c1RhZy5pbnZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgICNkYXlzVGFnPjwvYXBwLWlucHV0LWJhc2ljPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cbiAgICAgICAgPGFwcC1pbnB1dC1iYXNpY1xuICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxuICAgICAgICAgIFtmb3JtXT1cInN1YkZvcm1cIlxuICAgICAgICAgIG5hbWU9XCJob3Vyc1wiXG4gICAgICAgICAgW21pbl09XCIwXCJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlU2lnbmFsKClcIlxuICAgICAgICAgIFtub0Zvcm1hdF09XCJ0cnVlXCJcbiAgICAgICAgICBbc3RhY2tlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwiY2xlYXJPbkRpc2FibGUoKVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJob3Vyc1wiXG4gICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cImhvdXJzVGFnLmludmFsaWRTaWduYWwoKVwiXG4gICAgICAgICAgI2hvdXJzVGFnPjwvYXBwLWlucHV0LWJhc2ljPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cbiAgICAgICAgPGFwcC1pbnB1dC1iYXNpY1xuICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxuICAgICAgICAgIFtmb3JtXT1cInN1YkZvcm1cIlxuICAgICAgICAgIG5hbWU9XCJtaW5zXCJcbiAgICAgICAgICBbbWluXT1cIjBcIlxuICAgICAgICAgIFt0eXBlXT1cInR5cGVTaWduYWwoKVwiXG4gICAgICAgICAgW25vRm9ybWF0XT1cInRydWVcIlxuICAgICAgICAgIFtzdGFja2VkXT1cInRydWVcIlxuICAgICAgICAgIFtjbGVhck9uRGlzYWJsZV09XCJjbGVhck9uRGlzYWJsZSgpXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1pbnV0ZXNcIlxuICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJtaW5zVGFnLmludmFsaWRTaWduYWwoKVwiXG4gICAgICAgICAgI21pbnNUYWc+PC9hcHAtaW5wdXQtYmFzaWM+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -104,7 +104,7 @@ export class InputBase {
104
104
  this.minSignal.set(new Date().toISOString());
105
105
  }
106
106
  set _disabled(v) {
107
- if (this.debug)
107
+ if (this.debug())
108
108
  debugger;
109
109
  this.disabledSignal.set(v);
110
110
  if (this.control?.parent?.disabled)
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
188
188
  type: Input,
189
189
  args: ['type']
190
190
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQTJDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQWdCLFlBQVksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUs3RCxNQUFNLE9BQU8sU0FBUztJQUp0QjtRQVdFLDRCQUF1QixHQUFHLEtBQUssQ0FBVSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLHlCQUFvQixHQUFHLEtBQUssQ0FBVSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLGFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUUseUJBQW9CLEdBQUcsS0FBSyxDQUFTLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDeEUsMEJBQXFCLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFB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ckIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OEJBc0JnRCxLQUFLO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQU1oQyxVQUFVO3NCQUFsQixLQUFLO2dCQUd5QyxLQUFLO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQU9iLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsZUFBZTtnQkFJSixJQUFJO3NCQUFyQixLQUFLO3VCQUFDLEtBQUs7Z0JBR00sSUFBSTtzQkFBckIsS0FBSzt1QkFBQyxLQUFLO2dCQUdDLFFBQVE7c0JBQXBCLEtBQUs7Z0JBR08sUUFBUTtzQkFBcEIsS0FBSztnQkFnQmlCLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsVUFBVTtnQkFZRSxLQUFLO3NCQUF2QixLQUFLO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIElucHV0LCBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dFNlcnZpY2UgfSBmcm9tICcuL2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9iamVjdExpdGVyYWwsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEJhc2U8XG4gIFRGb3JtR3JvdXAgZXh0ZW5kcyB7XG4gICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gIH0gPSBhbnksXG4gIFRDb250cm9sID0gYW55LFxuICBUT3B0aW9uID0gYW55LFxuPiB7XG4gIGRvbnRGb3JtYXRBc0lucHV0U2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ2RvbnRGb3JtYXRBc0lucHV0JyB9KTtcbiAgZHVwbGljYXRlQ2hlY2tTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnZHVwbGljYXRlQ2hlY2snIH0pO1xuICBpZFNpZ25hbCA9IGlucHV0KCdpZCcgKyBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKSwgeyBhbGlhczogJ2lkJyB9KTtcbiAgaW5wdXRDb250Q2xhc3NTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdpbnB1dENvbnRDbGFzcycgfSk7XG4gIHNob3dSZXF1aXJlZFRhZ1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgYWxpYXM6ICdzaG93UmVxdWlyZWRUYWcnIH0pO1xuICB0ZXh0YXJlYVJvd3NTaWduYWwgPSBpbnB1dDxudW1iZXI+KG51bGwsIHsgYWxpYXM6ICd0ZXh0YXJlYVJvd3MnIH0pO1xuICBlbmRMYWJlbFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2VuZExhYmVsJyB9KTtcbiAgZW5kTGFiZWxUb29sdGlwU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnZW5kTGFiZWxUb29sdGlwJyB9KTtcbiAgbGFiZWxTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdsYWJlbCcgfSk7XG5cbiAgcmVhZG9ubHlTaWduYWwgPSBpbnB1dDxib29sZWFuIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ3JlYWRvbmx5JyB9KTtcbiAgcmVxdWlyZWRTaWduYWwgPSBpbnB1dDxib29sZWFuIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ3JlcXVpcmVkJyB9KTtcblxuICAvKiogRm9ybUdyb3VwICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSwgYWxpYXM6ICdmb3JtJyB9KSBzZXQgX2Zvcm0odjogRm9ybUdyb3VwPFRGb3JtR3JvdXA+IHwgRm9ybUNvbnRyb2w8VENvbnRyb2w+IHwgQWJzdHJhY3RDb250cm9sPFRDb250cm9sPikge1xuICAgIHRoaXMuZm9ybSA9IHYgYXMgRm9ybUdyb3VwPFRGb3JtR3JvdXA+O1xuICAgIHRoaXMubGlzdGVuVG9Db250cm9sKCk7XG4gIH1cblxuICAvKiogU2hvdyB0aGUgaGludCB3aXRob3V0IHRoZSB0b29sdGlwICovXG4gIEBJbnB1dCgpIGlubGluZUhpbnQ6IGJvb2xlYW47XG5cbiAgLyoqIEZvcm1Db250cm9sTmFtZSAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UsIGFsaWFzOiAnbmFtZScgfSkgc2V0IF9uYW1lKHY6IGtleW9mIFRGb3JtR3JvdXApIHtcbiAgICB0aGlzLm5hbWVTaWduYWwuc2V0KHYpO1xuICAgIHRoaXMubGlzdGVuVG9Db250cm9sKCk7XG4gIH1cblxuICBpbmRldGVybWluYXRlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgnaW5kZXRlcm1pbmF0ZScpIHNldCBfaW5kZXRlcm1pbmF0ZSh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5pbmRldGVybWluYXRlID0gdjtcbiAgICBpZiAodikgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKGZhbHNlKTtcbiAgfVxuICBASW5wdXQoJ21heCcpIHNldCBfbWF4KHY6IG51bWJlciB8IHN0cmluZykge1xuICAgIHRoaXMubWF4U2lnbmFsLnNldCh2KTtcbiAgfVxuICBASW5wdXQoJ21pbicpIHNldCBfbWluKHY6IG51bWJlciB8IHN0cmluZykge1xuICAgIHRoaXMubWluU2lnbmFsLnNldCh2KTtcbiAgfVxuICBASW5wdXQoKSBzZXQgbWF4VG9kYXkodjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLm1heFNpZ25hbC5zZXQobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgbWluVG9kYXkodjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLm1pblNpZ25hbC5zZXQobmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgfVxuICBwcmVmaXhTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdwcmVmaXgnIH0pO1xuICBtaW5pU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyBhbGlhczogJ21pbmknIH0pO1xuICBpbnBDbFNpZ25hbCA9IGlucHV0PHN0cmluZz4oJ2NvbnRyb2wtYmctZ3JheScsIHsgYWxpYXM6ICdpbnBDbCcgfSk7XG4gIHNob3dFbXB0eU9wdGlvblNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93RW1wdHlPcHRpb24nIH0pO1xuICBzaG93TGFiZWxTaWduYWwgPSBpbnB1dDxib29sZWFuPih0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd0xhYmVsJyB9KTtcbiAgc2hvd1ZhbGlkYXRpb25TaWduYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSwgeyBhbGlhczogJ3Nob3dWYWxpZGF0aW9uJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCB9KTtcbiAgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dWYWxpZGF0aW9uSWNvbicgfSk7XG4gIHNtYWxsU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4obnVsbCwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3NtYWxsJyB9KTtcbiAgc2hvd1ZhbGlkYXRpb25Nc2dTaWduYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dWYWxpZGF0aW9uTXNnJyB9KTtcbiAgc3RhY2tlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzdGFja2VkJyB9KTtcbiAgZGVidWcgPSBpbnB1dDxib29sZWFuPigpO1xuICBjbGVhck9uRGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIEBJbnB1dCgnZGlzYWJsZWQnKSBzZXQgX2Rpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5kZWJ1ZykgZGVidWdnZXI7XG4gICAgdGhpcy5kaXNhYmxlZFNpZ25hbC5zZXQodik7XG4gICAgaWYgKHRoaXMuY29udHJvbD8ucGFyZW50Py5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGlmICh2KSB7XG4gICAgICBpZiAodGhpcy5jbGVhck9uRGlzYWJsZSgpKSB0aGlzLmNvbnRyb2w/LnJlc2V0KCk7XG4gICAgICB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbD8uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbD8uZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCd0eXBlJykgc2V0IF90eXBlKHY6IElucHV0VHlwZSkge1xuICAgIHRoaXMub1R5cGVTaWduYWwuc2V0KHYpO1xuICAgIGlmICh2ID09ICdwZXJjZW50YWdlJykge1xuICAgICAgdGhpcy50eXBlU2lnbmFsLnNldCgnbnVtYmVyJyk7XG4gICAgICB0aGlzLm1heFNpZ25hbC5zZXQoMTAwKTtcbiAgICAgIHRoaXMubWluU2lnbmFsLnNldCgwKTtcbiAgICB9IGVsc2UgdGhpcy50eXBlU2lnbmFsLnNldCh2KTtcbiAgfVxuXG4gIHNob3dQYXNzd29yZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihudWxsKTtcblxuICBkaXNhYmxlZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihudWxsKTtcblxuICBvVHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGUgfCBudWxsPihudWxsKTtcbiAgdHlwZVNpZ25hbCA9IHNpZ25hbDxJbnB1dFR5cGU+KCd0ZXh0Jyk7XG4gIG1heFNpZ25hbCA9IHNpZ25hbDxudW1iZXIgfCBzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgbWluU2lnbmFsID0gc2lnbmFsPG51bWJlciB8IHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGZvcm06IEZvcm1Hcm91cDxURm9ybUdyb3VwPjtcbiAgbmFtZVNpZ25hbCA9IHNpZ25hbDxrZXlvZiBURm9ybUdyb3VwPihudWxsKTtcblxuICBjb21wdXRlZFNob3dMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzaG93TGFiZWwgPSB0aGlzLnNob3dMYWJlbFNpZ25hbCgpLFxuICAgICAgbGFiZWwgPSB0aGlzLmxhYmVsU2lnbmFsKCk7XG4gICAgcmV0dXJuIHNob3dMYWJlbCAmJiBsYWJlbCAhPSBudWxsO1xuICB9KTtcblxuICBwdWJsaWMgaVMgPSBpbmplY3QoSW5wdXRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZ2V0IGNvbnRyb2woKSB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm0gYXMgRm9ybUdyb3VwPFRGb3JtR3JvdXA+KT8uY29udHJvbHNbdGhpcy5uYW1lU2lnbmFsKCkgYXMgYW55XSBhcyBBYnN0cmFjdENvbnRyb2w8YW55PjtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95ZXIgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByb3RlY3RlZCBjb250cm9sVmFsdWVDaGFuZ2VzU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgbGlzdGVuVG9Db250cm9sKCkge1xuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlc1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTaWduYWxzKCk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2VzU3ViID0gbWVyZ2UodGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMgfHwgb2YobnVsbCksIHRoaXMuY29udHJvbD8uc3RhdHVzQ2hhbmdlcyB8fCBvZihudWxsKSlcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSgocikgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTaWduYWxzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVDb250cm9sU2lnbmFscygpIHtcbiAgICB0aGlzLnZhbGlkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnZhbGlkKTtcbiAgICB0aGlzLmludmFsaWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uaW52YWxpZCk7XG4gICAgdGhpcy5kaXJ0eVNpZ25hbC5zZXQodGhpcy5jb250cm9sPy5kaXJ0eSk7XG4gICAgdGhpcy50b3VjaGVkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnRvdWNoZWQpO1xuICAgIHRoaXMuZXJyb3JzU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmVycm9ycyk7XG4gICAgdGhpcy5wZW5kaW5nU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnBlbmRpbmcpO1xuICAgIHRoaXMucHJpc3RpbmVTaWduYWwuc2V0KHRoaXMuY29udHJvbD8ucHJpc3RpbmUpO1xuICAgIHRoaXMudmFsdWVTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uZ2V0UmF3VmFsdWUoKSk7XG4gICAgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgfVxuXG4gIGRlc3Ryb3llckZ1bmMgPSB0aGlzLmRlc3Ryb3llci5vbkRlc3Ryb3koKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdkcm9wcGVkIGlucHV0IGxpc3RlbmVyJyk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVDaGFuZ2VzU3ViPy51bnN1YnNjcmliZSgpO1xuICB9KTtcblxuICB2YWxpZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGludmFsaWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICB2YWx1ZVNpZ25hbCA9IHNpZ25hbDxSZXR1cm5UeXBlPHR5cGVvZiB0aGlzLmNvbnRyb2wuZ2V0UmF3VmFsdWU+PihudWxsKTtcbiAgaGFzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZhbHVlU2lnbmFsKCk/LnRvU3RyaW5nKCk/LnRyaW0oKT8ubGVuZ3RoID4gMCk7XG4gIGludmFsaWRDaGVja2JveFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkU2lnbmFsKCkgJiYgdGhpcy50eXBlU2lnbmFsKCkgPT0gJ2NoZWNrYm94JztcbiAgfSk7XG4gIGRpcnR5U2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLnZhbGlkU2lnbmFsKCk7XG4gICAgdGhpcy5pbnZhbGlkU2lnbmFsKCk7XG4gICAgdGhpcy5kaXJ0eVNpZ25hbCgpO1xuICAgIHRoaXMudG91Y2hlZFNpZ25hbCgpO1xuICAgIHRoaXMuZXJyb3JzU2lnbmFsKCk7XG4gICAgdGhpcy5wZW5kaW5nU2lnbmFsKCk7XG4gICAgdGhpcy5wcmlzdGluZVNpZ25hbCgpO1xuICAgIHRoaXMudmFsdWVTaWduYWwoKTtcbiAgICB0aGlzLmNvbnRyb2xSZXF1aXJlZFNpZ25hbCgpO1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2w7XG4gIH0pO1xuICB0b3VjaGVkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgZXJyb3JzU2lnbmFsID0gc2lnbmFsPElPYmplY3RMaXRlcmFsPihudWxsKTtcbiAgcGVuZGluZ1NpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHByaXN0aW5lU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29udHJvbFJlcXVpcmVkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgaXNSZXF1aXJlZFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVxdWlyZWRTaWduYWwoKSB8fCB0aGlzLmNvbnRyb2xSZXF1aXJlZFNpZ25hbCgpKTtcbiAgbmFtZVN0clNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMubmFtZVNpZ25hbCgpPy50b1N0cmluZygpKTtcbiAgaW5wdXRDbGFzc1NpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaVMuaW5wdXRDbGFzcyh0aGlzLmlucENsU2lnbmFsKCksIHRoaXMudmFsaWRTaWduYWwoKSwgdGhpcy5pbnZhbGlkU2lnbmFsKCksIHRoaXMuc2hvd1ZhbGlkYXRpb25TaWduYWwoKSkpO1xufVxuIl19
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQTJDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQWdCLFlBQVksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUs3RCxNQUFNLE9BQU8sU0FBUztJQUp0QjtRQVdFLDRCQUF1QixHQUFHLEtBQUssQ0FBVSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLHlCQUFvQixHQUFHLEtBQUssQ0FBVSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLGFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUUseUJBQW9CLEdBQUcsS0FBSyxDQUFTLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDeEUsMEJBQXFCLEdBQUcsS0FBSyxDQUFVLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDM0UsdUJBQWtCLEdBQUcsS0FBSyxDQUFTLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLG1CQUFjLEdBQUcsS0FBSyxDQUFTLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzVELDBCQUFxQixHQUFHLEtBQUssQ0FBUyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLGdCQUFXLEdBQUcsS0FBSyxDQUFTLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXRELG1CQUFjLEdBQUcsS0FBSyxDQUFpQixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNwRSxtQkFBYyxHQUFHLEtBQUssQ0FBaUIsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFtQ3BFLGlCQUFZLEdBQUcsS0FBSyxDQUFTLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELGVBQVUsR0FBRyxLQUFLLENBQVUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxLQUFLLENBQVMsaUJBQWlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNuRSwwQkFBcUIsR0FBRyxLQUFLLENBQVUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUE2QixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDckgsb0JBQWUsR0FBRyxLQUFLLENBQVUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUE2QixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pHLHlCQUFvQixHQUFHLEtBQUssQ0FBVSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGdCQUE2QixFQUFFLENBQUMsQ0FBQztRQUNwSCw2QkFBd0IsR0FBRyxLQUFLLENBQVUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUE2QixFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDM0gsZ0JBQVcsR0FBRyxLQUFLLENBQVUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUE2QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLDRCQUF1QixHQUFHLEtBQUssQ0FBVSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQTZCLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUMxSCxrQkFBYSxHQUFHLEtBQUssQ0FBVSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQTZCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckcsVUFBSyxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBdUJ0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFM0MsbUJBQWMsR0FBRyxNQUFNLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFdkMsZ0JBQVcsR0FBRyxNQUFNLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzdDLGVBQVUsR0FBRyxNQUFNLENBQVksTUFBTSxDQUFDLENBQUM7UUFDdkMsY0FBUyxHQUFHLE1BQU0sQ0FBeUIsSUFBSSxDQUFDLENBQUM7UUFDakQsY0FBUyxHQUFHLE1BQU0sQ0FBeUIsSUFBSSxDQUFDLENBQUM7UUFHakQsZUFBVSxHQUFHLE1BQU0sQ0FBbUIsSUFBSSxDQUFDLENBQUM7UUFFNUMsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQ3RDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsT0FBTyxTQUFTLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVJLE9BQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFNdkIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQXlCekMsa0JBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztRQUVILGdCQUFXLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsTUFBTSxDQUE4QyxJQUFJLENBQUMsQ0FBQztRQUN4RSxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUUsMEJBQXFCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksVUFBVSxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsZ0JBQVcsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDckMsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsa0JBQWEsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdkMsaUJBQVksR0FBRyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBQzVDLGtCQUFhLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLDBCQUFxQixHQUFHLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUM7UUFDckQscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlELHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDbEo7SUFySkMsZ0JBQWdCO0lBQ2hCLElBQStDLEtBQUssQ0FBQyxDQUE0RTtRQUMvSCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQTBCLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFLRCxzQkFBc0I7SUFDdEIsSUFBK0MsS0FBSyxDQUFDLENBQW1CO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBNEIsY0FBYyxDQUFDLENBQVU7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDO1lBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELElBQWtCLElBQUksQ0FBQyxDQUFrQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBa0IsSUFBSSxDQUFDLENBQWtCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFhLFFBQVEsQ0FBQyxDQUFVO1FBQzlCLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBYSxRQUFRLENBQUMsQ0FBVTtRQUM5QixJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQWNELElBQXVCLFNBQVMsQ0FBQyxDQUFVO1FBQ3pDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUFFLFFBQVEsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVE7WUFBRSxPQUFPO1FBQzNDLElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUN6QjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxJQUFtQixLQUFLLENBQUMsQ0FBWTtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkI7O1lBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQXNCRCxJQUFjLE9BQU87UUFDbkIsT0FBUSxJQUFJLENBQUMsSUFBOEIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBUyxDQUF5QixDQUFDO0lBQzFHLENBQUM7SUFLRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqSCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs4R0F0SVUsU0FBUztrR0FBVCxTQUFTLDJuSkFGVixFQUFFOzsyRkFFRCxTQUFTO2tCQUpyQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsRUFBRTtpQkFDYjs4QkFzQmdELEtBQUs7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBTWhDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR3lDLEtBQUs7c0JBQW5ELEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBT2IsY0FBYztzQkFBekMsS0FBSzt1QkFBQyxlQUFlO2dCQUlKLElBQUk7c0JBQXJCLEtBQUs7dUJBQUMsS0FBSztnQkFHTSxJQUFJO3NCQUFyQixLQUFLO3VCQUFDLEtBQUs7Z0JBR0MsUUFBUTtzQkFBcEIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLO2dCQWdCaUIsU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxVQUFVO2dCQVlFLEtBQUs7c0JBQXZCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0U2VydmljZSB9IGZyb20gJy4vaW5wdXQuc2VydmljZSc7XG5pbXBvcnQgeyBJT2JqZWN0TGl0ZXJhbCwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lLCBtZXJnZSwgb2YgfSBmcm9tICdyeGpzJztcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0QmFzZTxcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbiAgVENvbnRyb2wgPSBhbnksXG4gIFRPcHRpb24gPSBhbnksXG4+IHtcbiAgZG9udEZvcm1hdEFzSW5wdXRTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnZG9udEZvcm1hdEFzSW5wdXQnIH0pO1xuICBkdXBsaWNhdGVDaGVja1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KG51bGwsIHsgYWxpYXM6ICdkdXBsaWNhdGVDaGVjaycgfSk7XG4gIGlkU2lnbmFsID0gaW5wdXQoJ2lkJyArIE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApLCB7IGFsaWFzOiAnaWQnIH0pO1xuICBpbnB1dENvbnRDbGFzc1NpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2lucHV0Q29udENsYXNzJyB9KTtcbiAgc2hvd1JlcXVpcmVkVGFnU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyBhbGlhczogJ3Nob3dSZXF1aXJlZFRhZycgfSk7XG4gIHRleHRhcmVhUm93c1NpZ25hbCA9IGlucHV0PG51bWJlcj4obnVsbCwgeyBhbGlhczogJ3RleHRhcmVhUm93cycgfSk7XG4gIGVuZExhYmVsU2lnbmFsID0gaW5wdXQ8c3RyaW5nPihudWxsLCB7IGFsaWFzOiAnZW5kTGFiZWwnIH0pO1xuICBlbmRMYWJlbFRvb2x0aXBTaWduYWwgPSBpbnB1dDxzdHJpbmc+KG51bGwsIHsgYWxpYXM6ICdlbmRMYWJlbFRvb2x0aXAnIH0pO1xuICBsYWJlbFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ2xhYmVsJyB9KTtcblxuICByZWFkb25seVNpZ25hbCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPihudWxsLCB7IGFsaWFzOiAncmVhZG9ubHknIH0pO1xuICByZXF1aXJlZFNpZ25hbCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPihudWxsLCB7IGFsaWFzOiAncmVxdWlyZWQnIH0pO1xuXG4gIC8qKiBGb3JtR3JvdXAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlLCBhbGlhczogJ2Zvcm0nIH0pIHNldCBfZm9ybSh2OiBGb3JtR3JvdXA8VEZvcm1Hcm91cD4gfCBGb3JtQ29udHJvbDxUQ29udHJvbD4gfCBBYnN0cmFjdENvbnRyb2w8VENvbnRyb2w+KSB7XG4gICAgdGhpcy5mb3JtID0gdiBhcyBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gICAgdGhpcy5saXN0ZW5Ub0NvbnRyb2woKTtcbiAgfVxuXG4gIC8qKiBTaG93IHRoZSBoaW50IHdpdGhvdXQgdGhlIHRvb2x0aXAgKi9cbiAgQElucHV0KCkgaW5saW5lSGludDogYm9vbGVhbjtcblxuICAvKiogRm9ybUNvbnRyb2xOYW1lICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSwgYWxpYXM6ICduYW1lJyB9KSBzZXQgX25hbWUodjoga2V5b2YgVEZvcm1Hcm91cCkge1xuICAgIHRoaXMubmFtZVNpZ25hbC5zZXQodik7XG4gICAgdGhpcy5saXN0ZW5Ub0NvbnRyb2woKTtcbiAgfVxuXG4gIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCdpbmRldGVybWluYXRlJykgc2V0IF9pbmRldGVybWluYXRlKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSB2O1xuICAgIGlmICh2KSB0aGlzLmNvbnRyb2w/LnBhdGNoVmFsdWUoZmFsc2UpO1xuICB9XG4gIEBJbnB1dCgnbWF4Jykgc2V0IF9tYXgodjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5tYXhTaWduYWwuc2V0KHYpO1xuICB9XG4gIEBJbnB1dCgnbWluJykgc2V0IF9taW4odjogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5taW5TaWduYWwuc2V0KHYpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBtYXhUb2RheSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMubWF4U2lnbmFsLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBtaW5Ub2RheSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMubWluU2lnbmFsLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xuICB9XG4gIHByZWZpeFNpZ25hbCA9IGlucHV0PHN0cmluZz4obnVsbCwgeyBhbGlhczogJ3ByZWZpeCcgfSk7XG4gIG1pbmlTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IGFsaWFzOiAnbWluaScgfSk7XG4gIGlucENsU2lnbmFsID0gaW5wdXQ8c3RyaW5nPignY29udHJvbC1iZy1ncmF5JywgeyBhbGlhczogJ2lucENsJyB9KTtcbiAgc2hvd0VtcHR5T3B0aW9uU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3Nob3dFbXB0eU9wdGlvbicgfSk7XG4gIHNob3dMYWJlbFNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIGFzIHVuZGVmaW5lZCwgYWxpYXM6ICdzaG93TGFiZWwnIH0pO1xuICBzaG93VmFsaWRhdGlvblNpZ25hbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlLCB7IGFsaWFzOiAnc2hvd1ZhbGlkYXRpb24nLCB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkIH0pO1xuICBzaG93VmFsaWRhdGlvbkljb25TaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd1ZhbGlkYXRpb25JY29uJyB9KTtcbiAgc21hbGxTaWduYWwgPSBpbnB1dDxib29sZWFuPihudWxsLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc21hbGwnIH0pO1xuICBzaG93VmFsaWRhdGlvbk1zZ1NpZ25hbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSBhcyB1bmRlZmluZWQsIGFsaWFzOiAnc2hvd1ZhbGlkYXRpb25Nc2cnIH0pO1xuICBzdGFja2VkU2lnbmFsID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgYXMgdW5kZWZpbmVkLCBhbGlhczogJ3N0YWNrZWQnIH0pO1xuICBkZWJ1ZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNsZWFyT25EaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgQElucHV0KCdkaXNhYmxlZCcpIHNldCBfZGlzYWJsZWQodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIHRoaXMuZGlzYWJsZWRTaWduYWwuc2V0KHYpO1xuICAgIGlmICh0aGlzLmNvbnRyb2w/LnBhcmVudD8uZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAodikge1xuICAgICAgaWYgKHRoaXMuY2xlYXJPbkRpc2FibGUoKSkgdGhpcy5jb250cm9sPy5yZXNldCgpO1xuICAgICAgdGhpcy5jb250cm9sPy5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRyb2w/LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNvbnRyb2w/LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBJbnB1dFR5cGUpIHtcbiAgICB0aGlzLm9UeXBlU2lnbmFsLnNldCh2KTtcbiAgICBpZiAodiA9PSAncGVyY2VudGFnZScpIHtcbiAgICAgIHRoaXMudHlwZVNpZ25hbC5zZXQoJ251bWJlcicpO1xuICAgICAgdGhpcy5tYXhTaWduYWwuc2V0KDEwMCk7XG4gICAgICB0aGlzLm1pblNpZ25hbC5zZXQoMCk7XG4gICAgfSBlbHNlIHRoaXMudHlwZVNpZ25hbC5zZXQodik7XG4gIH1cblxuICBzaG93UGFzc3dvcmRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4obnVsbCk7XG5cbiAgZGlzYWJsZWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4obnVsbCk7XG5cbiAgb1R5cGVTaWduYWwgPSBzaWduYWw8SW5wdXRUeXBlIHwgbnVsbD4obnVsbCk7XG4gIHR5cGVTaWduYWwgPSBzaWduYWw8SW5wdXRUeXBlPigndGV4dCcpO1xuICBtYXhTaWduYWwgPSBzaWduYWw8bnVtYmVyIHwgc3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIG1pblNpZ25hbCA9IHNpZ25hbDxudW1iZXIgfCBzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBmb3JtOiBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gIG5hbWVTaWduYWwgPSBzaWduYWw8a2V5b2YgVEZvcm1Hcm91cD4obnVsbCk7XG5cbiAgY29tcHV0ZWRTaG93TGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2hvd0xhYmVsID0gdGhpcy5zaG93TGFiZWxTaWduYWwoKSxcbiAgICAgIGxhYmVsID0gdGhpcy5sYWJlbFNpZ25hbCgpO1xuICAgIHJldHVybiBzaG93TGFiZWwgJiYgbGFiZWwgIT0gbnVsbDtcbiAgfSk7XG5cbiAgcHVibGljIGlTID0gaW5qZWN0KElucHV0U2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIGdldCBjb250cm9sKCkge1xuICAgIHJldHVybiAodGhpcy5mb3JtIGFzIEZvcm1Hcm91cDxURm9ybUdyb3VwPik/LmNvbnRyb2xzW3RoaXMubmFtZVNpZ25hbCgpIGFzIGFueV0gYXMgQWJzdHJhY3RDb250cm9sPGFueT47XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVzdHJveWVyID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcm90ZWN0ZWQgY29udHJvbFZhbHVlQ2hhbmdlc1N1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGxpc3RlblRvQ29udHJvbCgpIHtcbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUNoYW5nZXNTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy51cGRhdGVDb250cm9sU2lnbmFscygpO1xuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlc1N1YiA9IG1lcmdlKHRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzIHx8IG9mKG51bGwpLCB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMgfHwgb2YobnVsbCkpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDb250cm9sU2lnbmFscygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlQ29udHJvbFNpZ25hbHMoKSB7XG4gICAgdGhpcy52YWxpZFNpZ25hbC5zZXQodGhpcy5jb250cm9sPy52YWxpZCk7XG4gICAgdGhpcy5pbnZhbGlkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmludmFsaWQpO1xuICAgIHRoaXMuZGlydHlTaWduYWwuc2V0KHRoaXMuY29udHJvbD8uZGlydHkpO1xuICAgIHRoaXMudG91Y2hlZFNpZ25hbC5zZXQodGhpcy5jb250cm9sPy50b3VjaGVkKTtcbiAgICB0aGlzLmVycm9yc1NpZ25hbC5zZXQodGhpcy5jb250cm9sPy5lcnJvcnMpO1xuICAgIHRoaXMucGVuZGluZ1NpZ25hbC5zZXQodGhpcy5jb250cm9sPy5wZW5kaW5nKTtcbiAgICB0aGlzLnByaXN0aW5lU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LnByaXN0aW5lKTtcbiAgICB0aGlzLnZhbHVlU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/LmdldFJhd1ZhbHVlKCkpO1xuICAgIHRoaXMuY29udHJvbFJlcXVpcmVkU2lnbmFsLnNldCh0aGlzLmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XG4gIH1cblxuICBkZXN0cm95ZXJGdW5jID0gdGhpcy5kZXN0cm95ZXIub25EZXN0cm95KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZygnZHJvcHBlZCBpbnB1dCBsaXN0ZW5lcicpO1xuICAgIHRoaXMuY29udHJvbFZhbHVlQ2hhbmdlc1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgfSk7XG5cbiAgdmFsaWRTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBpbnZhbGlkU2lnbmFsID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgdmFsdWVTaWduYWwgPSBzaWduYWw8UmV0dXJuVHlwZTx0eXBlb2YgdGhpcy5jb250cm9sLmdldFJhd1ZhbHVlPj4obnVsbCk7XG4gIGhhc1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52YWx1ZVNpZ25hbCgpPy50b1N0cmluZygpPy50cmltKCk/Lmxlbmd0aCA+IDApO1xuICBpbnZhbGlkQ2hlY2tib3hTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZFNpZ25hbCgpICYmIHRoaXMudHlwZVNpZ25hbCgpID09ICdjaGVja2JveCc7XG4gIH0pO1xuICBkaXJ0eVNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbnRyb2xTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy52YWxpZFNpZ25hbCgpO1xuICAgIHRoaXMuaW52YWxpZFNpZ25hbCgpO1xuICAgIHRoaXMuZGlydHlTaWduYWwoKTtcbiAgICB0aGlzLnRvdWNoZWRTaWduYWwoKTtcbiAgICB0aGlzLmVycm9yc1NpZ25hbCgpO1xuICAgIHRoaXMucGVuZGluZ1NpZ25hbCgpO1xuICAgIHRoaXMucHJpc3RpbmVTaWduYWwoKTtcbiAgICB0aGlzLnZhbHVlU2lnbmFsKCk7XG4gICAgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwoKTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sO1xuICB9KTtcbiAgdG91Y2hlZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGVycm9yc1NpZ25hbCA9IHNpZ25hbDxJT2JqZWN0TGl0ZXJhbD4obnVsbCk7XG4gIHBlbmRpbmdTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcmlzdGluZVNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbnRyb2xSZXF1aXJlZFNpZ25hbCA9IHNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIGlzUmVxdWlyZWRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlcXVpcmVkU2lnbmFsKCkgfHwgdGhpcy5jb250cm9sUmVxdWlyZWRTaWduYWwoKSk7XG4gIG5hbWVTdHJTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm5hbWVTaWduYWwoKT8udG9TdHJpbmcoKSk7XG4gIGlucHV0Q2xhc3NTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlTLmlucHV0Q2xhc3ModGhpcy5pbnBDbFNpZ25hbCgpLCB0aGlzLnZhbGlkU2lnbmFsKCksIHRoaXMuaW52YWxpZFNpZ25hbCgpLCB0aGlzLnNob3dWYWxpZGF0aW9uU2lnbmFsKCkpKTtcbn1cbiJdfQ==
@@ -22,12 +22,12 @@ export class InputBasicComponent extends InputBase {
22
22
  // labelValue: string;
23
23
  set _setCurrentDate(v) {
24
24
  if (v)
25
- this.control.patchValue(new Date().toISOString().split('T')[0]);
25
+ this.control?.patchValue(new Date().toISOString().split('T')[0]);
26
26
  }
27
27
  set _options(v) {
28
28
  // debugger
29
29
  // console.log('options', v);
30
- if (this.debug)
30
+ if (this.debug())
31
31
  debugger;
32
32
  this.rawOptionsSignal.set(v);
33
33
  this.options = this.iS.optionsFormatter(v, this.valueField, this.optionFormatter, this.labelType, this.labelField, this.autoPickValueField);
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
212
212
  type: ViewChild,
213
213
  args: ['matSelectTag']
214
214
  }] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJKLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVduRCxNQUFNLE9BQU8sbUJBT1gsU0FBUSxTQUF3QztJQTRDaEQsc0JBQXNCO0lBQ3RCLElBQTZCLGVBQWUsQ0FBQyxDQUFVO1FBQ3JELElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELElBQXNCLFFBQVEsQ0FBQyxDQUFtQjtRQUNoRCxXQUFXO1FBQ1gsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQ3JDLENBQUMsRUFDRCxJQUFJLENBQUMsVUFBb0IsRUFDekIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsVUFBb0IsRUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDO1FBQ0YsV0FBVztRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBcUIsTUFBTSxDQUFDLENBQWtCO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFHRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbEVELGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBSTdCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFZLEtBQUssQ0FBQyxDQUFDLHdDQUF3QztRQVdsRSxVQUFLLEdBQVcsR0FBRyxDQUFDO1FBQ3BCLFVBQUssR0FBWSxJQUFJLENBQUM7UUFTdEIsVUFBSyxHQUFlLENBQUMsQ0FBQztRQUN0QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFJakMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0Isd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTVELGFBQVEsR0FBRyxJQUFJLGFBQWEsRUFBYSxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUduQywwQkFBcUIsR0FBRyxRQUFRLENBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUE0QjdILE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxRQUFRLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFlLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUyxFQUFFLFNBQVMsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBYSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNsRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7Z0JBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2dCQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBYSxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekYsSUFDRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6SSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDO1lBRXJELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXZCLDREQUE0RDtRQUM1RCxpREFBaUQ7UUFDakQsdUVBQXVFO1FBQ3ZFLFFBQVE7UUFDUix1QkFBdUI7UUFDdkIscURBQXFEO0lBQ3ZELENBQUM7SUFFRCxlQUFlO1FBQ2IsMEJBQTBCO0lBQzVCLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBMkIsSUFBSSxDQUFDLE9BQU87UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFBRSxPQUFPO1FBQ25DLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQXdEO1FBQzdELFlBQVk7UUFDWixJQUFJLEdBQUcsQ0FBQztRQUNSLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLFVBQVUsRUFBRTtZQUNuQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzlDOztZQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksUUFBUSxFQUFFO1lBQ2pDLFlBQVk7WUFDWixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2QjtZQUNELElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksRUFBRSxFQUFFO2dCQUM1QixZQUFZO2dCQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztxQkFDckYsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO2dCQUN4SSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSTtvQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7YUFDL0g7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVM7WUFDM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxRQUFRO2dCQUMzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQzNELENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDN0QsQ0FBQztRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsQ0FBQztRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs4R0F2SlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsMmdDQUhuQixjQUFjLDRKQ2hCM0Isa2dVQStQQSxtNEJEOU9ZLGtCQUFrQjs7MkZBRWpCLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSwyQkFBMkIsY0FHekIsSUFBSSxhQUNMLGNBQWMsV0FDaEIsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQzt3REFZeEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDVSxHQUFHO3NCQUFsQixLQUFLO3VCQUFDLE9BQU87Z0JBQ0wsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQVFzQixlQUFlO3NCQUEzQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFHRCxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLFNBQVM7Z0JBZ0JLLE1BQU07c0JBQTFCLEtBQUs7dUJBQUMsUUFBUTtnQkFHWSxTQUFTO3NCQUFuQyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRkNJbnB1dCwgSW5wdXRUeXBlLCBJVmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRQcm92aWRlcnMsIElucHV0U2hhcmVkTW9kdWxlcyB9IGZyb20gJy4vaW5wdXQtc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRCYXNlIH0gZnJvbSAnLi9pbnB1dC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJT3B0aW9uLCBJbnB1dFNlcnZpY2UgfSBmcm9tICcuL2lucHV0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtYmFzaWMsYXBwLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBJbnB1dFByb3ZpZGVycyxcbiAgaW1wb3J0czogW0RhdGVJbnB1dENvbXBvbmVudCwgSW5wdXRTaGFyZWRNb2R1bGVzXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRCYXNpY0NvbXBvbmVudDxcbiAgICBURm9ybUdyb3VwIGV4dGVuZHMge1xuICAgICAgW0sgaW4ga2V5b2YgVEZvcm1Hcm91cF06IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG4gICAgfSA9IGFueSxcbiAgICBUQ29udHJvbCA9IGFueSxcbiAgICBUT3B0aW9uID0gYW55LFxuICA+XG4gIGV4dGVuZHMgSW5wdXRCYXNlPFRGb3JtR3JvdXAsIFRDb250cm9sLCBUT3B0aW9uPlxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZztcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgYXV0b1BpY2tWYWx1ZUZpZWxkOiBib29sZWFuO1xuICBASW5wdXQoKSBjbHM6IHN0cmluZztcbiAgQElucHV0KCdpbnB1dCcpIGlucDogRkNJbnB1dDtcbiAgQElucHV0KCkgY29sb3JlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy9vcHRpb25hbCBjaGVja2VkIG9wdGlvbiBmb3IgY2hlY2tib3hlc1xuICBASW5wdXQoKSBjb250ZXh0RGF0YTogYW55O1xuICBASW5wdXQoKSBkZWNpbWFsUG9pbnRzOiBudW1iZXI7XG4gIEBJbnB1dCgpIGZpbGVzOiBGaWxlW107XG4gIEBJbnB1dCgpIG5vRm9ybWF0OiBib29sZWFuO1xuICBASW5wdXQoKSBoaWRlOiBib29sZWFuO1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQElucHV0KCkgbGFiZWxMaW5rOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsRmllbGQ6IGtleW9mIFRPcHRpb247XG4gIEBJbnB1dCgpIGxhYmVsVHlwZTogT3B0aW9uTGFiZWxUeXBlOyAvL3VzZSB0aGlzIHRvIHBpY2sgYSBwcmVzZXQgdmFsdWUgbGFiZWwgZ3JvdXAgZm9yIHRoZSBvcHRpb25zXG4gIEBJbnB1dCgpIGxibENsOiBzdHJpbmcgPSAnMic7XG4gIEBJbnB1dCgpIGxpZ2h0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcbiAgQElucHV0KCkgbWluTGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgb3B0aW9uRm9ybWF0dGVyOiAoaXRlbTogVE9wdGlvbikgPT4gc3RyaW5nO1xuICBASW5wdXQoKSBvcHRpb25zRnVuYzogKC4uLnZhbDogYW55KSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgc3VmZml4OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRoZW1lOiBJbnB1dFRoZW1lID0gMTtcbiAgQElucHV0KCkgdHJhbnNsYXRlT3B0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBrZXlvZiBUT3B0aW9uOyAvL3VzZSB0aGlzIHRvIGNob29zZSBhIGZpZWxkIGluIHRoZSBvcHRpb24gZm9yIG1vZGVsaW5nXG4gIEBJbnB1dCgpIHZtczogSVZhbGlkYXRpb25NZXNzYWdlW107XG4gIEBJbnB1dCgpIHhzbWFsbDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIG1jaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBtU2VsZWN0T3B0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUT3B0aW9uPigpO1xuICBAT3V0cHV0KCkgbVNlbGVjdGVkT3B0aW9uTGFiZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgb3B0aW9uczogSU9wdGlvbltdO1xuICBvcHRpb25zJCA9IG5ldyBSZXBsYXlTdWJqZWN0PElPcHRpb25bXT4oKTtcbiAgcmF3T3B0aW9uc1NpZ25hbCA9IHNpZ25hbDxhbnk+KFtdKTtcbiAgdmlld0luaXRlZDogYm9vbGVhbjtcbiAgZm9yY2VQYXRjaGVkOiBib29sZWFuO1xuICBzZWxlY3Rpb25PYmplY3RTaWduYWwgPSBjb21wdXRlZDxUT3B0aW9uPigoKSA9PiB0aGlzLnJhd09wdGlvbnNTaWduYWwoKS5maW5kKCh4KSA9PiB4W3RoaXMudmFsdWVGaWVsZF0gPT0gdGhpcy52YWx1ZVNpZ25hbCgpKSk7XG4gIC8vIGxhYmVsVmFsdWU6IHN0cmluZztcbiAgQElucHV0KCdzZXRDdXJyZW50RGF0ZScpIHNldCBfc2V0Q3VycmVudERhdGUodjogYm9vbGVhbikge1xuICAgIGlmICh2KSB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZShuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSk7XG4gIH1cbiAgQElucHV0KCdvcHRpb25zJykgc2V0IF9vcHRpb25zKHY6IFRPcHRpb25bXSB8IG51bGwpIHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIC8vIGNvbnNvbGUubG9nKCdvcHRpb25zJywgdik7XG4gICAgaWYgKHRoaXMuZGVidWcpIGRlYnVnZ2VyO1xuICAgIHRoaXMucmF3T3B0aW9uc1NpZ25hbC5zZXQodik7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5pUy5vcHRpb25zRm9ybWF0dGVyKFxuICAgICAgdixcbiAgICAgIHRoaXMudmFsdWVGaWVsZCBhcyBzdHJpbmcsXG4gICAgICB0aGlzLm9wdGlvbkZvcm1hdHRlcixcbiAgICAgIHRoaXMubGFiZWxUeXBlLFxuICAgICAgdGhpcy5sYWJlbEZpZWxkIGFzIHN0cmluZyxcbiAgICAgIHRoaXMuYXV0b1BpY2tWYWx1ZUZpZWxkLFxuICAgICk7XG4gICAgLy8gZGVidWdnZXJcbiAgICB0aGlzLm9wdGlvbnMkLm5leHQodGhpcy5vcHRpb25zKTtcbiAgfVxuICBASW5wdXQoJ212YWx1ZScpIHNldCBfdmFsdWUodjogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgdGhpcy52YWx1ZVNpZ25hbC5zZXQodik7XG4gIH1cbiAgQFZpZXdDaGlsZCgnbWF0U2VsZWN0VGFnJykgbWF0U2VsZWN0OiBNYXRTZWxlY3Q7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudHlwZVNpZ25hbCgpID09ICdzZWxlY3QnKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5mb3JtYXR0ZWRWYWx1ZSA9ICg8TWF0T3B0aW9uPnRoaXMubWF0U2VsZWN0Py5zZWxlY3RlZCk/LnZpZXdWYWx1ZTtcbiAgICAgICAgdGhpcy5tU2VsZWN0ZWRPcHRpb25MYWJlbC5lbWl0KCg8TWF0T3B0aW9uPnRoaXMubWF0U2VsZWN0Py5zZWxlY3RlZCk/LnZpZXdWYWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvUGlja1ZhbHVlRmllbGQpIHtcbiAgICAgIGlmICghdGhpcy5sYWJlbFR5cGUpIHRoaXMubGFiZWxUeXBlID0gJ2NkdCc7XG4gICAgICBpZiAoIXRoaXMudmFsdWVGaWVsZCkgdGhpcy52YWx1ZUZpZWxkID0gJ2NvZGUnIGFzIGFueTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWluU2lnbmFsKCkgPT0gMCAmJiB0aGlzLm1heFNpZ25hbCgpID09IDEwMCkgdGhpcy5vVHlwZVNpZ25hbC5zZXQoJ3BlcmNlbnRhZ2UnKTtcbiAgICBpZiAoXG4gICAgICAodGhpcy50eXBlU2lnbmFsKCkgPT0gJ3ZpZXdlcicgfHwgdGhpcy5zaG93VmFsaWRhdGlvblNpZ25hbCgpIHx8IHRoaXMuc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsKCkgfHwgdGhpcy5sYWJlbFNpZ25hbCgpPy5pbmNsdWRlcygnY29kZScpKSAmJlxuICAgICAgKHRoaXMubm9Gb3JtYXQgPT0gbnVsbCB8fCB0aGlzLm5vRm9ybWF0ID09IHVuZGVmaW5lZClcbiAgICApXG4gICAgICB0aGlzLm5vRm9ybWF0ID0gdHJ1ZTtcblxuICAgIC8vIGlmICh0aGlzLnR5cGUgPT0gJ3NlbGVjdCcgfHwgdGhpcy50eXBlID09ICdhdXRvY29tcGxldGUnKVxuICAgIC8vICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAvLyAgICAgdGhpcy5sYWJlbFZhbHVlID0gdGhpcy5vcHRpb25zLmZpbmQoKHgpID0+IHgudmFsdWUgPT0gcik/LmxhYmVsO1xuICAgIC8vICAgfSk7XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5pZClcbiAgICAvLyBpZiAodGhpcy5kaXNhYmxlZCkgdGhpcy5fZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIHRoaXMudmlld0luaXRlZCA9IHRydWU7XG4gIH1cblxuICBkaXNhYmxlQ29udHJvbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSB0aGlzLmNvbnRyb2wpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRTaWduYWwoKSkgcmV0dXJuO1xuICAgIGNvbnRyb2w/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgY2hhbmdlKGU6IHsgdGFyZ2V0OiB7IGNoZWNrZWQ/OiBib29sZWFuOyB2YWx1ZTogYW55IH0gfSB8IEV2ZW50KSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgbGV0IHZhbDtcbiAgICBpZiAodGhpcy50eXBlU2lnbmFsKCkgPT0gJ2NoZWNrYm94Jykge1xuICAgICAgdmFsID0gZS50YXJnZXQ/LlsnY2hlY2tlZCddO1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGUudGFyZ2V0Py5bJ2NoZWNrZWQnXSk7XG4gICAgfSBlbHNlIHZhbCA9IGUudGFyZ2V0Py5bJ3ZhbHVlJ107XG4gICAgaWYgKHRoaXMudHlwZVNpZ25hbCgpID09ICdudW1iZXInKSB7XG4gICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgIGlmICh0aGlzLm9UeXBlU2lnbmFsKCkgPT0gJ3BlcmNlbnRhZ2UnICYmICF0aGlzLm1heFNpZ25hbCgpKSB7XG4gICAgICAgIHRoaXMubWF4U2lnbmFsLnNldCgxMDApO1xuICAgICAgICB0aGlzLm1pblNpZ25hbC5zZXQoMCk7XG4gICAgICB9XG4gICAgICBpZiAodmFsICE9IG51bGwgJiYgdmFsICE9ICcnKSB7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBpZiAodGhpcy5tYXhTaWduYWwoKSAmJiArdmFsID4gK3RoaXMubWF4U2lnbmFsKCkpIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLm1heFNpZ25hbCgpKTtcbiAgICAgICAgZWxzZSBpZiAodGhpcy5taW5TaWduYWwoKSAhPSBudWxsICYmIHRoaXMubWluU2lnbmFsKCkgIT0gdW5kZWZpbmVkICYmICt2YWwgPCArdGhpcy5taW5TaWduYWwoKSkgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMubWluU2lnbmFsKCkpO1xuICAgICAgICBpZiAodGhpcy5kZWNpbWFsUG9pbnRzICE9IHVuZGVmaW5lZCAmJiB0aGlzLmRlY2ltYWxQb2ludHMgIT0gbnVsbCkgdGhpcy5jb250cm9sLnNldFZhbHVlKCsoK3ZhbCkudG9GaXhlZCh0aGlzLmRlY2ltYWxQb2ludHMpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIHRoaXMuY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgIHRoaXMudHlwZVNpZ25hbCgpID09ICdudW1iZXInXG4gICAgICAgICAgPyArdGhpcy5jb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKS5zbGljZSgwLCB0aGlzLm1heExlbmd0aClcbiAgICAgICAgICA6IHRoaXMuY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCkuc2xpY2UoMCwgdGhpcy5tYXhMZW5ndGgpLFxuICAgICAgKTtcbiAgICB0aGlzLnZhbHVlU2lnbmFsLnNldCh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KHRoaXMuY29udHJvbC52YWx1ZSk7XG5cbiAgICB0aGlzLm1TZWxlY3RPcHRpb25DaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGlvbk9iamVjdFNpZ25hbCgpKTtcbiAgICB0aGlzLmNvbnRyb2wubGFiZWxWYWx1ZSA9IHRoaXMubGFiZWxTaWduYWwoKTtcbiAgfVxuXG4gIHVwbG9hZChlKSB7XG4gICAgdGhpcy5maWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xuICAgIHRoaXMubWNoYW5nZS5lbWl0KGUpO1xuICB9XG59XG50eXBlIElucHV0VGhlbWUgPSAxIHwgMjtcbmV4cG9ydCB0eXBlIE9wdGlvbkxhYmVsVHlwZSA9XG4gIHwgJ2FjZCdcbiAgfCAnYm5rJ1xuICB8ICdjY2QnXG4gIHwgJ2NkJ1xuICB8ICdjZHQnXG4gIHwgJ2NmJ1xuICB8ICdjZydcbiAgfCAnY2wnXG4gIHwgJ2NtZCdcbiAgfCAnY24nXG4gIHwgJ2N0J1xuICB8ICdjdSdcbiAgfCAnZ2QnXG4gIHwgJ2hhJ1xuICB8ICdpZCdcbiAgfCAnaWYnXG4gIHwgJ2lmbCdcbiAgfCAnaWwnXG4gIHwgJ2l0J1xuICB8ICdtZCdcbiAgfCAnbmEnXG4gIHwgJ3BkJ1xuICB8ICdwZXAnXG4gIHwgJ3BhbSdcbiAgfCAnbmYnXG4gIHwgJ3RkJ1xuICB8ICd0aXRsZSdcbiAgfCAndWQnXG4gIHwgJ3VmJ1xuICB8ICd2bCdcbiAgfCAndnYnO1xuXG5leHBvcnQgeyBJT3B0aW9uIH0gZnJvbSAnLi9pbnB1dC5zZXJ2aWNlJztcbiIsIjxkaXYgY2xhc3M9XCIgIGN1c3RvbS1pbnB1dCBhbGlnbi1pdGVtcy1jZW50ZXIge3sgdHlwZVNpZ25hbCgpIH19IGd4LTFcIiBbZm9ybUdyb3VwXT1cImZvcm0gfCB0b0FueVwiIFtuZ0NsYXNzXT1cInsgJ2QtZmxleCc6ICFzdGFja2VkU2lnbmFsKCkgfVwiPlxuICBAaWYgKGNvbXB1dGVkU2hvd0xhYmVsKCkpIHtcbiAgICA8YXBwLWlucHV0LWxhYmVsXG4gICAgICBbY29sb3JlZF09XCJjb2xvcmVkXCJcbiAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgW2hpbnRdPVwiaGludFwiXG4gICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICBbaW52YWxpZENoZWNrYm94XT1cImludmFsaWRDaGVja2JveFNpZ25hbCgpXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICBbbGFiZWxdPVwibGFiZWxTaWduYWwoKVwiXG4gICAgICBbbGJsQ2xdPVwibGJsQ2xcIlxuICAgICAgW2xpZ2h0XT1cImxpZ2h0XCJcbiAgICAgIFttaW5pXT1cIm1pbmlTaWduYWwoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICd3LTEwMCc6IHN0YWNrZWRTaWduYWwoKSB9XCJcbiAgICAgIFtpbmxpbmVIaW50XT1cImlubGluZUhpbnRcIlxuICAgICAgW3Nob3dSZXF1aXJlZFRhZ109XCJzaG93UmVxdWlyZWRUYWdTaWduYWwoKVwiXG4gICAgICBbc2hvd0xhYmVsXT1cInNob3dMYWJlbFNpZ25hbCgpXCJcbiAgICAgIFtzbWFsbF09XCJzbWFsbFNpZ25hbCgpXCJcbiAgICAgIFtzdGFja2VkXT1cInN0YWNrZWRTaWduYWwoKVwiXG4gICAgICBbdGhlbWVdPVwidGhlbWVcIlxuICAgICAgW3hzbWFsbF09XCJ4c21hbGxcIj48L2FwcC1pbnB1dC1sYWJlbD5cbiAgfVxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB7eyBpbnB1dENvbnRDbGFzc1NpZ25hbCgpIH19IFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgZC1mbGV4IGlucHV0LWNvbnRlbnQgdy0xMDBcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnbXMtMic6ICFzdGFja2VkU2lnbmFsKCksXG4gICAgICAgIHNob3dWYWxpZGF0aW9uSWNvbjogc2hvd1ZhbGlkYXRpb25TaWduYWwoKSB8fCBzaG93VmFsaWRhdGlvbkljb25TaWduYWwoKSxcbiAgICAgICAgZG9udEZvcm1hdEFzSW5wdXQ6IGRvbnRGb3JtYXRBc0lucHV0U2lnbmFsKClcbiAgICAgIH1cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGF0ZT5cbiAgICAgICAgPGRhdGUtaW5wdXRcbiAgICAgICAgICBbZGVidWddPVwiZGVidWcoKVwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICBbdHlwZV09XCJ0eXBlU2lnbmFsKClcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZWQpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFt2YWx1ZV09XCJjb250cm9sPy52YWx1ZVwiXG4gICAgICAgICAgW2lucHV0Q2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRTaWduYWwoKVwiXG4gICAgICAgICAgW21heF09XCJtYXhTaWduYWwoKVwiXG4gICAgICAgICAgW21pbl09XCJtaW5TaWduYWwoKVwiXG4gICAgICAgICAgW3ZhbGlkXT1cInZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRTaWduYWwoKVwiXG4gICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cInNob3dWYWxpZGF0aW9uU2lnbmFsKClcIlxuICAgICAgICAgIFtjb250cm9sXT1cImNvbnRyb2xcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIEBzd2l0Y2ggKHR5cGVTaWduYWwoKSkge1xuICAgICAgICA8IS0tIERBVEUgLS0+XG4gICAgICAgIEBjYXNlICgnZGF0ZScpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBEQVRFVElNRS1MT0NBTCAtLT5cbiAgICAgICAgQGNhc2UgKCdkYXRldGltZS1sb2NhbCcpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0ZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBDSEVDS0JPWCAtLT5cbiAgICAgICAgQGNhc2UgKCdjaGVja2JveCcpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cIm5vRm9ybWF0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVidWddPVwiZGVidWdcIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBpbnBDbFNpZ25hbCgpIH19IGQtaW5saW5lLWJsb2NrIGZvcm0tY29udHJvbCB3aWR0aC11bnNldFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgICAgICBbYXR0ci5pbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnY2hlY2tlZGJveCcpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjbGFzcz1cInt7IGlucENsU2lnbmFsKCkgfX0gZC1pbmxpbmUtYmxvY2sgZm9ybS1jb250cm9sIHdpZHRoLXVuc2V0XCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWJ1Z109XCJkZWJ1Z1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cIm5vRm9ybWF0XCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gRklMRSAtLT5cbiAgICAgICAgQGNhc2UgKCdmaWxlJykge1xuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIFtpZF09XCJpZFNpZ25hbCgpXCIgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiIChjaGFuZ2UpPVwidXBsb2FkKCRldmVudClcIiBbYWNjZXB0XT1cImFjY2VwdFwiIFthdHRyLm11bHRpcGxlXT1cIm11bHRpcGxlXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZJTEUgQlVUVE9OLS0+XG4gICAgICAgIEBjYXNlICgnZmlsZUJ1dHRvbicpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGxvYWQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICBbYXR0ci5tdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICBoaWRkZW5cbiAgICAgICAgICAgICNmaWxlIC8+XG4gICAgICAgICAgPGFwcC1idG5cbiAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgKG1jbGljayk9XCJmaWxlLmNsaWNrKClcIlxuICAgICAgICAgICAgaWNvbj1cInVwbG9hZFwiXG4gICAgICAgICAgICBbdHlwZV09XCJmaWxlcyA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIHRleHQ9XCJ7eyBwbGFjZWhvbGRlciB8fCBsYWJlbFNpZ25hbCgpIHx8ICdVcGxvYWQnIH19XCI+PC9hcHAtYnRuPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gU0VMRUNUIC0tPlxuICAgICAgICBAY2FzZSAoJ3NlbGVjdCcpIHtcbiAgICAgICAgICA8IS0tIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCIgLS0+XG4gICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICNtYXRTZWxlY3RUYWdcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3sgbmFtZVN0clNpZ25hbCgpIH19XCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgY2xzIH19IHt7IGlucHV0Q2xhc3NTaWduYWwoKSB9fVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZSh7IHRhcmdldDogJGV2ZW50IH0pXCI+XG4gICAgICAgICAgICBAaWYgKHNob3dFbXB0eU9wdGlvblNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHNlbGVjdGVkIFt2YWx1ZV09XCJudWxsXCIgY2xhc3M9XCJlbXB0eS1vcHRpb25cIj5cbiAgICAgICAgICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnM7IHRyYWNrIGlTLnRyYWNrQnlWYWx1ZSgkaW5kZXgsIGl0ZW0pKSB7XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvblwiIFttYXRUb29sdGlwXT1cIml0ZW0ubGFiZWxcIiBbbWF0VG9vbHRpcERpc2FibGVkXT1cImVsZS5zY3JvbGxXaWR0aCA8PSBlbGUub2Zmc2V0V2lkdGhcIiAjZWxlPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB8IGFwcFRyYW5zbGF0ZTogdHJhbnNsYXRlT3B0aW9ucyB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBBVVRPQ09NUExFVEUgLS0+XG4gICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2F1dG9jb21wbGV0ZSdcIj5cbiAgICAgICAgICA8YXBwLWF1dG9jb21wbGV0ZSBbZm9ybV09XCJmb3JtXCIgW2xhYmVsXT1cImxhYmVsXCIgW2xhYmVsRmllbGRdPVwibGFiZWxGaWVsZFwiXG4gICAgICAgICAgICBbYXV0b1BpY2tWYWx1ZUZpZWxkXT1cImF1dG9QaWNrVmFsdWVGaWVsZFwiIFtsYWJlbFR5cGVdPVwibGFiZWxUeXBlXCJcbiAgICAgICAgICAgIFtvcHRpb25zRnVuY109XCJvcHRpb25zRnVuY1wiIFtuYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiIFtvcHRpb25Gb3JtYXR0ZXJdPVwib3B0aW9uRm9ybWF0dGVyXCJcbiAgICAgICAgICAgIFt2YWx1ZUZpZWxkXT1cInZhbHVlRmllbGRcIiBbb3B0aW9uc109XCJvcHRpb25zXCIgW2hpbnRdPVwiaGludFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgPCEtLSBURVhUQVJFQSAtLT5cbiAgICAgICAgQGNhc2UgKCd0ZXh0YXJlYScpIHtcbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbcm93c109XCJ0ZXh0YXJlYVJvd3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFJhZGlvIC0tPlxuICAgICAgICBAY2FzZSAoJ3JhZGlvJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBWaWV3ZXIgLS0+XG4gICAgICAgIEBjYXNlICgndmlld2VyJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cIm5vRm9ybWF0XCJcbiAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gUEFTU1dPUkQgLS0+XG4gICAgICAgIEBjYXNlICgncGFzc3dvcmQnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwie3sgc2hvd1Bhc3N3b3JkU2lnbmFsKCkgPyAndGV4dCcgOiAncGFzc3dvcmQnIH19XCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFttYXhdPVwibWF4U2lnbmFsKClcIlxuICAgICAgICAgICAgW21pbl09XCJtaW5TaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFzc3dvcmQtaWNvbnMgcG9pbnRlclwiIChjbGljayk9XCJzaG93UGFzc3dvcmRTaWduYWwuc2V0KCFzaG93UGFzc3dvcmRTaWduYWwpXCI+XG4gICAgICAgICAgICBAaWYgKHNob3dQYXNzd29yZFNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllLXNsYXNoXCI+PC9pPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICghc2hvd1Bhc3N3b3JkU2lnbmFsKCkpIHtcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leWVcIj48L2k+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBERUZBVUxUIC0tPlxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgPGRpdiBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCIgW25nQ2xhc3NdPVwieyAnaGFzLXByZWZpeCc6ICEhcHJlZml4U2lnbmFsKCksIGRpc2FibGVkOiByZWFkb25seVNpZ25hbCgpIHx8IGRpc2FibGVkU2lnbmFsKCkgfVwiPlxuICAgICAgICAgICAgQGlmIChwcmVmaXhTaWduYWwoKSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJlZml4LXZhbFwiICNwcmVmaXhWYWw+XG4gICAgICAgICAgICAgICAge3sgcHJlZml4U2lnbmFsKCkgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJlbGUuaW5uZXJUZXh0XCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCJlbGUuc2Nyb2xsV2lkdGggPD0gZWxlLm9mZnNldFdpZHRoXCJcbiAgICAgICAgICAgICAgI2VsZVxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLWRlYnVnXT1cImRlYnVnXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtb3R5cGVdPVwib1R5cGVTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW21heF09XCJtYXhTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmIChkaXJ0eVNpZ25hbCgpICYmIChzaG93VmFsaWRhdGlvblNpZ25hbCgpIHx8IHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCgpKSkge1xuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgdmFsaWQ6IHZhbGlkU2lnbmFsKCkgfVwiIGNsYXNzPVwidmFsaWRpdHktaWNvblwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2tcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgcGVuZGluZzogcGVuZGluZ1NpZ25hbCgpIH1cIiBjbGFzcz1cInZhbGlkaXR5LWljb25cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXNwaW5uZXIgZmEtc3BpblwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyBpbnZhbGlkOiBpbnZhbGlkU2lnbmFsKCkgfVwiIGNsYXNzPVwidmFsaWRpdHktaWNvblwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPCEtLSA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpbnB1dFwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwie3tpbnAudHlwZX19XCIgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImlucC5mb3JtQ29udHJvbFwiPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0Zvcj1cImxldCB2YWxpZGF0aW9uIG9mIGlucC52bXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsaWRhdGlvbnx2YWxpZGF0b3I6aW5wLmZvcm1Db250cm9sOmlucC5mb3JtQ29udHJvbD8udmFsdWVcIj5cbiAgICAgICAgICAgIHt7dmFsaWRhdGlvbi5tZXNzYWdlfHZhbGlkYXRpb25Nc2c6aW5wLnByZWZpeDppbnAuc3VmZml4fX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPiAtLT5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGVuZExhYmVsU2lnbmFsKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byB0ZXh0LXByaW1hcnkgbXMtMlwiIChjbGljayk9XCJpUy5sb2coZm9ybSlcIiBbbWF0VG9vbHRpcF09XCJlbmRMYWJlbFRvb2x0aXBTaWduYWwoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jXCI+XG4gICAgICAgIHt7IGVuZExhYmVsU2lnbmFsKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuQGlmIChzaG93VmFsaWRhdGlvbk1zZ1NpZ25hbCgpKSB7XG4gIDxhcHAtdmFsaWRhdGlvbi1tZXNzYWdlIFtsYWJlbF09XCJsYWJlbFNpZ25hbCgpXCIgW2NvbnRyb2xdPVwiY29udHJvbFwiIC8+XG59XG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0L2lucHV0LWJhc2ljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBaUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJKLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVduRCxNQUFNLE9BQU8sbUJBT1gsU0FBUSxTQUF3QztJQTRDaEQsc0JBQXNCO0lBQ3RCLElBQTZCLGVBQWUsQ0FBQyxDQUFVO1FBQ3JELElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELElBQXNCLFFBQVEsQ0FBQyxDQUFtQjtRQUNoRCxXQUFXO1FBQ1gsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLEtB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Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBUXNCLGVBQWU7c0JBQTNDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUdELFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsU0FBUztnQkFnQkssTUFBTTtzQkFBMUIsS0FBSzt1QkFBQyxRQUFRO2dCQUdZLFNBQVM7c0JBQW5DLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGQ0lucHV0LCBJbnB1dFR5cGUsIElWYWxpZGF0aW9uTWVzc2FnZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFByb3ZpZGVycywgSW5wdXRTaGFyZWRNb2R1bGVzIH0gZnJvbSAnLi9pbnB1dC1zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEJhc2UgfSBmcm9tICcuL2lucHV0LWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IElPcHRpb24sIElucHV0U2VydmljZSB9IGZyb20gJy4vaW5wdXQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC1iYXNpYyxhcHAtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IElucHV0UHJvdmlkZXJzLFxuICBpbXBvcnRzOiBbRGF0ZUlucHV0Q29tcG9uZW50LCBJbnB1dFNoYXJlZE1vZHVsZXNdLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEJhc2ljQ29tcG9uZW50PFxuICAgIFRGb3JtR3JvdXAgZXh0ZW5kcyB7XG4gICAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgICB9ID0gYW55LFxuICAgIFRDb250cm9sID0gYW55LFxuICAgIFRPcHRpb24gPSBhbnksXG4gID5cbiAgZXh0ZW5kcyBJbnB1dEJhc2U8VEZvcm1Hcm91cCwgVENvbnRyb2wsIFRPcHRpb24+XG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIEBJbnB1dCgpIGFjY2VwdDogc3RyaW5nO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhdXRvUGlja1ZhbHVlRmllbGQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNsczogc3RyaW5nO1xuICBASW5wdXQoJ2lucHV0JykgaW5wOiBGQ0lucHV0O1xuICBASW5wdXQoKSBjb2xvcmVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlOyAvL29wdGlvbmFsIGNoZWNrZWQgb3B0aW9uIGZvciBjaGVja2JveGVzXG4gIEBJbnB1dCgpIGNvbnRleHREYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGRlY2ltYWxQb2ludHM6IG51bWJlcjtcbiAgQElucHV0KCkgZmlsZXM6IEZpbGVbXTtcbiAgQElucHV0KCkgbm9Gb3JtYXQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZyB8IG51bWJlcjtcblxuICBASW5wdXQoKSBsYWJlbExpbms6IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWxGaWVsZDoga2V5b2YgVE9wdGlvbjtcbiAgQElucHV0KCkgbGFiZWxUeXBlOiBPcHRpb25MYWJlbFR5cGU7IC8vdXNlIHRoaXMgdG8gcGljayBhIHByZXNldCB2YWx1ZSBsYWJlbCBncm91cCBmb3IgdGhlIG9wdGlvbnNcbiAgQElucHV0KCkgbGJsQ2w6IHN0cmluZyA9ICcyJztcbiAgQElucHV0KCkgbGlnaHQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xuICBASW5wdXQoKSBvcHRpb25Gb3JtYXR0ZXI6IChpdGVtOiBUT3B0aW9uKSA9PiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wdGlvbnNGdW5jOiAoLi4udmFsOiBhbnkpID0+IE9ic2VydmFibGU8YW55W10+O1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBzdWZmaXg6IHN0cmluZztcbiAgQElucHV0KCkgdGhlbWU6IElucHV0VGhlbWUgPSAxO1xuICBASW5wdXQoKSB0cmFuc2xhdGVPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ6IGtleW9mIFRPcHRpb247IC8vdXNlIHRoaXMgdG8gY2hvb3NlIGEgZmllbGQgaW4gdGhlIG9wdGlvbiBmb3IgbW9kZWxpbmdcbiAgQElucHV0KCkgdm1zOiBJVmFsaWRhdGlvbk1lc3NhZ2VbXTtcbiAgQElucHV0KCkgeHNtYWxsOiBib29sZWFuO1xuICBAT3V0cHV0KCkgbWNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG1TZWxlY3RPcHRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRPcHRpb24+KCk7XG4gIEBPdXRwdXQoKSBtU2VsZWN0ZWRPcHRpb25MYWJlbCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBvcHRpb25zOiBJT3B0aW9uW107XG4gIG9wdGlvbnMkID0gbmV3IFJlcGxheVN1YmplY3Q8SU9wdGlvbltdPigpO1xuICByYXdPcHRpb25zU2lnbmFsID0gc2lnbmFsPGFueT4oW10pO1xuICB2aWV3SW5pdGVkOiBib29sZWFuO1xuICBmb3JjZVBhdGNoZWQ6IGJvb2xlYW47XG4gIHNlbGVjdGlvbk9iamVjdFNpZ25hbCA9IGNvbXB1dGVkPFRPcHRpb24+KCgpID0+IHRoaXMucmF3T3B0aW9uc1NpZ25hbCgpLmZpbmQoKHgpID0+IHhbdGhpcy52YWx1ZUZpZWxkXSA9PSB0aGlzLnZhbHVlU2lnbmFsKCkpKTtcbiAgLy8gbGFiZWxWYWx1ZTogc3RyaW5nO1xuICBASW5wdXQoJ3NldEN1cnJlbnREYXRlJykgc2V0IF9zZXRDdXJyZW50RGF0ZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYpIHRoaXMuY29udHJvbD8ucGF0Y2hWYWx1ZShuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSk7XG4gIH1cbiAgQElucHV0KCdvcHRpb25zJykgc2V0IF9vcHRpb25zKHY6IFRPcHRpb25bXSB8IG51bGwpIHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIC8vIGNvbnNvbGUubG9nKCdvcHRpb25zJywgdik7XG4gICAgaWYgKHRoaXMuZGVidWcoKSkgZGVidWdnZXI7XG4gICAgdGhpcy5yYXdPcHRpb25zU2lnbmFsLnNldCh2KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmlTLm9wdGlvbnNGb3JtYXR0ZXIoXG4gICAgICB2LFxuICAgICAgdGhpcy52YWx1ZUZpZWxkIGFzIHN0cmluZyxcbiAgICAgIHRoaXMub3B0aW9uRm9ybWF0dGVyLFxuICAgICAgdGhpcy5sYWJlbFR5cGUsXG4gICAgICB0aGlzLmxhYmVsRmllbGQgYXMgc3RyaW5nLFxuICAgICAgdGhpcy5hdXRvUGlja1ZhbHVlRmllbGQsXG4gICAgKTtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIHRoaXMub3B0aW9ucyQubmV4dCh0aGlzLm9wdGlvbnMpO1xuICB9XG4gIEBJbnB1dCgnbXZhbHVlJykgc2V0IF92YWx1ZSh2OiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICB0aGlzLnZhbHVlU2lnbmFsLnNldCh2KTtcbiAgfVxuICBAVmlld0NoaWxkKCdtYXRTZWxlY3RUYWcnKSBtYXRTZWxlY3Q6IE1hdFNlbGVjdDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy50eXBlU2lnbmFsKCkgPT0gJ3NlbGVjdCcpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmZvcm1hdHRlZFZhbHVlID0gKDxNYXRPcHRpb24+dGhpcy5tYXRTZWxlY3Q/LnNlbGVjdGVkKT8udmlld1ZhbHVlO1xuICAgICAgICB0aGlzLm1TZWxlY3RlZE9wdGlvbkxhYmVsLmVtaXQoKDxNYXRPcHRpb24+dGhpcy5tYXRTZWxlY3Q/LnNlbGVjdGVkKT8udmlld1ZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmF1dG9QaWNrVmFsdWVGaWVsZCkge1xuICAgICAgaWYgKCF0aGlzLmxhYmVsVHlwZSkgdGhpcy5sYWJlbFR5cGUgPSAnY2R0JztcbiAgICAgIGlmICghdGhpcy52YWx1ZUZpZWxkKSB0aGlzLnZhbHVlRmllbGQgPSAnY29kZScgYXMgYW55O1xuICAgIH1cbiAgICBpZiAodGhpcy5taW5TaWduYWwoKSA9PSAwICYmIHRoaXMubWF4U2lnbmFsKCkgPT0gMTAwKSB0aGlzLm9UeXBlU2lnbmFsLnNldCgncGVyY2VudGFnZScpO1xuICAgIGlmIChcbiAgICAgICh0aGlzLnR5cGVTaWduYWwoKSA9PSAndmlld2VyJyB8fCB0aGlzLnNob3dWYWxpZGF0aW9uU2lnbmFsKCkgfHwgdGhpcy5zaG93VmFsaWRhdGlvbkljb25TaWduYWwoKSB8fCB0aGlzLmxhYmVsU2lnbmFsKCk/LmluY2x1ZGVzKCdjb2RlJykpICYmXG4gICAgICAodGhpcy5ub0Zvcm1hdCA9PSBudWxsIHx8IHRoaXMubm9Gb3JtYXQgPT0gdW5kZWZpbmVkKVxuICAgIClcbiAgICAgIHRoaXMubm9Gb3JtYXQgPSB0cnVlO1xuXG4gICAgLy8gaWYgKHRoaXMudHlwZSA9PSAnc2VsZWN0JyB8fCB0aGlzLnR5cGUgPT0gJ2F1dG9jb21wbGV0ZScpXG4gICAgLy8gICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgocikgPT4ge1xuICAgIC8vICAgICB0aGlzLmxhYmVsVmFsdWUgPSB0aGlzLm9wdGlvbnMuZmluZCgoeCkgPT4geC52YWx1ZSA9PSByKT8ubGFiZWw7XG4gICAgLy8gICB9KTtcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmlkKVxuICAgIC8vIGlmICh0aGlzLmRpc2FibGVkKSB0aGlzLl9kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy52aWV3SW5pdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGRpc2FibGVDb250cm9sKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuY29udHJvbCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZFNpZ25hbCgpKSByZXR1cm47XG4gICAgY29udHJvbD8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gIH1cblxuICBjaGFuZ2UoZTogeyB0YXJnZXQ6IHsgY2hlY2tlZD86IGJvb2xlYW47IHZhbHVlOiBhbnkgfSB9IHwgRXZlbnQpIHtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBsZXQgdmFsO1xuICAgIGlmICh0aGlzLnR5cGVTaWduYWwoKSA9PSAnY2hlY2tib3gnKSB7XG4gICAgICB2YWwgPSBlLnRhcmdldD8uWydjaGVja2VkJ107XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZS50YXJnZXQ/LlsnY2hlY2tlZCddKTtcbiAgICB9IGVsc2UgdmFsID0gZS50YXJnZXQ/LlsndmFsdWUnXTtcbiAgICBpZiAodGhpcy50eXBlU2lnbmFsKCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgaWYgKHRoaXMub1R5cGVTaWduYWwoKSA9PSAncGVyY2VudGFnZScgJiYgIXRoaXMubWF4U2lnbmFsKCkpIHtcbiAgICAgICAgdGhpcy5tYXhTaWduYWwuc2V0KDEwMCk7XG4gICAgICAgIHRoaXMubWluU2lnbmFsLnNldCgwKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWwgIT0gbnVsbCAmJiB2YWwgIT0gJycpIHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGlmICh0aGlzLm1heFNpZ25hbCgpICYmICt2YWwgPiArdGhpcy5tYXhTaWduYWwoKSkgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMubWF4U2lnbmFsKCkpO1xuICAgICAgICBlbHNlIGlmICh0aGlzLm1pblNpZ25hbCgpICE9IG51bGwgJiYgdGhpcy5taW5TaWduYWwoKSAhPSB1bmRlZmluZWQgJiYgK3ZhbCA8ICt0aGlzLm1pblNpZ25hbCgpKSB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5taW5TaWduYWwoKSk7XG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWxQb2ludHMgIT0gdW5kZWZpbmVkICYmIHRoaXMuZGVjaW1hbFBvaW50cyAhPSBudWxsKSB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoKygrdmFsKS50b0ZpeGVkKHRoaXMuZGVjaW1hbFBvaW50cykpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5tYXhMZW5ndGggJiYgdGhpcy5jb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKS5sZW5ndGggPiB0aGlzLm1heExlbmd0aClcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgdGhpcy50eXBlU2lnbmFsKCkgPT0gJ251bWJlcidcbiAgICAgICAgICA/ICt0aGlzLmNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpLnNsaWNlKDAsIHRoaXMubWF4TGVuZ3RoKVxuICAgICAgICAgIDogdGhpcy5jb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKS5zbGljZSgwLCB0aGlzLm1heExlbmd0aCksXG4gICAgICApO1xuICAgIHRoaXMudmFsdWVTaWduYWwuc2V0KHRoaXMuY29udHJvbC52YWx1ZSk7XG4gICAgdGhpcy5tY2hhbmdlLmVtaXQodGhpcy5jb250cm9sLnZhbHVlKTtcblxuICAgIHRoaXMubVNlbGVjdE9wdGlvbkNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0aW9uT2JqZWN0U2lnbmFsKCkpO1xuICAgIHRoaXMuY29udHJvbC5sYWJlbFZhbHVlID0gdGhpcy5sYWJlbFNpZ25hbCgpO1xuICB9XG5cbiAgdXBsb2FkKGUpIHtcbiAgICB0aGlzLmZpbGVzID0gZS50YXJnZXQuZmlsZXM7XG4gICAgdGhpcy5tY2hhbmdlLmVtaXQoZSk7XG4gIH1cbn1cbnR5cGUgSW5wdXRUaGVtZSA9IDEgfCAyO1xuZXhwb3J0IHR5cGUgT3B0aW9uTGFiZWxUeXBlID1cbiAgfCAnYWNkJ1xuICB8ICdibmsnXG4gIHwgJ2NjZCdcbiAgfCAnY2QnXG4gIHwgJ2NkdCdcbiAgfCAnY2YnXG4gIHwgJ2NnJ1xuICB8ICdjbCdcbiAgfCAnY21kJ1xuICB8ICdjbidcbiAgfCAnY3QnXG4gIHwgJ2N1J1xuICB8ICdnZCdcbiAgfCAnaGEnXG4gIHwgJ2lkJ1xuICB8ICdpZidcbiAgfCAnaWZsJ1xuICB8ICdpbCdcbiAgfCAnaXQnXG4gIHwgJ21kJ1xuICB8ICduYSdcbiAgfCAncGQnXG4gIHwgJ3BlcCdcbiAgfCAncGFtJ1xuICB8ICduZidcbiAgfCAndGQnXG4gIHwgJ3RpdGxlJ1xuICB8ICd1ZCdcbiAgfCAndWYnXG4gIHwgJ3ZsJ1xuICB8ICd2dic7XG5cbmV4cG9ydCB7IElPcHRpb24gfSBmcm9tICcuL2lucHV0LnNlcnZpY2UnO1xuIiwiPGRpdiBjbGFzcz1cIiAgY3VzdG9tLWlucHV0IGFsaWduLWl0ZW1zLWNlbnRlciB7eyB0eXBlU2lnbmFsKCkgfX0gZ3gtMVwiIFtmb3JtR3JvdXBdPVwiZm9ybSB8IHRvQW55XCIgW25nQ2xhc3NdPVwieyAnZC1mbGV4JzogIXN0YWNrZWRTaWduYWwoKSB9XCI+XG4gIEBpZiAoY29tcHV0ZWRTaG93TGFiZWwoKSkge1xuICAgIDxhcHAtaW5wdXQtbGFiZWxcbiAgICAgIFtjb2xvcmVkXT1cImNvbG9yZWRcIlxuICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICBbaGludF09XCJoaW50XCJcbiAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgIFtpbnZhbGlkQ2hlY2tib3hdPVwiaW52YWxpZENoZWNrYm94U2lnbmFsKClcIlxuICAgICAgW2lzUmVxdWlyZWRdPVwiaXNSZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFNpZ25hbCgpXCJcbiAgICAgIFtsYmxDbF09XCJsYmxDbFwiXG4gICAgICBbbGlnaHRdPVwibGlnaHRcIlxuICAgICAgW21pbmldPVwibWluaVNpZ25hbCgpXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3ctMTAwJzogc3RhY2tlZFNpZ25hbCgpIH1cIlxuICAgICAgW2lubGluZUhpbnRdPVwiaW5saW5lSGludFwiXG4gICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNob3dSZXF1aXJlZFRhZ1NpZ25hbCgpXCJcbiAgICAgIFtzaG93TGFiZWxdPVwic2hvd0xhYmVsU2lnbmFsKClcIlxuICAgICAgW3NtYWxsXT1cInNtYWxsU2lnbmFsKClcIlxuICAgICAgW3N0YWNrZWRdPVwic3RhY2tlZFNpZ25hbCgpXCJcbiAgICAgIFt0aGVtZV09XCJ0aGVtZVwiXG4gICAgICBbeHNtYWxsXT1cInhzbWFsbFwiPjwvYXBwLWlucHV0LWxhYmVsPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHt7IGlucHV0Q29udENsYXNzU2lnbmFsKCkgfX0gXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBkLWZsZXggaW5wdXQtY29udGVudCB3LTEwMFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdtcy0yJzogIXN0YWNrZWRTaWduYWwoKSxcbiAgICAgICAgc2hvd1ZhbGlkYXRpb25JY29uOiBzaG93VmFsaWRhdGlvblNpZ25hbCgpIHx8IHNob3dWYWxpZGF0aW9uSWNvblNpZ25hbCgpLFxuICAgICAgICBkb250Rm9ybWF0QXNJbnB1dDogZG9udEZvcm1hdEFzSW5wdXRTaWduYWwoKVxuICAgICAgfVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICNkYXRlPlxuICAgICAgICA8ZGF0ZS1pbnB1dFxuICAgICAgICAgIFtkZWJ1Z109XCJkZWJ1ZygpXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgIFt0eXBlXT1cInR5cGVTaWduYWwoKVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlZCk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImNvbnRyb2w/LnZhbHVlXCJcbiAgICAgICAgICBbaW5wdXRDbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFNpZ25hbCgpXCJcbiAgICAgICAgICBbbWF4XT1cIm1heFNpZ25hbCgpXCJcbiAgICAgICAgICBbbWluXT1cIm1pblNpZ25hbCgpXCJcbiAgICAgICAgICBbdmFsaWRdPVwidmFsaWRTaWduYWwoKVwiXG4gICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFNpZ25hbCgpXCJcbiAgICAgICAgICBbc2hvd1ZhbGlkYXRpb25dPVwic2hvd1ZhbGlkYXRpb25TaWduYWwoKVwiXG4gICAgICAgICAgW2NvbnRyb2xdPVwiY29udHJvbFwiIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgQHN3aXRjaCAodHlwZVNpZ25hbCgpKSB7XG4gICAgICAgIDwhLS0gREFURSAtLT5cbiAgICAgICAgQGNhc2UgKCdkYXRlJykge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIERBVEVUSU1FLUxPQ0FMIC0tPlxuICAgICAgICBAY2FzZSAoJ2RhdGV0aW1lLWxvY2FsJykge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIENIRUNLQk9YIC0tPlxuICAgICAgICBAY2FzZSAoJ2NoZWNrYm94Jykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWJ1Z109XCJkZWJ1Z1wiXG4gICAgICAgICAgICBjbGFzcz1cInt7IGlucENsU2lnbmFsKCkgfX0gZC1pbmxpbmUtYmxvY2sgZm9ybS1jb250cm9sIHdpZHRoLXVuc2V0XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgICAgICAgIFthdHRyLmluZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdjaGVja2VkYm94Jykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgaW5wQ2xTaWduYWwoKSB9fSBkLWlubGluZS1ibG9jayBmb3JtLWNvbnRyb2wgd2lkdGgtdW5zZXRcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlYnVnXT1cImRlYnVnXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBGSUxFIC0tPlxuICAgICAgICBAY2FzZSAoJ2ZpbGUnKSB7XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgW2lkXT1cImlkU2lnbmFsKClcIiBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCIgKGNoYW5nZSk9XCJ1cGxvYWQoJGV2ZW50KVwiIFthY2NlcHRdPVwiYWNjZXB0XCIgW2F0dHIubXVsdGlwbGVdPVwibXVsdGlwbGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gRklMRSBCVVRUT04tLT5cbiAgICAgICAgQGNhc2UgKCdmaWxlQnV0dG9uJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInVwbG9hZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICAgICAgICAgIFthdHRyLm11bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgIGhpZGRlblxuICAgICAgICAgICAgI2ZpbGUgLz5cbiAgICAgICAgICA8YXBwLWJ0blxuICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgICAobWNsaWNrKT1cImZpbGUuY2xpY2soKVwiXG4gICAgICAgICAgICBpY29uPVwidXBsb2FkXCJcbiAgICAgICAgICAgIFt0eXBlXT1cImZpbGVzID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgdGV4dD1cInt7IHBsYWNlaG9sZGVyIHx8IGxhYmVsU2lnbmFsKCkgfHwgJ1VwbG9hZCcgfX1cIj48L2FwcC1idG4+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBTRUxFQ1QgLS0+XG4gICAgICAgIEBjYXNlICgnc2VsZWN0Jykge1xuICAgICAgICAgIDwhLS0gW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAtLT5cbiAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgI21hdFNlbGVjdFRhZ1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ7eyBuYW1lU3RyU2lnbmFsKCkgfX1cIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBjbHMgfX0ge3sgaW5wdXRDbGFzc1NpZ25hbCgpIH19XCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlKHsgdGFyZ2V0OiAkZXZlbnQgfSlcIj5cbiAgICAgICAgICAgIEBpZiAoc2hvd0VtcHR5T3B0aW9uU2lnbmFsKCkpIHtcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gc2VsZWN0ZWQgW3ZhbHVlXT1cIm51bGxcIiBjbGFzcz1cImVtcHR5LW9wdGlvblwiPlxuICAgICAgICAgICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgaVMudHJhY2tCeVZhbHVlKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9uXCIgW21hdFRvb2x0aXBdPVwiaXRlbS5sYWJlbFwiIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbFdpZHRoIDw9IGVsZS5vZmZzZXRXaWR0aFwiICNlbGU+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIHwgYXBwVHJhbnNsYXRlOiB0cmFuc2xhdGVPcHRpb25zIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEFVVE9DT01QTEVURSAtLT5cbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYXV0b2NvbXBsZXRlJ1wiPlxuICAgICAgICAgIDxhcHAtYXV0b2NvbXBsZXRlIFtmb3JtXT1cImZvcm1cIiBbbGFiZWxdPVwibGFiZWxcIiBbbGFiZWxGaWVsZF09XCJsYWJlbEZpZWxkXCJcbiAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwiYXV0b1BpY2tWYWx1ZUZpZWxkXCIgW2xhYmVsVHlwZV09XCJsYWJlbFR5cGVcIlxuICAgICAgICAgICAgW29wdGlvbnNGdW5jXT1cIm9wdGlvbnNGdW5jXCIgW25hbWVdPVwibmFtZVN0clNpZ25hbCgpXCIgW29wdGlvbkZvcm1hdHRlcl09XCJvcHRpb25Gb3JtYXR0ZXJcIlxuICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiIFtvcHRpb25zXT1cIm9wdGlvbnNcIiBbaGludF09XCJoaW50XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgICA8IS0tIFRFWFRBUkVBIC0tPlxuICAgICAgICBAY2FzZSAoJ3RleHRhcmVhJykge1xuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cIm5vRm9ybWF0XCJcbiAgICAgICAgICAgIFtyb3dzXT1cInRleHRhcmVhUm93c1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIj48L3RleHRhcmVhPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gUmFkaW8gLS0+XG4gICAgICAgIEBjYXNlICgncmFkaW8nKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cIm5vRm9ybWF0XCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFZpZXdlciAtLT5cbiAgICAgICAgQGNhc2UgKCd2aWV3ZXInKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBQQVNTV09SRCAtLT5cbiAgICAgICAgQGNhc2UgKCdwYXNzd29yZCcpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ7eyBzaG93UGFzc3dvcmRTaWduYWwoKSA/ICd0ZXh0JyA6ICdwYXNzd29yZCcgfX1cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cIm5vRm9ybWF0XCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgW21heF09XCJtYXhTaWduYWwoKVwiXG4gICAgICAgICAgICBbbWluXT1cIm1pblNpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXNzd29yZC1pY29ucyBwb2ludGVyXCIgKGNsaWNrKT1cInNob3dQYXNzd29yZFNpZ25hbC5zZXQoIXNob3dQYXNzd29yZFNpZ25hbClcIj5cbiAgICAgICAgICAgIEBpZiAoc2hvd1Bhc3N3b3JkU2lnbmFsKCkpIHtcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leWUtc2xhc2hcIj48L2k+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKCFzaG93UGFzc3dvcmRTaWduYWwoKSkge1xuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV5ZVwiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIERFRkFVTFQgLS0+XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICA8ZGl2IFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIiBbbmdDbGFzc109XCJ7ICdoYXMtcHJlZml4JzogISFwcmVmaXhTaWduYWwoKSwgZGlzYWJsZWQ6IHJlYWRvbmx5U2lnbmFsKCkgfHwgZGlzYWJsZWRTaWduYWwoKSB9XCI+XG4gICAgICAgICAgICBAaWYgKHByZWZpeFNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmVmaXgtdmFsXCIgI3ByZWZpeFZhbD5cbiAgICAgICAgICAgICAgICB7eyBwcmVmaXhTaWduYWwoKSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImVsZS5pbm5lclRleHRcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cImVsZS5zY3JvbGxXaWR0aCA8PSBlbGUub2Zmc2V0V2lkdGhcIlxuICAgICAgICAgICAgICAjZWxlXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtZGVidWddPVwiZGVidWdcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLW5vZm9ybWF0XT1cIm5vRm9ybWF0XCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1vdHlwZV09XCJvVHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbbWF4XT1cIm1heFNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW21pbl09XCJtaW5TaWduYWwoKVwiXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKGRpcnR5U2lnbmFsKCkgJiYgKHNob3dWYWxpZGF0aW9uU2lnbmFsKCkgfHwgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsKCkpKSB7XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyB2YWxpZDogdmFsaWRTaWduYWwoKSB9XCIgY2xhc3M9XCJ2YWxpZGl0eS1pY29uXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyBwZW5kaW5nOiBwZW5kaW5nU2lnbmFsKCkgfVwiIGNsYXNzPVwidmFsaWRpdHktaWNvblwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc3Bpbm5lciBmYS1zcGluXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IGludmFsaWQ6IGludmFsaWRTaWduYWwoKSB9XCIgY2xhc3M9XCJ2YWxpZGl0eS1pY29uXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8IS0tIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlucHV0XCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ7e2lucC50eXBlfX1cIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiaW5wLmZvcm1Db250cm9sXCI+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgaW5wLnZtc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWxpZGF0aW9ufHZhbGlkYXRvcjppbnAuZm9ybUNvbnRyb2w6aW5wLmZvcm1Db250cm9sPy52YWx1ZVwiPlxuICAgICAgICAgICAge3t2YWxpZGF0aW9uLm1lc3NhZ2V8dmFsaWRhdGlvbk1zZzppbnAucHJlZml4OmlucC5zdWZmaXh9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IC0tPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoZW5kTGFiZWxTaWduYWwoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIHRleHQtcHJpbWFyeSBtcy0yXCIgKGNsaWNrKT1cImlTLmxvZyhmb3JtKVwiIFttYXRUb29sdGlwXT1cImVuZExhYmVsVG9vbHRpcFNpZ25hbCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICAgICAge3sgZW5kTGFiZWxTaWduYWwoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG5AaWYgKHNob3dWYWxpZGF0aW9uTXNnU2lnbmFsKCkpIHtcbiAgPGFwcC12YWxpZGF0aW9uLW1lc3NhZ2UgW2xhYmVsXT1cImxhYmVsU2lnbmFsKClcIiBbY29udHJvbF09XCJjb250cm9sXCIgLz5cbn1cbiJdfQ==
@@ -37,7 +37,7 @@ export class InputTD_RFComponent extends InputBasicComponent {
37
37
  if (v == this.model)
38
38
  return;
39
39
  this.model = v;
40
- if (this.debug)
40
+ if (this.debug())
41
41
  debugger;
42
42
  this.control?.enable();
43
43
  this.control?.patchValue(v);
@@ -45,7 +45,7 @@ export class InputTD_RFComponent extends InputBasicComponent {
45
45
  this.control?.disable();
46
46
  }
47
47
  set _disabled(v) {
48
- if (this.debug)
48
+ if (this.debug())
49
49
  debugger;
50
50
  this.disabledSignal.set(v);
51
51
  if (v) {
@@ -68,7 +68,7 @@ export class InputTD_RFComponent extends InputBasicComponent {
68
68
  }
69
69
  ngOnInit() {
70
70
  super.ngOnInit();
71
- if (this.debug)
71
+ if (this.debug())
72
72
  debugger;
73
73
  this.form = new FormGroup({
74
74
  item: new FormControl(this.model, this.validators, this.asyncValidators),
@@ -114,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
114
114
  type: Input,
115
115
  args: ['disabled']
116
116
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGQtcmYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0L2lucHV0LXRkLXJmLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQW9CLFdBQVcsRUFBRSxTQUFTLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVXRDLE1BQU0sT0FBTyxtQkFBbUMsU0FBUSxtQkFBc0M7SUFHNUYsSUFBeUIsV0FBVyxDQUFDLENBQWdCO1FBQ25ELElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFP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SUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRVEsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs4R0E1RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsNlJBSG5CLGNBQWMsc0VDYjNCLGtnVUErUEEsbTRCRGpQWSxrQkFBa0I7OzJGQUVqQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxhQUNMLGNBQWMsV0FDaEIsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQzt3REFLeEIsV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxZQUFZO2dCQVFXLGdCQUFnQjtzQkFBN0MsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBUUosTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxPQUFPO2dCQVFKLFdBQVc7c0JBQXBCLE1BQU07Z0JBRXlCLFNBQVM7c0JBQXhDLEtBQUs7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBc3luY1ZhbGlkYXRvckZuLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dFByb3ZpZGVycywgSW5wdXRTaGFyZWRNb2R1bGVzIH0gZnJvbSAnLi9pbnB1dC1zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC10ZC1yZicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogSW5wdXRQcm92aWRlcnMsXG4gIGltcG9ydHM6IFtEYXRlSW5wdXRDb21wb25lbnQsIElucHV0U2hhcmVkTW9kdWxlc10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VERfUkZDb21wb25lbnQ8VE9wdGlvbiA9IGFueT4gZXh0ZW5kcyBJbnB1dEJhc2ljQ29tcG9uZW50PGFueSwgYW55LCBUT3B0aW9uPiB7XG4gIG92ZXJyaWRlIGZvcm07XG4gIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW107XG4gIEBJbnB1dCgndmFsaWRhdG9ycycpIHNldCBfdmFsaWRhdG9ycyh2OiBWYWxpZGF0b3JGbltdKSB7XG4gICAgdGhpcy5jb250cm9sPy5yZW1vdmVWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9ycyk7XG4gICAgdGhpcy52YWxpZGF0b3JzID0gdjtcbiAgICB0aGlzLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModik7XG4gICAgdGhpcy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm5bXTtcbiAgQElucHV0KCdhc3luY1ZhbGlkYXRvcnMnKSBzZXQgX2FzeW5jVmFsaWRhdG9ycyh2OiBBc3luY1ZhbGlkYXRvckZuW10pIHtcbiAgICB0aGlzLmNvbnRyb2w/LnJlbW92ZVZhbGlkYXRvcnModGhpcy5hc3luY1ZhbGlkYXRvcnMpO1xuICAgIHRoaXMuYXN5bmNWYWxpZGF0b3JzID0gdjtcbiAgICB0aGlzLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModik7XG4gICAgdGhpcy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgnbW9kZWwnKSBzZXQgX21vZGVsKHY6IGFueSkge1xuICAgIGlmICh2ID09IHRoaXMubW9kZWwpIHJldHVybjtcbiAgICB0aGlzLm1vZGVsID0gdjtcbiAgICBpZiAodGhpcy5kZWJ1ZykgZGVidWdnZXI7XG4gICAgdGhpcy5jb250cm9sPy5lbmFibGUoKTtcbiAgICB0aGlzLmNvbnRyb2w/LnBhdGNoVmFsdWUodik7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWRTaWduYWwoKSkgdGhpcy5jb250cm9sPy5kaXNhYmxlKCk7XG4gIH1cbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgnZGlzYWJsZWQnKSBvdmVycmlkZSBzZXQgX2Rpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5kZWJ1ZykgZGVidWdnZXI7XG4gICAgdGhpcy5kaXNhYmxlZFNpZ25hbC5zZXQodik7XG4gICAgaWYgKHYpIHtcbiAgICAgIGlmICh0aGlzLmNsZWFyT25EaXNhYmxlKCkpIHRoaXMuY29udHJvbD8ucmVzZXQoKTtcbiAgICAgIHRoaXMuY29udHJvbD8uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sPy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jb250cm9sPy5lbmFibGUoKTtcbiAgICB9XG4gIH1cbiAgLy8gQElucHV0KCd0eXBlJykgc2V0IF90eXBlKHY6IElucHV0VHlwZSkge1xuICAvLyAgIHN1cGVyLl90eXBlID0gdjtcbiAgLy8gICBpZiAodiA9PSAncGVyY2VudGFnZScpIHRoaXMub1R5cGUgPSAnbnVtYmVyJztcbiAgLy8gfVxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubmFtZVNpZ25hbC5zZXQoJ2l0ZW0nKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKHRoaXMuZGVidWcpIGRlYnVnZ2VyO1xuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgaXRlbTogbmV3IEZvcm1Db250cm9sKHRoaXMubW9kZWwsIHRoaXMudmFsaWRhdG9ycywgdGhpcy5hc3luY1ZhbGlkYXRvcnMpLFxuICAgIH0pO1xuICAgIHRoaXMuZGlzYWJsZUNvbnRyb2woKTtcbiAgICB0aGlzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgY29uc29sZS5sb2coJ3RkLXJmIGVtaXQnLCByICsgJycpO1xuXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoY2xvbmVEZWVwKHIpKTtcbiAgICAgIHRoaXMuZGlzYWJsZUNvbnRyb2woKTtcbiAgICB9KTtcbiAgICAvLyB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgLy8gICBpZiAodGhpcy5kZWJ1ZykgZGVidWdnZXI7XG4gICAgLy8gfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmFtZVNpZ25hbCgpICE9ICdpdGVtJykge1xuICAgICAgLy8gZGVidWdnZXI7XG4gICAgICB0aGlzLm5hbWVTaWduYWwuc2V0KCdpdGVtJyk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiICBjdXN0b20taW5wdXQgYWxpZ24taXRlbXMtY2VudGVyIHt7IHR5cGVTaWduYWwoKSB9fSBneC0xXCIgW2Zvcm1Hcm91cF09XCJmb3JtIHwgdG9BbnlcIiBbbmdDbGFzc109XCJ7ICdkLWZsZXgnOiAhc3RhY2tlZFNpZ25hbCgpIH1cIj5cbiAgQGlmIChjb21wdXRlZFNob3dMYWJlbCgpKSB7XG4gICAgPGFwcC1pbnB1dC1sYWJlbFxuICAgICAgW2NvbG9yZWRdPVwiY29sb3JlZFwiXG4gICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgIFtoaW50XT1cImhpbnRcIlxuICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgW2ludmFsaWRDaGVja2JveF09XCJpbnZhbGlkQ2hlY2tib3hTaWduYWwoKVwiXG4gICAgICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgW2xhYmVsXT1cImxhYmVsU2lnbmFsKClcIlxuICAgICAgW2xibENsXT1cImxibENsXCJcbiAgICAgIFtsaWdodF09XCJsaWdodFwiXG4gICAgICBbbWluaV09XCJtaW5pU2lnbmFsKClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAndy0xMDAnOiBzdGFja2VkU2lnbmFsKCkgfVwiXG4gICAgICBbaW5saW5lSGludF09XCJpbmxpbmVIaW50XCJcbiAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2hvd1JlcXVpcmVkVGFnU2lnbmFsKClcIlxuICAgICAgW3Nob3dMYWJlbF09XCJzaG93TGFiZWxTaWduYWwoKVwiXG4gICAgICBbc21hbGxdPVwic21hbGxTaWduYWwoKVwiXG4gICAgICBbc3RhY2tlZF09XCJzdGFja2VkU2lnbmFsKClcIlxuICAgICAgW3RoZW1lXT1cInRoZW1lXCJcbiAgICAgIFt4c21hbGxdPVwieHNtYWxsXCI+PC9hcHAtaW5wdXQtbGFiZWw+XG4gIH1cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3sgaW5wdXRDb250Q2xhc3NTaWduYWwoKSB9fSBcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGQtZmxleCBpbnB1dC1jb250ZW50IHctMTAwXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ21zLTInOiAhc3RhY2tlZFNpZ25hbCgpLFxuICAgICAgICBzaG93VmFsaWRhdGlvbkljb246IHNob3dWYWxpZGF0aW9uU2lnbmFsKCkgfHwgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsKCksXG4gICAgICAgIGRvbnRGb3JtYXRBc0lucHV0OiBkb250Rm9ybWF0QXNJbnB1dFNpZ25hbCgpXG4gICAgICB9XCI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RhdGU+XG4gICAgICAgIDxkYXRlLWlucHV0XG4gICAgICAgICAgW2RlYnVnXT1cImRlYnVnKClcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2VkKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBbdmFsdWVdPVwiY29udHJvbD8udmFsdWVcIlxuICAgICAgICAgIFtpbnB1dENsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkU2lnbmFsKClcIlxuICAgICAgICAgIFttYXhdPVwibWF4U2lnbmFsKClcIlxuICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgIFt2YWxpZF09XCJ2YWxpZFNpZ25hbCgpXCJcbiAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJzaG93VmFsaWRhdGlvblNpZ25hbCgpXCJcbiAgICAgICAgICBbY29udHJvbF09XCJjb250cm9sXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICBAc3dpdGNoICh0eXBlU2lnbmFsKCkpIHtcbiAgICAgICAgPCEtLSBEQVRFIC0tPlxuICAgICAgICBAY2FzZSAoJ2RhdGUnKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gREFURVRJTUUtTE9DQUwgLS0+XG4gICAgICAgIEBjYXNlICgnZGF0ZXRpbWUtbG9jYWwnKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gQ0hFQ0tCT1ggLS0+XG4gICAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlYnVnXT1cImRlYnVnXCJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgaW5wQ2xTaWduYWwoKSB9fSBkLWlubGluZS1ibG9jayBmb3JtLWNvbnRyb2wgd2lkdGgtdW5zZXRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICAgICAgW2F0dHIuaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ2NoZWNrZWRib3gnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBpbnBDbFNpZ25hbCgpIH19IGQtaW5saW5lLWJsb2NrIGZvcm0tY29udHJvbCB3aWR0aC11bnNldFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVidWddPVwiZGVidWdcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZJTEUgLS0+XG4gICAgICAgIEBjYXNlICgnZmlsZScpIHtcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBbaWRdPVwiaWRTaWduYWwoKVwiIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIiAoY2hhbmdlKT1cInVwbG9hZCgkZXZlbnQpXCIgW2FjY2VwdF09XCJhY2NlcHRcIiBbYXR0ci5tdWx0aXBsZV09XCJtdWx0aXBsZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBGSUxFIEJVVFRPTi0tPlxuICAgICAgICBAY2FzZSAoJ2ZpbGVCdXR0b24nKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBsb2FkKCRldmVudClcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgICAgICAgW2F0dHIubXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgaGlkZGVuXG4gICAgICAgICAgICAjZmlsZSAvPlxuICAgICAgICAgIDxhcHAtYnRuXG4gICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICAgIChtY2xpY2spPVwiZmlsZS5jbGljaygpXCJcbiAgICAgICAgICAgIGljb249XCJ1cGxvYWRcIlxuICAgICAgICAgICAgW3R5cGVdPVwiZmlsZXMgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICB0ZXh0PVwie3sgcGxhY2Vob2xkZXIgfHwgbGFiZWxTaWduYWwoKSB8fCAnVXBsb2FkJyB9fVwiPjwvYXBwLWJ0bj5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFNFTEVDVCAtLT5cbiAgICAgICAgQGNhc2UgKCdzZWxlY3QnKSB7XG4gICAgICAgICAgPCEtLSBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIC0tPlxuICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAjbWF0U2VsZWN0VGFnXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7IG5hbWVTdHJTaWduYWwoKSB9fVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInt7IGNscyB9fSB7eyBpbnB1dENsYXNzU2lnbmFsKCkgfX1cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2UoeyB0YXJnZXQ6ICRldmVudCB9KVwiPlxuICAgICAgICAgICAgQGlmIChzaG93RW1wdHlPcHRpb25TaWduYWwoKSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBzZWxlY3RlZCBbdmFsdWVdPVwibnVsbFwiIGNsYXNzPVwiZW1wdHktb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBvcHRpb25zOyB0cmFjayBpUy50cmFja0J5VmFsdWUoJGluZGV4LCBpdGVtKSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25cIiBbbWF0VG9vbHRpcF09XCJpdGVtLmxhYmVsXCIgW21hdFRvb2x0aXBEaXNhYmxlZF09XCJlbGUuc2Nyb2xsV2lkdGggPD0gZWxlLm9mZnNldFdpZHRoXCIgI2VsZT5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCBhcHBUcmFuc2xhdGU6IHRyYW5zbGF0ZU9wdGlvbnMgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gQVVUT0NPTVBMRVRFIC0tPlxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidhdXRvY29tcGxldGUnXCI+XG4gICAgICAgICAgPGFwcC1hdXRvY29tcGxldGUgW2Zvcm1dPVwiZm9ybVwiIFtsYWJlbF09XCJsYWJlbFwiIFtsYWJlbEZpZWxkXT1cImxhYmVsRmllbGRcIlxuICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJhdXRvUGlja1ZhbHVlRmllbGRcIiBbbGFiZWxUeXBlXT1cImxhYmVsVHlwZVwiXG4gICAgICAgICAgICBbb3B0aW9uc0Z1bmNdPVwib3B0aW9uc0Z1bmNcIiBbbmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIiBbb3B0aW9uRm9ybWF0dGVyXT1cIm9wdGlvbkZvcm1hdHRlclwiXG4gICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtoaW50XT1cImhpbnRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgIDwhLS0gVEVYVEFSRUEgLS0+XG4gICAgICAgIEBjYXNlICgndGV4dGFyZWEnKSB7XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW3Jvd3NdPVwidGV4dGFyZWFSb3dzU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiPjwvdGV4dGFyZWE+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBSYWRpbyAtLT5cbiAgICAgICAgQGNhc2UgKCdyYWRpbycpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gVmlld2VyIC0tPlxuICAgICAgICBAY2FzZSAoJ3ZpZXdlcicpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFBBU1NXT1JEIC0tPlxuICAgICAgICBAY2FzZSAoJ3Bhc3N3b3JkJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInt7IHNob3dQYXNzd29yZFNpZ25hbCgpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyB9fVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbbWF4XT1cIm1heFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLWljb25zIHBvaW50ZXJcIiAoY2xpY2spPVwic2hvd1Bhc3N3b3JkU2lnbmFsLnNldCghc2hvd1Bhc3N3b3JkU2lnbmFsKVwiPlxuICAgICAgICAgICAgQGlmIChzaG93UGFzc3dvcmRTaWduYWwoKSkge1xuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV5ZS1zbGFzaFwiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoIXNob3dQYXNzd29yZFNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllXCI+PC9pPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gREVGQVVMVCAtLT5cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgIDxkaXYgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiIFtuZ0NsYXNzXT1cInsgJ2hhcy1wcmVmaXgnOiAhIXByZWZpeFNpZ25hbCgpLCBkaXNhYmxlZDogcmVhZG9ubHlTaWduYWwoKSB8fCBkaXNhYmxlZFNpZ25hbCgpIH1cIj5cbiAgICAgICAgICAgIEBpZiAocHJlZml4U2lnbmFsKCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZWZpeC12YWxcIiAjcHJlZml4VmFsPlxuICAgICAgICAgICAgICAgIHt7IHByZWZpeFNpZ25hbCgpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZWxlLmlubmVyVGV4dFwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbFdpZHRoIDw9IGVsZS5vZmZzZXRXaWR0aFwiXG4gICAgICAgICAgICAgICNlbGVcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWJ1Z109XCJkZWJ1Z1wiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLW90eXBlXT1cIm9UeXBlU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFttYXhdPVwibWF4U2lnbmFsKClcIlxuICAgICAgICAgICAgICBbbWluXT1cIm1pblNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAoZGlydHlTaWduYWwoKSAmJiAoc2hvd1ZhbGlkYXRpb25TaWduYWwoKSB8fCBzaG93VmFsaWRhdGlvbkljb25TaWduYWwoKSkpIHtcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IHZhbGlkOiB2YWxpZFNpZ25hbCgpIH1cIiBjbGFzcz1cInZhbGlkaXR5LWljb25cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZWNrXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IHBlbmRpbmc6IHBlbmRpbmdTaWduYWwoKSB9XCIgY2xhc3M9XCJ2YWxpZGl0eS1pY29uXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zcGlubmVyIGZhLXNwaW5cIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgaW52YWxpZDogaW52YWxpZFNpZ25hbCgpIH1cIiBjbGFzcz1cInZhbGlkaXR5LWljb25cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDwhLS0gPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaW5wdXRcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInt7aW5wLnR5cGV9fVwiIG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJpbnAuZm9ybUNvbnRyb2xcIj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiBpbnAudm1zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbGlkYXRpb258dmFsaWRhdG9yOmlucC5mb3JtQ29udHJvbDppbnAuZm9ybUNvbnRyb2w/LnZhbHVlXCI+XG4gICAgICAgICAgICB7e3ZhbGlkYXRpb24ubWVzc2FnZXx2YWxpZGF0aW9uTXNnOmlucC5wcmVmaXg6aW5wLnN1ZmZpeH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD4gLS0+XG4gICAgPC9kaXY+XG4gICAgQGlmIChlbmRMYWJlbFNpZ25hbCgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gdGV4dC1wcmltYXJ5IG1zLTJcIiAoY2xpY2spPVwiaVMubG9nKGZvcm0pXCIgW21hdFRvb2x0aXBdPVwiZW5kTGFiZWxUb29sdGlwU2lnbmFsKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luY1wiPlxuICAgICAgICB7eyBlbmRMYWJlbFNpZ25hbCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbkBpZiAoc2hvd1ZhbGlkYXRpb25Nc2dTaWduYWwoKSkge1xuICA8YXBwLXZhbGlkYXRpb24tbWVzc2FnZSBbbGFiZWxdPVwibGFiZWxTaWduYWwoKVwiIFtjb250cm9sXT1cImNvbnRyb2xcIiAvPlxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGQtcmYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2lucHV0L2lucHV0LXRkLXJmLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQW9CLFdBQVcsRUFBRSxTQUFTLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVXRDLE1BQU0sT0FBTyxtQkFBbUMsU0FBUSxtQkFBc0M7SUFHNUYsSUFBeUIsV0FBVyxDQUFDLENBQWdCO1FBQ25ELElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFP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QUMvQixZQUFZO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRVEsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs4R0E1RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsNlJBSG5CLGNBQWMsc0VDYjNCLGtnVUErUEEsbTRCRGpQWSxrQkFBa0I7OzJGQUVqQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxhQUNMLGNBQWMsV0FDaEIsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQzt3REFLeEIsV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxZQUFZO2dCQVFXLGdCQUFnQjtzQkFBN0MsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBUUosTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxPQUFPO2dCQVFKLFdBQVc7c0JBQXBCLE1BQU07Z0JBRXlCLFNBQVM7c0JBQXhDLEtBQUs7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBc3luY1ZhbGlkYXRvckZuLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dFByb3ZpZGVycywgSW5wdXRTaGFyZWRNb2R1bGVzIH0gZnJvbSAnLi9pbnB1dC1zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC10ZC1yZicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogSW5wdXRQcm92aWRlcnMsXG4gIGltcG9ydHM6IFtEYXRlSW5wdXRDb21wb25lbnQsIElucHV0U2hhcmVkTW9kdWxlc10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0VERfUkZDb21wb25lbnQ8VE9wdGlvbiA9IGFueT4gZXh0ZW5kcyBJbnB1dEJhc2ljQ29tcG9uZW50PGFueSwgYW55LCBUT3B0aW9uPiB7XG4gIG92ZXJyaWRlIGZvcm07XG4gIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW107XG4gIEBJbnB1dCgndmFsaWRhdG9ycycpIHNldCBfdmFsaWRhdG9ycyh2OiBWYWxpZGF0b3JGbltdKSB7XG4gICAgdGhpcy5jb250cm9sPy5yZW1vdmVWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9ycyk7XG4gICAgdGhpcy52YWxpZGF0b3JzID0gdjtcbiAgICB0aGlzLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModik7XG4gICAgdGhpcy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm5bXTtcbiAgQElucHV0KCdhc3luY1ZhbGlkYXRvcnMnKSBzZXQgX2FzeW5jVmFsaWRhdG9ycyh2OiBBc3luY1ZhbGlkYXRvckZuW10pIHtcbiAgICB0aGlzLmNvbnRyb2w/LnJlbW92ZVZhbGlkYXRvcnModGhpcy5hc3luY1ZhbGlkYXRvcnMpO1xuICAgIHRoaXMuYXN5bmNWYWxpZGF0b3JzID0gdjtcbiAgICB0aGlzLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModik7XG4gICAgdGhpcy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgnbW9kZWwnKSBzZXQgX21vZGVsKHY6IGFueSkge1xuICAgIGlmICh2ID09IHRoaXMubW9kZWwpIHJldHVybjtcbiAgICB0aGlzLm1vZGVsID0gdjtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICB0aGlzLmNvbnRyb2w/LmVuYWJsZSgpO1xuICAgIHRoaXMuY29udHJvbD8ucGF0Y2hWYWx1ZSh2KTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZFNpZ25hbCgpKSB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgfVxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCdkaXNhYmxlZCcpIG92ZXJyaWRlIHNldCBfZGlzYWJsZWQodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIHRoaXMuZGlzYWJsZWRTaWduYWwuc2V0KHYpO1xuICAgIGlmICh2KSB7XG4gICAgICBpZiAodGhpcy5jbGVhck9uRGlzYWJsZSgpKSB0aGlzLmNvbnRyb2w/LnJlc2V0KCk7XG4gICAgICB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udHJvbD8uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY29udHJvbD8uZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIC8vIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBJbnB1dFR5cGUpIHtcbiAgLy8gICBzdXBlci5fdHlwZSA9IHY7XG4gIC8vICAgaWYgKHYgPT0gJ3BlcmNlbnRhZ2UnKSB0aGlzLm9UeXBlID0gJ251bWJlcic7XG4gIC8vIH1cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm5hbWVTaWduYWwuc2V0KCdpdGVtJyk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgaXRlbTogbmV3IEZvcm1Db250cm9sKHRoaXMubW9kZWwsIHRoaXMudmFsaWRhdG9ycywgdGhpcy5hc3luY1ZhbGlkYXRvcnMpLFxuICAgIH0pO1xuICAgIHRoaXMuZGlzYWJsZUNvbnRyb2woKTtcbiAgICB0aGlzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgY29uc29sZS5sb2coJ3RkLXJmIGVtaXQnLCByICsgJycpO1xuXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoY2xvbmVEZWVwKHIpKTtcbiAgICAgIHRoaXMuZGlzYWJsZUNvbnRyb2woKTtcbiAgICB9KTtcbiAgICAvLyB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgLy8gICBpZiAodGhpcy5kZWJ1ZykgZGVidWdnZXI7XG4gICAgLy8gfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmFtZVNpZ25hbCgpICE9ICdpdGVtJykge1xuICAgICAgLy8gZGVidWdnZXI7XG4gICAgICB0aGlzLm5hbWVTaWduYWwuc2V0KCdpdGVtJyk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiICBjdXN0b20taW5wdXQgYWxpZ24taXRlbXMtY2VudGVyIHt7IHR5cGVTaWduYWwoKSB9fSBneC0xXCIgW2Zvcm1Hcm91cF09XCJmb3JtIHwgdG9BbnlcIiBbbmdDbGFzc109XCJ7ICdkLWZsZXgnOiAhc3RhY2tlZFNpZ25hbCgpIH1cIj5cbiAgQGlmIChjb21wdXRlZFNob3dMYWJlbCgpKSB7XG4gICAgPGFwcC1pbnB1dC1sYWJlbFxuICAgICAgW2NvbG9yZWRdPVwiY29sb3JlZFwiXG4gICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgIFtoaW50XT1cImhpbnRcIlxuICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgW2ludmFsaWRDaGVja2JveF09XCJpbnZhbGlkQ2hlY2tib3hTaWduYWwoKVwiXG4gICAgICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgW2xhYmVsXT1cImxhYmVsU2lnbmFsKClcIlxuICAgICAgW2xibENsXT1cImxibENsXCJcbiAgICAgIFtsaWdodF09XCJsaWdodFwiXG4gICAgICBbbWluaV09XCJtaW5pU2lnbmFsKClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAndy0xMDAnOiBzdGFja2VkU2lnbmFsKCkgfVwiXG4gICAgICBbaW5saW5lSGludF09XCJpbmxpbmVIaW50XCJcbiAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2hvd1JlcXVpcmVkVGFnU2lnbmFsKClcIlxuICAgICAgW3Nob3dMYWJlbF09XCJzaG93TGFiZWxTaWduYWwoKVwiXG4gICAgICBbc21hbGxdPVwic21hbGxTaWduYWwoKVwiXG4gICAgICBbc3RhY2tlZF09XCJzdGFja2VkU2lnbmFsKClcIlxuICAgICAgW3RoZW1lXT1cInRoZW1lXCJcbiAgICAgIFt4c21hbGxdPVwieHNtYWxsXCI+PC9hcHAtaW5wdXQtbGFiZWw+XG4gIH1cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3sgaW5wdXRDb250Q2xhc3NTaWduYWwoKSB9fSBcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGQtZmxleCBpbnB1dC1jb250ZW50IHctMTAwXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ21zLTInOiAhc3RhY2tlZFNpZ25hbCgpLFxuICAgICAgICBzaG93VmFsaWRhdGlvbkljb246IHNob3dWYWxpZGF0aW9uU2lnbmFsKCkgfHwgc2hvd1ZhbGlkYXRpb25JY29uU2lnbmFsKCksXG4gICAgICAgIGRvbnRGb3JtYXRBc0lucHV0OiBkb250Rm9ybWF0QXNJbnB1dFNpZ25hbCgpXG4gICAgICB9XCI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RhdGU+XG4gICAgICAgIDxkYXRlLWlucHV0XG4gICAgICAgICAgW2RlYnVnXT1cImRlYnVnKClcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVNpZ25hbCgpXCJcbiAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVNpZ25hbCgpXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2VkKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBbdmFsdWVdPVwiY29udHJvbD8udmFsdWVcIlxuICAgICAgICAgIFtpbnB1dENsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkU2lnbmFsKClcIlxuICAgICAgICAgIFttYXhdPVwibWF4U2lnbmFsKClcIlxuICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgIFt2YWxpZF09XCJ2YWxpZFNpZ25hbCgpXCJcbiAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkU2lnbmFsKClcIlxuICAgICAgICAgIFtzaG93VmFsaWRhdGlvbl09XCJzaG93VmFsaWRhdGlvblNpZ25hbCgpXCJcbiAgICAgICAgICBbY29udHJvbF09XCJjb250cm9sXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICBAc3dpdGNoICh0eXBlU2lnbmFsKCkpIHtcbiAgICAgICAgPCEtLSBEQVRFIC0tPlxuICAgICAgICBAY2FzZSAoJ2RhdGUnKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gREFURVRJTUUtTE9DQUwgLS0+XG4gICAgICAgIEBjYXNlICgnZGF0ZXRpbWUtbG9jYWwnKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gQ0hFQ0tCT1ggLS0+XG4gICAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlYnVnXT1cImRlYnVnXCJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgaW5wQ2xTaWduYWwoKSB9fSBkLWlubGluZS1ibG9jayBmb3JtLWNvbnRyb2wgd2lkdGgtdW5zZXRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICAgICAgW2F0dHIuaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ2NoZWNrZWRib3gnKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBpbnBDbFNpZ25hbCgpIH19IGQtaW5saW5lLWJsb2NrIGZvcm0tY29udHJvbCB3aWR0aC11bnNldFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVidWddPVwiZGVidWdcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZJTEUgLS0+XG4gICAgICAgIEBjYXNlICgnZmlsZScpIHtcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBbaWRdPVwiaWRTaWduYWwoKVwiIFtjbGFzc109XCJpbnB1dENsYXNzU2lnbmFsKClcIiAoY2hhbmdlKT1cInVwbG9hZCgkZXZlbnQpXCIgW2FjY2VwdF09XCJhY2NlcHRcIiBbYXR0ci5tdWx0aXBsZV09XCJtdWx0aXBsZVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBGSUxFIEJVVFRPTi0tPlxuICAgICAgICBAY2FzZSAoJ2ZpbGVCdXR0b24nKSB7XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBsb2FkKCRldmVudClcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgICAgICAgW2F0dHIubXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgaGlkZGVuXG4gICAgICAgICAgICAjZmlsZSAvPlxuICAgICAgICAgIDxhcHAtYnRuXG4gICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICAgIChtY2xpY2spPVwiZmlsZS5jbGljaygpXCJcbiAgICAgICAgICAgIGljb249XCJ1cGxvYWRcIlxuICAgICAgICAgICAgW3R5cGVdPVwiZmlsZXMgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICB0ZXh0PVwie3sgcGxhY2Vob2xkZXIgfHwgbGFiZWxTaWduYWwoKSB8fCAnVXBsb2FkJyB9fVwiPjwvYXBwLWJ0bj5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFNFTEVDVCAtLT5cbiAgICAgICAgQGNhc2UgKCdzZWxlY3QnKSB7XG4gICAgICAgICAgPCEtLSBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIC0tPlxuICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAjbWF0U2VsZWN0VGFnXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7IG5hbWVTdHJTaWduYWwoKSB9fVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInt7IGNscyB9fSB7eyBpbnB1dENsYXNzU2lnbmFsKCkgfX1cIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2UoeyB0YXJnZXQ6ICRldmVudCB9KVwiPlxuICAgICAgICAgICAgQGlmIChzaG93RW1wdHlPcHRpb25TaWduYWwoKSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBzZWxlY3RlZCBbdmFsdWVdPVwibnVsbFwiIGNsYXNzPVwiZW1wdHktb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBvcHRpb25zOyB0cmFjayBpUy50cmFja0J5VmFsdWUoJGluZGV4LCBpdGVtKSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25cIiBbbWF0VG9vbHRpcF09XCJpdGVtLmxhYmVsXCIgW21hdFRvb2x0aXBEaXNhYmxlZF09XCJlbGUuc2Nyb2xsV2lkdGggPD0gZWxlLm9mZnNldFdpZHRoXCIgI2VsZT5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfCBhcHBUcmFuc2xhdGU6IHRyYW5zbGF0ZU9wdGlvbnMgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gQVVUT0NPTVBMRVRFIC0tPlxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidhdXRvY29tcGxldGUnXCI+XG4gICAgICAgICAgPGFwcC1hdXRvY29tcGxldGUgW2Zvcm1dPVwiZm9ybVwiIFtsYWJlbF09XCJsYWJlbFwiIFtsYWJlbEZpZWxkXT1cImxhYmVsRmllbGRcIlxuICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJhdXRvUGlja1ZhbHVlRmllbGRcIiBbbGFiZWxUeXBlXT1cImxhYmVsVHlwZVwiXG4gICAgICAgICAgICBbb3B0aW9uc0Z1bmNdPVwib3B0aW9uc0Z1bmNcIiBbbmFtZV09XCJuYW1lU3RyU2lnbmFsKClcIiBbb3B0aW9uRm9ybWF0dGVyXT1cIm9wdGlvbkZvcm1hdHRlclwiXG4gICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIFtoaW50XT1cImhpbnRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgIDwhLS0gVEVYVEFSRUEgLS0+XG4gICAgICAgIEBjYXNlICgndGV4dGFyZWEnKSB7XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW3Jvd3NdPVwidGV4dGFyZWFSb3dzU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiPjwvdGV4dGFyZWE+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBSYWRpbyAtLT5cbiAgICAgICAgQGNhc2UgKCdyYWRpbycpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlTaWduYWwoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gVmlld2VyIC0tPlxuICAgICAgICBAY2FzZSAoJ3ZpZXdlcicpIHtcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1ub2Zvcm1hdF09XCJub0Zvcm1hdFwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiaW5wdXRDbGFzc1NpZ25hbCgpXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVNpZ25hbCgpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFBBU1NXT1JEIC0tPlxuICAgICAgICBAY2FzZSAoJ3Bhc3N3b3JkJykge1xuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInt7IHNob3dQYXNzd29yZFNpZ25hbCgpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJyB9fVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hbWVTdHJTaWduYWwoKVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgW2lkXT1cImlkU2lnbmFsKClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICBbbWF4XT1cIm1heFNpZ25hbCgpXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluU2lnbmFsKClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVTaWduYWwoKVwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLWljb25zIHBvaW50ZXJcIiAoY2xpY2spPVwic2hvd1Bhc3N3b3JkU2lnbmFsLnNldCghc2hvd1Bhc3N3b3JkU2lnbmFsKVwiPlxuICAgICAgICAgICAgQGlmIChzaG93UGFzc3dvcmRTaWduYWwoKSkge1xuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV5ZS1zbGFzaFwiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoIXNob3dQYXNzd29yZFNpZ25hbCgpKSB7XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXllXCI+PC9pPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDwhLS0gREVGQVVMVCAtLT5cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgIDxkaXYgW2NsYXNzXT1cImlucHV0Q2xhc3NTaWduYWwoKVwiIFtuZ0NsYXNzXT1cInsgJ2hhcy1wcmVmaXgnOiAhIXByZWZpeFNpZ25hbCgpLCBkaXNhYmxlZDogcmVhZG9ubHlTaWduYWwoKSB8fCBkaXNhYmxlZFNpZ25hbCgpIH1cIj5cbiAgICAgICAgICAgIEBpZiAocHJlZml4U2lnbmFsKCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZWZpeC12YWxcIiAjcHJlZml4VmFsPlxuICAgICAgICAgICAgICAgIHt7IHByZWZpeFNpZ25hbCgpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibmFtZVN0clNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICAgICAgICAgIFtpZF09XCJpZFNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZWxlLmlubmVyVGV4dFwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbFdpZHRoIDw9IGVsZS5vZmZzZXRXaWR0aFwiXG4gICAgICAgICAgICAgICNlbGVcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWJ1Z109XCJkZWJ1Z1wiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtbm9mb3JtYXRdPVwibm9Gb3JtYXRcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLW90eXBlXT1cIm9UeXBlU2lnbmFsKClcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRTaWduYWwoKVwiXG4gICAgICAgICAgICAgIFttYXhdPVwibWF4U2lnbmFsKClcIlxuICAgICAgICAgICAgICBbbWluXT1cIm1pblNpZ25hbCgpXCJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5U2lnbmFsKClcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlU2lnbmFsKClcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAoZGlydHlTaWduYWwoKSAmJiAoc2hvd1ZhbGlkYXRpb25TaWduYWwoKSB8fCBzaG93VmFsaWRhdGlvbkljb25TaWduYWwoKSkpIHtcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IHZhbGlkOiB2YWxpZFNpZ25hbCgpIH1cIiBjbGFzcz1cInZhbGlkaXR5LWljb25cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNoZWNrXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IHBlbmRpbmc6IHBlbmRpbmdTaWduYWwoKSB9XCIgY2xhc3M9XCJ2YWxpZGl0eS1pY29uXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zcGlubmVyIGZhLXNwaW5cIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgaW52YWxpZDogaW52YWxpZFNpZ25hbCgpIH1cIiBjbGFzcz1cInZhbGlkaXR5LWljb25cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDwhLS0gPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaW5wdXRcIiBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInt7aW5wLnR5cGV9fVwiIG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJpbnAuZm9ybUNvbnRyb2xcIj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiBpbnAudm1zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbGlkYXRpb258dmFsaWRhdG9yOmlucC5mb3JtQ29udHJvbDppbnAuZm9ybUNvbnRyb2w/LnZhbHVlXCI+XG4gICAgICAgICAgICB7e3ZhbGlkYXRpb24ubWVzc2FnZXx2YWxpZGF0aW9uTXNnOmlucC5wcmVmaXg6aW5wLnN1ZmZpeH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD4gLS0+XG4gICAgPC9kaXY+XG4gICAgQGlmIChlbmRMYWJlbFNpZ25hbCgpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gdGV4dC1wcmltYXJ5IG1zLTJcIiAoY2xpY2spPVwiaVMubG9nKGZvcm0pXCIgW21hdFRvb2x0aXBdPVwiZW5kTGFiZWxUb29sdGlwU2lnbmFsKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luY1wiPlxuICAgICAgICB7eyBlbmRMYWJlbFNpZ25hbCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbkBpZiAoc2hvd1ZhbGlkYXRpb25Nc2dTaWduYWwoKSkge1xuICA8YXBwLXZhbGlkYXRpb24tbWVzc2FnZSBbbGFiZWxdPVwibGFiZWxTaWduYWwoKVwiIFtjb250cm9sXT1cImNvbnRyb2xcIiAvPlxufVxuIl19