myrta-ui 17.0.25 → 17.0.27

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.
@@ -15,6 +15,7 @@ export class PaginatorComponent {
15
15
  isEmptyPaginator = false;
16
16
  isPaginatorText = false;
17
17
  paginatorText = 'записи';
18
+ dropdownPosition = 'auto';
18
19
  set setPosition(value) {
19
20
  this.position = value || 'centered';
20
21
  }
@@ -107,11 +108,11 @@ export class PaginatorComponent {
107
108
  return item.id;
108
109
  }
109
110
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaginatorComponent, selector: "mrx-paginator", inputs: { pageSizes: "pageSizes", currentPage: "currentPage", pageSize: "pageSize", total: "total", customClasses: "customClasses", isEmptyPaginator: "isEmptyPaginator", isPaginatorText: "isPaginatorText", paginatorText: "paginatorText", setPosition: ["position", "setPosition"], setWithPageSize: ["withPageSize", "setWithPageSize"] }, outputs: { dataStateChanged: "dataStateChanged" }, ngImport: i0, template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n <ng-template #select>\r\n <mrx-input-select\r\n *ngIf=\"withPageSize\"\r\n size=\"medium\"\r\n [(ngModel)]=\"pageSize\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-input-select>\r\n<!-- <ng-select-->\r\n<!-- *ngIf=\"withPageSize\"-->\r\n<!-- [(ngModel)]=\"pageSize\"-->\r\n<!-- [items]=\"pageSizes\"-->\r\n<!-- [clearable]=\"false\"-->\r\n<!-- [searchable]=\"false\"-->\r\n<!-- (change)=\"onChangePageSize($event)\"-->\r\n<!-- class=\"ml-3\"-->\r\n<!-- ></ng-select>-->\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"select\"></ng-container>\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputSelectComponent, selector: "mrx-input-select", inputs: ["fields", "size", "selected", "bindValue", "bindLabel", "customClasses", "wrapperCustomClasses", "multiple", "loading", "addTag", "clearable", "items", "groupBy", "emptyValue", "virtualScroll", "trackByFn", "displayValue", "disabledFromDisplay", "maxLength", "customSearchFn", "isBottomLabel", "search", "required", "disabled", "readonly", "showEmptyFields", "placeholder", "searchable", "loadLabel", "notFoundText", "closeOnSelect", "multiCollapseCount", "invalid", "invalidMessage", "checkInvalid", "label", "labelRequiredHidden", "labelExtraClass", "tooltip", "tooltipHidden", "tooltipVisible", "maxSelectedItems"], outputs: ["changed", "modelChange", "searched"] }] });
111
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaginatorComponent, selector: "mrx-paginator", inputs: { pageSizes: "pageSizes", currentPage: "currentPage", pageSize: "pageSize", total: "total", customClasses: "customClasses", isEmptyPaginator: "isEmptyPaginator", isPaginatorText: "isPaginatorText", paginatorText: "paginatorText", dropdownPosition: "dropdownPosition", setPosition: ["position", "setPosition"], setWithPageSize: ["withPageSize", "setWithPageSize"] }, outputs: { dataStateChanged: "dataStateChanged" }, ngImport: i0, template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n <ng-template #select>\r\n <mrx-input-select\r\n *ngIf=\"withPageSize\"\r\n size=\"medium\"\r\n [(ngModel)]=\"pageSize\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [dropdownPosition]=\"dropdownPosition\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-input-select>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"select\"></ng-container>\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputSelectComponent, selector: "mrx-input-select", inputs: ["fields", "size", "selected", "bindValue", "bindLabel", "customClasses", "wrapperCustomClasses", "multiple", "loading", "addTag", "clearable", "items", "groupBy", "emptyValue", "virtualScroll", "trackByFn", "displayValue", "disabledFromDisplay", "maxLength", "customSearchFn", "isBottomLabel", "search", "required", "disabled", "readonly", "showEmptyFields", "placeholder", "searchable", "loadLabel", "notFoundText", "closeOnSelect", "multiCollapseCount", "dropdownPosition", "invalid", "invalidMessage", "checkInvalid", "label", "labelRequiredHidden", "labelExtraClass", "tooltip", "tooltipHidden", "tooltipVisible", "maxSelectedItems"], outputs: ["changed", "modelChange", "searched"] }] });
111
112
  }
112
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginatorComponent, decorators: [{
113
114
  type: Component,
114
- args: [{ selector: 'mrx-paginator', template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n <ng-template #select>\r\n <mrx-input-select\r\n *ngIf=\"withPageSize\"\r\n size=\"medium\"\r\n [(ngModel)]=\"pageSize\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-input-select>\r\n<!-- <ng-select-->\r\n<!-- *ngIf=\"withPageSize\"-->\r\n<!-- [(ngModel)]=\"pageSize\"-->\r\n<!-- [items]=\"pageSizes\"-->\r\n<!-- [clearable]=\"false\"-->\r\n<!-- [searchable]=\"false\"-->\r\n<!-- (change)=\"onChangePageSize($event)\"-->\r\n<!-- class=\"ml-3\"-->\r\n<!-- ></ng-select>-->\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"select\"></ng-container>\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"] }]
115
+ args: [{ selector: 'mrx-paginator', template: "<div class=\"mrx-paginator\" [class]=\"getClasses\" *ngIf=\"isEmptyPaginator || total\">\r\n <ul class=\"mrx-paginator__list\">\r\n <li\r\n class=\"mrx-paginator__previous\"\r\n [class.disabled]=\"currentPage <= 1\"\r\n (click)=\"currentPage > 1 && onChangeCurrentPage(currentPage - 1)\">\r\n <div class=\"mrx-icon icon-chevron-left icon-font-24\"></div>\r\n </li>\r\n\r\n <li *ngIf=\"getViewItems.length === 0\" class=\"mrx-paginator__item active\">1</li>\r\n\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage > 3 && getItems > 5\" (click)=\"onChangeCurrentPage(1)\">1</li>\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage > 3 && getItems > 5\">...</li>\r\n\r\n <li\r\n class=\"mrx-paginator__item\"\r\n *ngFor=\"let item of getViewItems; trackBy: trackByFn\"\r\n (click)=\"onChangeCurrentPage(item.index)\"\r\n [class.active]=\"currentPage === item.index\"\r\n >\r\n {{item.index}}\r\n </li>\r\n\r\n <li class=\"mrx-paginator__item dots\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\">...</li>\r\n <li class=\"mrx-paginator__item\" *ngIf=\"currentPage < getItems - 2 && getItems > 5\"\r\n (click)=\"onChangeCurrentPage(getItems)\">{{getItems}}</li>\r\n\r\n <li\r\n class=\"mrx-paginator__next\"\r\n [class.disabled]=\"currentPage >= getItems\"\r\n (click)=\"currentPage < getItems && onChangeCurrentPage(currentPage + 1)\">\r\n <div class=\"mrx-icon icon-chevron-right icon-font-24\"></div>\r\n </li>\r\n </ul>\r\n\r\n <ng-template #select>\r\n <mrx-input-select\r\n *ngIf=\"withPageSize\"\r\n size=\"medium\"\r\n [(ngModel)]=\"pageSize\"\r\n [items]=\"pageSizes\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [dropdownPosition]=\"dropdownPosition\"\r\n (ngModelChange)=\"onChangePageSize($event)\"\r\n ></mrx-input-select>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"select\"></ng-container>\r\n\r\n <div *ngIf=\"isPaginatorText\" class=\"mrx-paginator__text\">\r\n \u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044B {{paginatorText}} {{getFirstNumberCurrentPage}} - {{getLastNumberCurrentPage}} \u0438\u0437 {{total}}\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [":host::ng-deep .mrx-paginator{display:flex;align-items:center;list-style:none;padding-left:0;gap:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container{padding-left:var(--spacing-4)}:host::ng-deep .mrx-paginator .mrx-input-select .ng-select .ng-select-container .ng-value-container{min-width:36px;padding:0!important;min-height:auto}:host::ng-deep .mrx-paginator ul{display:flex;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;gap:var(--spacing-1)}:host::ng-deep .mrx-paginator ul li{display:flex;align-items:center;justify-content:center;cursor:pointer}:host::ng-deep .mrx-paginator .mrx-paginator__item{padding-left:var(--spacing-3);padding-right:var(--spacing-3);min-width:32px;min-height:32px;border-radius:4px;font-weight:400;font-size:16px;line-height:24px;transition:.2s}:host::ng-deep .mrx-paginator .mrx-paginator__item.active{background-color:var(--brand-bg-primary-default);color:#fff}:host::ng-deep .mrx-paginator .mrx-paginator__item.dots,:host::ng-deep .mrx-paginator .mrx-paginator__item.disabled{cursor:default}:host::ng-deep .mrx-paginator .mrx-paginator__item:not(.dots,.active):hover{background-color:var(--brand-bg-tertiary-hover)}:host::ng-deep .mrx-paginator .mrx-paginator__previous,:host::ng-deep .mrx-paginator .mrx-paginator__next{min-width:24px;min-height:24px}:host::ng-deep .mrx-paginator .mrx-paginator__previous.disabled .mrx-icon,:host::ng-deep .mrx-paginator .mrx-paginator__next.disabled .mrx-icon{color:var(--neutral-icon-disabled)}:host::ng-deep .mrx-paginator__text{font-size:16px;line-height:24px;color:var(--neutral-text-primary)}.mrx-paginator.mrx-paginator.paginator-centered{justify-content:center}.mrx-paginator.mrx-paginator.paginator-left{justify-content:flex-start}.mrx-paginator.mrx-paginator.paginator-right{justify-content:flex-end}\n"] }]
115
116
  }], propDecorators: { pageSizes: [{
116
117
  type: Input
117
118
  }], currentPage: [{
@@ -128,6 +129,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
128
129
  type: Input
129
130
  }], paginatorText: [{
130
131
  type: Input
132
+ }], dropdownPosition: [{
133
+ type: Input
131
134
  }], setPosition: [{
132
135
  type: Input,
133
136
  args: ['position']
@@ -137,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
137
140
  }], dataStateChanged: [{
138
141
  type: Output
139
142
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUdjLG9CQUFvQixHQUN4QyxNQUFNLGtCQUFrQixDQUFDOzs7OztBQU8xQixNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFFBQVEsR0FBa0MsVUFBVSxDQUFDO0lBQ3JELFlBQVksR0FBd0IsSUFBSSxDQUFDO0lBRXZDLFNBQVMsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFbkIsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsYUFBYSxHQUFXLFFBQVEsQ0FBQztJQUUxQyxJQUNXLFdBQVcsQ0FBQyxLQUFvQztRQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxVQUFVLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLEtBQTBCO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRVMsZ0JBQWdCLEdBQXVDLElB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QUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBTU4sZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxjQUFjO2dCQUtYLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgUGFnaW5hdGVPdXRwdXRPYmplY3QsXHJcbiAgUGFnaW5hdG9ySXRlbSxcclxuICBQYWdpbmF0b3JQb3NpdGlvbiwgUGFnaW5hdG9yUG9zaXRpb25Dc3MsXHJcbn0gZnJvbSAnLi9wYWdpbmF0b3IuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1wYWdpbmF0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRvci5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JDb21wb25lbnQge1xyXG4gIHB1YmxpYyBwb3NpdGlvbjogUGFnaW5hdG9yUG9zaXRpb24gfCB1bmRlZmluZWQgPSAnY2VudGVyZWQnO1xyXG4gIHB1YmxpYyB3aXRoUGFnZVNpemU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBwYWdlU2l6ZXM6IG51bWJlcltdID0gWzIwLCA1MCwgMTAwXTtcclxuICBASW5wdXQoKSBjdXJyZW50UGFnZSA9IDE7XHJcbiAgQElucHV0KCkgcGFnZVNpemUgPSAyMDtcclxuICBASW5wdXQoKSB0b3RhbCA9IDA7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBpc0VtcHR5UGFnaW5hdG9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNQYWdpbmF0b3JUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGFnaW5hdG9yVGV4dDogc3RyaW5nID0gJ9C30LDQv9C40YHQuCc7XHJcblxyXG4gIEBJbnB1dCgncG9zaXRpb24nKVxyXG4gIHB1YmxpYyBzZXQgc2V0UG9zaXRpb24odmFsdWU6IFBhZ2luYXRvclBvc2l0aW9uIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLnBvc2l0aW9uID0gdmFsdWUgfHwgJ2NlbnRlcmVkJztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgnd2l0aFBhZ2VTaXplJylcclxuICBwdWJsaWMgc2V0IHNldFdpdGhQYWdlU2l6ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy53aXRoUGFnZVNpemUgPSB2YWx1ZSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBkYXRhU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8UGFnaW5hdGVPdXRwdXRPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdpbmF0ZU91dHB1dE9iamVjdD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5wb3NpdGlvbiAmJiBQYWdpbmF0b3JQb3NpdGlvbkNzc1t0aGlzLnBvc2l0aW9uXX0gJHt0aGlzLmN1c3RvbUNsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0SXRlbXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy50b3RhbCAvIHRoaXMucGFnZVNpemUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXROdW1iZXJzKCk6IFBhZ2luYXRvckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gQXJyYXkodGhpcy5nZXRJdGVtcylcclxuICAgICAgLmZpbGwoMSlcclxuICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+ICh7IGluZGV4OiBpbmRleCArIDEsIGFjdGl2ZTogaW5kZXggKyAxID09PSB0aGlzLmN1cnJlbnRQYWdlIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Vmlld0l0ZW1zKCk6IFBhZ2luYXRvckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXROdW1iZXJzLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT09IDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAyIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDQ7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA9PSAyICYmIHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLmdldEl0ZW1zKSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAzO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT0gdGhpcy5nZXRJdGVtcyAtIDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDMgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAyIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDE7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA+IDEgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSA0IHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Rmlyc3ROdW1iZXJDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgaWYodGhpcy50b3RhbCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIGlmKHRoaXMudG90YWwgPCB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSAtIHRoaXMucGFnZVNpemUgKyAxKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAodGhpcy5wYWdlU2l6ZSAqIHRoaXMuY3VycmVudFBhZ2UgLSB0aGlzLnBhZ2VTaXplKSArIDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldExhc3ROdW1iZXJDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgaWYodGhpcy50b3RhbCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIGlmKHRoaXMudG90YWwgPCB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3RhbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUN1cnJlbnRQYWdlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY3VycmVudFBhZ2U6IHZhbHVlLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VQYWdlU2l6ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuXHJcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBwYWdlU2l6ZTogdmFsdWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LXBhZ2luYXRvclwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCIgKm5nSWY9XCJpc0VtcHR5UGFnaW5hdG9yIHx8IHRvdGFsXCI+XHJcbiAgPHVsIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fbGlzdFwiPlxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fcHJldmlvdXNcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPD0gMVwiXHJcbiAgICAgIChjbGljayk9XCJjdXJyZW50UGFnZSA+IDEgJiYgb25DaGFuZ2VDdXJyZW50UGFnZShjdXJyZW50UGFnZSAtIDEpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tbGVmdCBpY29uLWZvbnQtMjRcIj48L2Rpdj5cclxuICAgIDwvbGk+XHJcblxyXG4gICAgPGxpICpuZ0lmPVwiZ2V0Vmlld0l0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBhY3RpdmVcIj4xPC9saT5cclxuXHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDMgJiYgZ2V0SXRlbXMgPiA1XCIgKGNsaWNrKT1cIm9uQ2hhbmdlQ3VycmVudFBhZ2UoMSlcIj4xPC9saT5cclxuICAgIDxsaSBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX2l0ZW0gZG90c1wiICpuZ0lmPVwiY3VycmVudFBhZ2UgPiAzICYmIGdldEl0ZW1zID4gNVwiPi4uLjwvbGk+XHJcblxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbVwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldFZpZXdJdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlQ3VycmVudFBhZ2UoaXRlbS5pbmRleClcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRQYWdlID09PSBpdGVtLmluZGV4XCJcclxuICAgID5cclxuICAgICAge3tpdGVtLmluZGV4fX1cclxuICAgIDwvbGk+XHJcblxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBkb3RzXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zIC0gMiAmJiBnZXRJdGVtcyA+IDVcIj4uLi48L2xpPlxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbVwiICpuZ0lmPVwiY3VycmVudFBhZ2UgPCBnZXRJdGVtcyAtIDIgJiYgZ2V0SXRlbXMgPiA1XCJcclxuICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZShnZXRJdGVtcylcIj57e2dldEl0ZW1zfX08L2xpPlxyXG5cclxuICAgIDxsaVxyXG4gICAgICBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX25leHRcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPj0gZ2V0SXRlbXNcIlxyXG4gICAgICAoY2xpY2spPVwiY3VycmVudFBhZ2UgPCBnZXRJdGVtcyAmJiBvbkNoYW5nZUN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlICsgMSlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1yaWdodCBpY29uLWZvbnQtMjRcIj48L2Rpdj5cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNzZWxlY3Q+XHJcbiAgICA8bXJ4LWlucHV0LXNlbGVjdFxyXG4gICAgICAqbmdJZj1cIndpdGhQYWdlU2l6ZVwiXHJcbiAgICAgIHNpemU9XCJtZWRpdW1cIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInBhZ2VTaXplXCJcclxuICAgICAgW2l0ZW1zXT1cInBhZ2VTaXplc1wiXHJcbiAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxyXG4gICAgICBbc2VhcmNoYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtaW5wdXQtc2VsZWN0PlxyXG48IS0tICAgIDxuZy1zZWxlY3QtLT5cclxuPCEtLSAgICAgICpuZ0lmPVwid2l0aFBhZ2VTaXplXCItLT5cclxuPCEtLSAgICAgIFsobmdNb2RlbCldPVwicGFnZVNpemVcIi0tPlxyXG48IS0tICAgICAgW2l0ZW1zXT1cInBhZ2VTaXplc1wiLS0+XHJcbjwhLS0gICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCItLT5cclxuPCEtLSAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCItLT5cclxuPCEtLSAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2VQYWdlU2l6ZSgkZXZlbnQpXCItLT5cclxuPCEtLSAgICAgIGNsYXNzPVwibWwtM1wiLS0+XHJcbjwhLS0gICAgPjwvbmctc2VsZWN0Pi0tPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWxlY3RcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzUGFnaW5hdG9yVGV4dFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fdGV4dFwiPlxyXG4gICAg0J7RgtC+0LHRgNCw0LbQtdC90Ysge3twYWdpbmF0b3JUZXh0fX0ge3tnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlfX0gLSB7e2dldExhc3ROdW1iZXJDdXJyZW50UGFnZX19INC40Lcge3t0b3RhbH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUdjLG9CQUFvQixHQUN4QyxNQUFNLGtCQUFrQixDQUFDOzs7OztBQVExQixNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFFBQVEsR0FBa0MsVUFBVSxDQUFDO0lBQ3JELFlBQVksR0FBd0IsSUFBSSxDQUFDO0lBRXZDLFNBQVMsR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFbkIsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLGVBQWUsR0FBWSxLQUFLLENBQUM7SUFDakMsYUFBYSxHQUFXLFFBQVEsQ0FBQztJQUNqQyxnQkFBZ0IsR0FBc0IsTUFBTSxDQUFDO0lBRXRELElBQ1csV0FBVyxDQUFDLEtBQW9DO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDVyxlQUFlLENBQUMsS0FBMEI7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDO0lB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QkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBTU4sZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxjQUFjO2dCQUtYLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgUGFnaW5hdGVPdXRwdXRPYmplY3QsXHJcbiAgUGFnaW5hdG9ySXRlbSxcclxuICBQYWdpbmF0b3JQb3NpdGlvbiwgUGFnaW5hdG9yUG9zaXRpb25Dc3MsXHJcbn0gZnJvbSAnLi9wYWdpbmF0b3IuZW51bSc7XHJcbmltcG9ydCB7IERyb3Bkb3duUG9zaXRpb24gfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdC9saWIvbmctc2VsZWN0LnR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXBhZ2luYXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHBvc2l0aW9uOiBQYWdpbmF0b3JQb3NpdGlvbiB8IHVuZGVmaW5lZCA9ICdjZW50ZXJlZCc7XHJcbiAgcHVibGljIHdpdGhQYWdlU2l6ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VTaXplczogbnVtYmVyW10gPSBbMjAsIDUwLCAxMDBdO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlID0gMTtcclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDIwO1xyXG4gIEBJbnB1dCgpIHRvdGFsID0gMDtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIGlzRW1wdHlQYWdpbmF0b3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1BhZ2luYXRvclRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwYWdpbmF0b3JUZXh0OiBzdHJpbmcgPSAn0LfQsNC/0LjRgdC4JztcclxuICBASW5wdXQoKSBkcm9wZG93blBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9uICA9ICdhdXRvJztcclxuXHJcbiAgQElucHV0KCdwb3NpdGlvbicpXHJcbiAgcHVibGljIHNldCBzZXRQb3NpdGlvbih2YWx1ZTogUGFnaW5hdG9yUG9zaXRpb24gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMucG9zaXRpb24gPSB2YWx1ZSB8fCAnY2VudGVyZWQnO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCd3aXRoUGFnZVNpemUnKVxyXG4gIHB1YmxpYyBzZXQgc2V0V2l0aFBhZ2VTaXplKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLndpdGhQYWdlU2l6ZSA9IHZhbHVlIHx8IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGRhdGFTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxQYWdpbmF0ZU91dHB1dE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2luYXRlT3V0cHV0T2JqZWN0PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLnBvc2l0aW9uICYmIFBhZ2luYXRvclBvc2l0aW9uQ3NzW3RoaXMucG9zaXRpb25dfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJdGVtcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldE51bWJlcnMoKTogUGFnaW5hdG9ySXRlbVtdIHtcclxuICAgIHJldHVybiBBcnJheSh0aGlzLmdldEl0ZW1zKVxyXG4gICAgICAuZmlsbCgxKVxyXG4gICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gKHsgaW5kZXg6IGluZGV4ICsgMSwgYWN0aXZlOiBpbmRleCArIDEgPT09IHRoaXMuY3VycmVudFBhZ2UgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRWaWV3SXRlbXMoKTogUGFnaW5hdG9ySXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLmdldE51bWJlcnMuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA9PT0gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMSB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAzIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgNDtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRQYWdlID09IDIgJiYgdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMuZ2V0SXRlbXMpIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSArIDM7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50UGFnZSA9PSB0aGlzLmdldEl0ZW1zIC0gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMyB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDIgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRQYWdlID4gMSAmJiB0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5nZXRJdGVtcykge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgKyAxIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlICsgMjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDQgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2UgLSAzIHx8XHJcbiAgICAgICAgICBpdGVtLmluZGV4ID09PSB0aGlzLmN1cnJlbnRQYWdlIC0gMiB8fFxyXG4gICAgICAgICAgaXRlbS5pbmRleCA9PT0gdGhpcy5jdXJyZW50UGFnZSAtIDEgfHxcclxuICAgICAgICAgIGl0ZW0uaW5kZXggPT09IHRoaXMuY3VycmVudFBhZ2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlKCk6IG51bWJlciB7XHJcbiAgICBpZih0aGlzLnRvdGFsID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b3RhbCA8IHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlIC0gdGhpcy5wYWdlU2l6ZSArIDEpIHtcclxuICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICh0aGlzLnBhZ2VTaXplICogdGhpcy5jdXJyZW50UGFnZSAtIHRoaXMucGFnZVNpemUpICsgMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0TGFzdE51bWJlckN1cnJlbnRQYWdlKCk6IG51bWJlciB7XHJcbiAgICBpZih0aGlzLnRvdGFsID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b3RhbCA8IHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvdGFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMucGFnZVNpemUgKiB0aGlzLmN1cnJlbnRQYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlQ3VycmVudFBhZ2UodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhU3RhdGVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICBjdXJyZW50UGFnZTogdmFsdWUsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZVBhZ2VTaXplKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG5cclxuICAgIHRoaXMuZGF0YVN0YXRlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHBhZ2VTaXplOiB2YWx1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcGFnaW5hdG9yXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIiAqbmdJZj1cImlzRW1wdHlQYWdpbmF0b3IgfHwgdG90YWxcIj5cclxuICA8dWwgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19saXN0XCI+XHJcbiAgICA8bGlcclxuICAgICAgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19wcmV2aW91c1wiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA8PSAxXCJcclxuICAgICAgKGNsaWNrKT1cImN1cnJlbnRQYWdlID4gMSAmJiBvbkNoYW5nZUN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlIC0gMSlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1sZWZ0IGljb24tZm9udC0yNFwiPjwvZGl2PlxyXG4gICAgPC9saT5cclxuXHJcbiAgICA8bGkgKm5nSWY9XCJnZXRWaWV3SXRlbXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtIGFjdGl2ZVwiPjE8L2xpPlxyXG5cclxuICAgIDxsaSBjbGFzcz1cIm1yeC1wYWdpbmF0b3JfX2l0ZW1cIiAqbmdJZj1cImN1cnJlbnRQYWdlID4gMyAmJiBnZXRJdGVtcyA+IDVcIiAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZSgxKVwiPjE8L2xpPlxyXG4gICAgPGxpIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9faXRlbSBkb3RzXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDMgJiYgZ2V0SXRlbXMgPiA1XCI+Li4uPC9saT5cclxuXHJcbiAgICA8bGlcclxuICAgICAgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCJcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0Vmlld0l0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAoY2xpY2spPVwib25DaGFuZ2VDdXJyZW50UGFnZShpdGVtLmluZGV4KVwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudFBhZ2UgPT09IGl0ZW0uaW5kZXhcIlxyXG4gICAgPlxyXG4gICAgICB7e2l0ZW0uaW5kZXh9fVxyXG4gICAgPC9saT5cclxuXHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtIGRvdHNcIiAqbmdJZj1cImN1cnJlbnRQYWdlIDwgZ2V0SXRlbXMgLSAyICYmIGdldEl0ZW1zID4gNVwiPi4uLjwvbGk+XHJcbiAgICA8bGkgY2xhc3M9XCJtcngtcGFnaW5hdG9yX19pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zIC0gMiAmJiBnZXRJdGVtcyA+IDVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNoYW5nZUN1cnJlbnRQYWdlKGdldEl0ZW1zKVwiPnt7Z2V0SXRlbXN9fTwvbGk+XHJcblxyXG4gICAgPGxpXHJcbiAgICAgIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fbmV4dFwiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA+PSBnZXRJdGVtc1wiXHJcbiAgICAgIChjbGljayk9XCJjdXJyZW50UGFnZSA8IGdldEl0ZW1zICYmIG9uQ2hhbmdlQ3VycmVudFBhZ2UoY3VycmVudFBhZ2UgKyAxKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLXJpZ2h0IGljb24tZm9udC0yNFwiPjwvZGl2PlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3NlbGVjdD5cclxuICAgIDxtcngtaW5wdXQtc2VsZWN0XHJcbiAgICAgICpuZ0lmPVwid2l0aFBhZ2VTaXplXCJcclxuICAgICAgc2l6ZT1cIm1lZGl1bVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwicGFnZVNpemVcIlxyXG4gICAgICBbaXRlbXNdPVwicGFnZVNpemVzXCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgW2Ryb3Bkb3duUG9zaXRpb25dPVwiZHJvcGRvd25Qb3NpdGlvblwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtaW5wdXQtc2VsZWN0PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWxlY3RcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImlzUGFnaW5hdG9yVGV4dFwiIGNsYXNzPVwibXJ4LXBhZ2luYXRvcl9fdGV4dFwiPlxyXG4gICAg0J7RgtC+0LHRgNCw0LbQtdC90Ysge3twYWdpbmF0b3JUZXh0fX0ge3tnZXRGaXJzdE51bWJlckN1cnJlbnRQYWdlfX0gLSB7e2dldExhc3ROdW1iZXJDdXJyZW50UGFnZX19INC40Lcge3t0b3RhbH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
@@ -217,7 +217,7 @@ export class PdfViewerComponent {
217
217
  this.handTool = !this.handTool;
218
218
  }
219
219
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i1.NgxExtendedPdfViewerService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
220
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfViewerComponent, selector: "mrx-pdf-viewer", inputs: { showSidebarButton: "showSidebarButton", showHandToolButton: "showHandToolButton", handTool: "handTool", showFindbarButton: "showFindbarButton", showRotateButton: "showRotateButton", showPrintButton: "showPrintButton", showDownloadButton: "showDownloadButton", showExpandButton: "showExpandButton", defaultZoom: "defaultZoom", downloadFileName: "downloadFileName", src: "src" }, providers: [TooltipService], viewQueries: [{ propertyName: "pdfViewer", first: true, predicate: NgxExtendedPdfViewerComponent, descendants: true }, { propertyName: "findMenu", first: true, predicate: ["findMenu"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #customToolbar>\r\n <div class=\"mrx-pdf-viewer__toolbar\" id=\"toolbarViewer\">\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n *ngIf=\"showSidebarButton\"\r\n [iconClass]=\"'icon-burger'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onSidebarViewClick()\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': sidebarVisible}\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n [title]=\"'test'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n *ngIf=\"showFindbarButton\"\r\n [iconClass]=\"'icon-search'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onSearchClick()\"\r\n [customClasses]=\"'py-1 px-2 mrx-pdf-viewer__find-button'\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': isSearchPanelVisible}\"\r\n ></mrx-icon-button>\r\n <div *ngIf=\"isSearchPanelVisible\" class=\"mrx-pdf-viewer__findbar\" #findMenu>\r\n <mrx-input-text\r\n [customClasses]=\"findState === 1 ? 'mrx-input-error' :''+'searchText'\"\r\n placeholder=\"\u041D\u0430\u0439\u0442\u0438 \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0435...\"\r\n [ngModel]=\"searchQuery\"\r\n (ngModelChange)=\"onSearch($event)\">\r\n </mrx-input-text>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'p-1'\"\r\n (mrxClick)=\"findPrevious()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'p-1'\"\r\n (mrxClick)=\"findNext()\"\r\n ></mrx-icon-button>\r\n <div *ngIf=\"findState === 0 || findState === 2\" class=\"mrx-pdf-viewer__findbar-result\">\r\n {{currentFind}} \u0438\u0437 {{totalFound}} \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439\r\n </div>\r\n <div *ngIf=\"findState === 1\" class=\"color-negative d-flex align-items-center\">\u0424\u0440\u0430\u0437\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430</div>\r\n </div>\r\n <div class=\"mrx-pdf-viewer__toolbar--nav\">\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-in-the-end-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPageChange(1)\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPageChange(page - 1 || 1)\"\r\n ></mrx-icon-button>\r\n <mrx-input-number [size]=\"'small'\" [customClasses]=\"'wpx-56'\"\r\n [ngModel]=\"page\"\r\n [numberType]=\"'int'\"\r\n [minValue]=\"1\"\r\n [maxValue]=\"pageCount\"\r\n [isAutoCorrectingValue]=\"true\"\r\n (ngModelChange)=\"onPageChange($event)\"\r\n ></mrx-input-number>\r\n <span class=\"mx-1\">\u0438\u0437 {{pageCount}}</span>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onNextPage()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-in-the-end-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onLastPage()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n (mrxClick)=\"zoomClick(false)\"\r\n [iconClass]=\"'icon-minus'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n (mrxClick)=\"zoomClick(true)\"\r\n [iconClass]=\"'icon-plus'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-input-select\r\n [size]=\"'medium'\"\r\n [customClasses]=\"'wpx-156'\"\r\n [items]=\"zoomOptions\"\r\n (ngModelChange)=\"onZoomLevelSelect($event)\"\r\n [ngModel]=\"selectedZoom\"\r\n [clearable]=\"false\">\r\n </mrx-input-select>\r\n </div>\r\n\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-fc-text'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showHandToolButton\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': !handTool}\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onHandToolClick()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-reload'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showRotateButton\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onRotate(1)\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-return'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showRotateButton\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onRotate(-1)\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-arrow-expand'\"\r\n *ngIf=\"showExpandButton\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onExpandModeClick()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-print'\"\r\n *ngIf=\"showPrintButton\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPrintClick()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n *ngIf=\"showDownloadButton\"\r\n [iconClass]=\"'icon-download'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onDownloadClick()\"\r\n ></mrx-icon-button>\r\n </div>\r\n\r\n </div>\r\n</ng-template>\r\n\r\n<ngx-extended-pdf-viewer\r\n #pdfViewer\r\n class=\"mrx-pdf-viewer\"\r\n [page]=\"page\"\r\n [sidebarVisible]=\"showSidebarButton && sidebarVisible\"\r\n (sidebarVisibleChange)=\"onSidebarVisibleChange($event)\"\r\n [customToolbar]=\"customToolbar\"\r\n [showSidebarButton]=\"true\"\r\n (pagesLoaded)=\"onPagesLoaded($event)\"\r\n [zoom]=\"selectedZoom.value\"\r\n (zoomChange)=\"onZoomChange($event)\"\r\n [textLayer]=\"true\"\r\n (pageChange)=\"onPageChange($event)\"\r\n [handTool]=\"handTool\"\r\n [rotation]=\"rotation\"\r\n (updateFindMatchesCount)=\"onUpdateMatchCase($event)\"\r\n (updateFindState)=\"onFindStateChanged($event)\"\r\n [src]=\"src\">\r\n</ngx-extended-pdf-viewer>\r\n", styles: [".mrx-pdf-viewer__toolbar{display:flex;padding:var(--spacing-1, 4px);justify-content:space-between;align-items:center;background:var(--neutral-bg-island-default, #F8F9FA);box-shadow:0 1px 4px #3b43571a;font-family:var(--body-sm-font-family, \"PT Sans\");font-size:var(--body-sm-font-size, 12px);font-style:normal;font-weight:var(--body-extra-sm-font-weight, 400);line-height:var(--body-lg-bold-font-size, 16px)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container{min-height:28px!important;min-width:var(--sizing-10);padding:2px;padding-left:var(--spacing-1);padding-right:var(--spacing-2)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container{padding-left:var(--spacing-1)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-input{padding-left:var(--spacing-1)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{min-height:var(--sizing-5);padding:calc(var(--spacing-1) / 2) var(--spacing-2)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected:before{content:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3336 4.6665L6.00032 11.9998L2.66699 8.66649' stroke='%23000' stroke-width='0.999998' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");right:var(--spacing-2)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-number.mrx-input-number.mrx-input-number-sm:not(.mrx-input-number-with-icon) input{padding:var(--spacing-1, 4px) var(--spacing-2, 8px)!important;min-height:28px;border:var(--border-width-default, 1px) solid var(--neutral-bg-stroke-default, #BFC5CC);text-align:right;font-size:var(--body-sm-font-size, 12px)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon{color:var(--neutral-icon-default)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon.icon-font-20{font-size:20px!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon.icon-font-24{font-size:24px!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button{position:relative;max-width:36px;max-height:28px;box-sizing:border-box}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button:after{content:\"\";position:absolute;left:0;top:0;width:100%;height:100%;border-radius:var(--border-radius-1, 4px);border:1px solid transparent;transition:.2s}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button--toggled .mrx-icon-button{background:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button--toggled .mrx-icon-button:after{border-color:var(--brand-bg-primary-default, #2A6AB8)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button:active{background:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button:active:after{border-color:var(--brand-bg-primary-default, #2A6AB8)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button.icon-search.mrx-pdf-viewer__find-button{position:relative}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar .mrx-input-text.mrx-input-text-lg input{font-size:var(--body-sm-font-size, 12px)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar mrx-input-text{width:100%}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar mrx-input-text .mrx-input-text{box-shadow:0 1px 4px #3a3a3a4d;border-radius:var(--border-radius-1)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar mrx-icon-button .mrx-icon-button{max-width:unset;max-height:unset}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar-result{display:flex;padding:6px var(--spacing-2, 8px);justify-content:center;align-items:center;gap:10px;border-radius:var(--sizing-1, 4px);background:var(--brand-bg-secondary-default, #EDF5FF);white-space:nowrap}.mrx-pdf-viewer__toolbar--nav{display:flex;align-items:center}.mrx-pdf-viewer__toolbar--nav span{color:var(--neutral-text-tertiary, #71767E)}.mrx-pdf-viewer__toolbar__find-button{position:relative}.mrx-pdf-viewer__findbar{position:absolute;top:47px;left:35px;z-index:100;background:#fff;width:auto;display:flex;padding:var(--spacing-2, 8px);border-radius:var(--sizing-1, 4px);box-shadow:0 1px 4px #3a3a3a4d;max-height:44px;box-sizing:border-box}.mrx-pdf-viewer__findbar:before{position:absolute;content:\"\";background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2012%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M24%2012H0L12%200L24%2012Z%22%20fill%3D%22white%22/%3E%0A%3C/svg%3E);background-repeat:no-repeat;top:-12px;left:12px;width:24px;height:12px}.mrx-pdf-viewer__findbar .searchText{position:absolute;top:20px}.mrx-pdf-viewer__findbar ::ng-deep .mrx-input-text.mrx-input-text{max-width:279px;min-width:279px}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar{background-color:var(--neutral-bg-island-default, #F8F9FA);padding:var(--spacing-1, 4px);height:28px!important;box-sizing:border-box;width:100%}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton{margin-top:0;margin-bottom:0;width:var(--sizing-6, 24px);max-width:var(--sizing-6, 24px);height:20px;padding:0;font-family:mrx-icon-font!important;color:var(--neutral-icon-default, #33373C);line-height:1;font-size:var(--body-lg-font-size, 16px);box-sizing:border-box;border-radius:var(--sizing-1, 4px);outline:none;border:1px solid transparent}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton:focus{border:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton:hover{background:var(--brand-bg-tertiary-hover, #edf5ff)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton.toggled{border:1px solid var(--brand-bg-primary-default, #2A6AB8);background:var(--brand-bg-secondary-default, #EDF5FF)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton svg{display:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton#viewThumbnail:after{content:\"\\e968\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton#viewOutline:after{content:\"\\ea1b\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton#viewLayers:after{content:\"\\e935\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-content #sidebarContent{top:28px!important;background-color:var(--neutral-bg-island-default, #F8F9FA)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView::-webkit-scrollbar,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView::-webkit-scrollbar,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView::-webkit-scrollbar{width:var(--sizing-2, 8px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView::-webkit-scrollbar-thumb,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView::-webkit-scrollbar-thumb,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default, #BFC5CC);border-radius:var(--sizing-1, 4px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView::-webkit-scrollbar-thumb:hover,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView::-webkit-scrollbar-thumb:hover,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView::-webkit-scrollbar-thumb:hover{background:var(--neutral-bg-stroke-default, #BFC5CC)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView{padding:var(--spacing-3, 16px) var(--sizing-10, 40px);width:calc(100% - var(--sizing-20, 80px))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView .thumbnail{margin:0;border:var(--spacing-1) solid rgba(0,0,0,0);border-radius:0}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView .thumbnail.selected{border:var(--spacing-1, 4px) solid var(--brand-bg-secondary-selected, #BED6F1)!important}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView{padding:var(--spacing-3, 16px);width:calc(100% - var(--spacing-6, 64px))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem{outline:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem:focus,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem:focus,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem:hover,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem:hover{outline:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem>a,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem>a{color:var(--neutral-text-primary, #262626);font-size:var(--body-sm-font-size, 12px);line-height:var(--body-lg-bold-font-size, 16px);outline:none;border:none;padding:calc(var(--spacing-1, 4px) / 2) var(--spacing-1, 4px);min-width:calc(100% - var(--sizing-3, 12px))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem>a:focus,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem>a:focus{outline:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem.selected>a,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem.selected>a{border-radius:var(--spacing-1, 4px);border:1px solid var(--brand-bg-primary-default, #2A6AB8)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem input[type=checkbox]:checked,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem input[type=checkbox]:checked{accent-color:var(--brand-bg-primary-default, #2A6AB8)!important}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItemToggler,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItemToggler{font-family:mrx-icon-font!important;color:var(--neutral-icon-default, 33373C);line-height:1;font-size:var(--body-lg-font-size, 16px);box-sizing:border-box;cursor:pointer}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItemToggler:before,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItemToggler:before{content:\"\\e926\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItemToggler.treeItemsHidden:before,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItemToggler.treeItemsHidden:before{content:\"\\e925\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer #viewerContainer::-webkit-scrollbar{width:var(--sizing-2, 8px);height:var(--sizing-2, 8px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer #viewerContainer::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default, #BFC5CC);border-radius:var(--sizing-1, 4px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer #viewerContainer::-webkit-scrollbar-thumb:hover{background:var(--neutral-bg-stroke-default, #BFC5CC)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .pdfViewer .page{border:none;box-shadow:0 1px 4px #3b43571a;margin-bottom:var(--spacing-2, 8px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .textLayer .highlight{background-color:var(--brand-bg-primary-default, #2A6AB8)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .textLayer .highlight.selected{background-color:var(--system-text-positive, #004A1A)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .textLayer ::selection{background:var(--brand-bg-secondary-hover, #bed6f1)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .dialogButton{color:var(--neutral-text-primary, #262626);font-size:var(--body-md-font-size, 14px);line-height:20px;background-color:var(--brand-bg-tertiary-default, #FFF);border:var(--brand-bg-tertiary-default, #FFF)!important}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog{box-shadow:0 1px 4px #3a3a3a4d;border:none;padding:var(--spacing-3, 16px);background:var(--brand-bg-tertiary-default, #FFF)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog::backdrop{background:var(--neutral-bg-modal, rgba(38, 38, 38, .25))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog progress{border-radius:var(--sizing-1, 4px);width:120px;height:var(--sizing-1, 4px);vertical-align:middle}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog progress::-webkit-progress-bar{background-color:var(--neutral-bg-island-default, #F8F9FA);border-radius:var(--sizing-1, 4px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog progress::-webkit-progress-value{background-color:var(--brand-bg-primary-default, #2A6AB8);border-radius:var(--sizing-1, 4px)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.NgxExtendedPdfViewerComponent, selector: "ngx-extended-pdf-viewer", inputs: ["customFindbarInputArea", "customToolbar", "customFindbar", "customFindbarButtons", "customPdfViewer", "customSecondaryToolbar", "customSidebar", "customThumbnail", "customFreeFloatingBar", "showFreeFloatingBar", "enableDragAndDrop", "formData", "disableForms", "pageViewMode", "scrollMode", "authorization", "httpHeaders", "contextMenuAllowed", "enablePrint", "delayFirstView", "showTextEditor", "showStampEditor", "showDrawEditor", "logLevel", "relativeCoordsOptions", "minifiedJSLibraries", "printResolution", "rotation", "src", "base64Src", "minHeight", "height", "useBrowserLocale", "forceUsingLegacyES5", "backgroundColor", "filenameForDownload", "ignoreKeyboard", "ignoreKeys", "acceptKeys", "imageResourcesPath", "localeFolderPath", "language", "listenToURL", "nameddest", "password", "replaceBrowserPrint", "showUnverifiedSignatures", "startTabindex", "showSidebarButton", "sidebarVisible", "activeSidebarView", "findbarVisible", "propertiesDialogVisible", "showFindButton", "showFindHighlightAll", "showFindMatchCase", "showFindCurrentPageOnly", "showFindPageRange", "showFindEntireWord", "showFindEntirePhrase", "showFindMatchDiacritics", "showFindFuzzySearch", "showFindResultsCount", "showFindMessages", "showPagingButtons", "showZoomButtons", "showPresentationModeButton", "showOpenFileButton", "showPrintButton", "showDownloadButton", "theme", "showToolbar", "showSecondaryToolbarButton", "showSinglePageModeButton", "showVerticalScrollButton", "showHorizontalScrollButton", "showWrappedScrollButton", "showInfiniteScrollButton", "showBookModeButton", "showRotateButton", "handTool", "showHandToolButton", "showScrollingButton", "showSpreadButton", "showPropertiesButton", "showBorders", "spread", "page", "pageLabel", "textLayer", "zoom", "zoomLevels", "maxZoom", "minZoom", "mobileFriendlyZoom"], outputs: ["formDataChange", "pageViewModeChange", "progress", "srcChange", "scrollModeChange", "afterPrint", "beforePrint", "currentZoomFactor", "rotationChange", "annotationLayerRendered", "annotationEditorLayerRendered", "xfaLayerRendered", "outlineLoaded", "attachmentsloaded", "layersloaded", "sidebarVisibleChange", "activeSidebarViewChange", "findbarVisibleChange", "propertiesDialogVisibleChange", "handToolChange", "spreadChange", "thumbnailDrawn", "pageChange", "pageLabelChange", "pagesLoaded", "pageRender", "pageRendered", "pdfDownloaded", "pdfLoaded", "pdfLoadingStarts", "pdfLoadingFailed", "textLayerRendered", "annotationEditorModeChanged", "updateFindMatchesCount", "updateFindState", "zoomChange"] }, { kind: "component", type: i3.IconButtonComponent, selector: "mrx-icon-button", inputs: ["size", "state", "type", "iconClass", "disabled", "tooltip", "tooltipPosition", "tooltipMaxWidth", "isActive", "customClasses"], outputs: ["mrxClick"] }, { kind: "component", type: i4.InputSelectComponent, selector: "mrx-input-select", inputs: ["fields", "size", "selected", "bindValue", "bindLabel", "customClasses", "wrapperCustomClasses", "multiple", "loading", "addTag", "clearable", "items", "groupBy", "emptyValue", "virtualScroll", "trackByFn", "displayValue", "disabledFromDisplay", "maxLength", "customSearchFn", "isBottomLabel", "search", "required", "disabled", "readonly", "showEmptyFields", "placeholder", "searchable", "loadLabel", "notFoundText", "closeOnSelect", "multiCollapseCount", "invalid", "invalidMessage", "checkInvalid", "label", "labelRequiredHidden", "labelExtraClass", "tooltip", "tooltipHidden", "tooltipVisible", "maxSelectedItems"], outputs: ["changed", "modelChange", "searched"] }, { kind: "component", type: i5.InputNumberComponent, selector: "mrx-input-number", inputs: ["fields", "placeholder", "innerClass", "customClasses", "required", "allowNegative", "size", "separator", "decimalSeparator", "isNullableValue", "isAutoCorrectingValue", "invalid", "checkInvalid", "numberType", "invalidMessage", "disabled", "readonly", "minValue", "maxValue"], outputs: ["modelChange"] }, { kind: "component", type: i6.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
220
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfViewerComponent, selector: "mrx-pdf-viewer", inputs: { showSidebarButton: "showSidebarButton", showHandToolButton: "showHandToolButton", handTool: "handTool", showFindbarButton: "showFindbarButton", showRotateButton: "showRotateButton", showPrintButton: "showPrintButton", showDownloadButton: "showDownloadButton", showExpandButton: "showExpandButton", defaultZoom: "defaultZoom", downloadFileName: "downloadFileName", src: "src" }, providers: [TooltipService], viewQueries: [{ propertyName: "pdfViewer", first: true, predicate: NgxExtendedPdfViewerComponent, descendants: true }, { propertyName: "findMenu", first: true, predicate: ["findMenu"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #customToolbar>\r\n <div class=\"mrx-pdf-viewer__toolbar\" id=\"toolbarViewer\">\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n *ngIf=\"showSidebarButton\"\r\n [iconClass]=\"'icon-burger'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onSidebarViewClick()\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': sidebarVisible}\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n [title]=\"'test'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n *ngIf=\"showFindbarButton\"\r\n [iconClass]=\"'icon-search'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onSearchClick()\"\r\n [customClasses]=\"'py-1 px-2 mrx-pdf-viewer__find-button'\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': isSearchPanelVisible}\"\r\n ></mrx-icon-button>\r\n <div *ngIf=\"isSearchPanelVisible\" class=\"mrx-pdf-viewer__findbar\" #findMenu>\r\n <mrx-input-text\r\n [customClasses]=\"findState === 1 ? 'mrx-input-error' :''+'searchText'\"\r\n placeholder=\"\u041D\u0430\u0439\u0442\u0438 \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0435...\"\r\n [ngModel]=\"searchQuery\"\r\n (ngModelChange)=\"onSearch($event)\">\r\n </mrx-input-text>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'p-1'\"\r\n (mrxClick)=\"findPrevious()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'p-1'\"\r\n (mrxClick)=\"findNext()\"\r\n ></mrx-icon-button>\r\n <div *ngIf=\"findState === 0 || findState === 2\" class=\"mrx-pdf-viewer__findbar-result\">\r\n {{currentFind}} \u0438\u0437 {{totalFound}} \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439\r\n </div>\r\n <div *ngIf=\"findState === 1\" class=\"color-negative d-flex align-items-center\">\u0424\u0440\u0430\u0437\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430</div>\r\n </div>\r\n <div class=\"mrx-pdf-viewer__toolbar--nav\">\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-in-the-end-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPageChange(1)\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-left'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPageChange(page - 1 || 1)\"\r\n ></mrx-icon-button>\r\n <mrx-input-number [size]=\"'small'\" [customClasses]=\"'wpx-56'\"\r\n [ngModel]=\"page\"\r\n [numberType]=\"'int'\"\r\n [minValue]=\"1\"\r\n [maxValue]=\"pageCount\"\r\n [isAutoCorrectingValue]=\"true\"\r\n (ngModelChange)=\"onPageChange($event)\"\r\n ></mrx-input-number>\r\n <span class=\"mx-1\">\u0438\u0437 {{pageCount}}</span>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-chevron-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onNextPage()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-in-the-end-right'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onLastPage()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n (mrxClick)=\"zoomClick(false)\"\r\n [iconClass]=\"'icon-minus'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n (mrxClick)=\"zoomClick(true)\"\r\n [iconClass]=\"'icon-plus'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-input-select\r\n [size]=\"'medium'\"\r\n [customClasses]=\"'wpx-156'\"\r\n [items]=\"zoomOptions\"\r\n (ngModelChange)=\"onZoomLevelSelect($event)\"\r\n [ngModel]=\"selectedZoom\"\r\n [clearable]=\"false\">\r\n </mrx-input-select>\r\n </div>\r\n\r\n <div class=\"d-flex\">\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-fc-text'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showHandToolButton\"\r\n [ngClass]=\"{'mrx-icon-button--toggled': !handTool}\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onHandToolClick()\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-reload'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showRotateButton\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onRotate(1)\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-return'\"\r\n [size]=\"'medium'\"\r\n *ngIf=\"showRotateButton\"\r\n [state]=\"'default'\"\r\n (mrxClick)=\"onRotate(-1)\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-arrow-expand'\"\r\n *ngIf=\"showExpandButton\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onExpandModeClick()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n [iconClass]=\"'icon-print'\"\r\n *ngIf=\"showPrintButton\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onPrintClick()\"\r\n ></mrx-icon-button>\r\n <mrx-icon-button\r\n *ngIf=\"showDownloadButton\"\r\n [iconClass]=\"'icon-download'\"\r\n [size]=\"'medium'\"\r\n [state]=\"'default'\"\r\n [customClasses]=\"'py-1 px-2'\"\r\n (mrxClick)=\"onDownloadClick()\"\r\n ></mrx-icon-button>\r\n </div>\r\n\r\n </div>\r\n</ng-template>\r\n\r\n<ngx-extended-pdf-viewer\r\n #pdfViewer\r\n class=\"mrx-pdf-viewer\"\r\n [page]=\"page\"\r\n [sidebarVisible]=\"showSidebarButton && sidebarVisible\"\r\n (sidebarVisibleChange)=\"onSidebarVisibleChange($event)\"\r\n [customToolbar]=\"customToolbar\"\r\n [showSidebarButton]=\"true\"\r\n (pagesLoaded)=\"onPagesLoaded($event)\"\r\n [zoom]=\"selectedZoom.value\"\r\n (zoomChange)=\"onZoomChange($event)\"\r\n [textLayer]=\"true\"\r\n (pageChange)=\"onPageChange($event)\"\r\n [handTool]=\"handTool\"\r\n [rotation]=\"rotation\"\r\n (updateFindMatchesCount)=\"onUpdateMatchCase($event)\"\r\n (updateFindState)=\"onFindStateChanged($event)\"\r\n [src]=\"src\">\r\n</ngx-extended-pdf-viewer>\r\n", styles: [".mrx-pdf-viewer__toolbar{display:flex;padding:var(--spacing-1, 4px);justify-content:space-between;align-items:center;background:var(--neutral-bg-island-default, #F8F9FA);box-shadow:0 1px 4px #3b43571a;font-family:var(--body-sm-font-family, \"PT Sans\");font-size:var(--body-sm-font-size, 12px);font-style:normal;font-weight:var(--body-extra-sm-font-weight, 400);line-height:var(--body-lg-bold-font-size, 16px)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container{min-height:28px!important;min-width:var(--sizing-10);padding:2px;padding-left:var(--spacing-1);padding-right:var(--spacing-2)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container{padding-left:var(--spacing-1)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-input{padding-left:var(--spacing-1)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-select-container .ng-value-container .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-value .ng-value-label{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{min-height:var(--sizing-5);padding:calc(var(--spacing-1) / 2) var(--spacing-2)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-dropdown-panel .ng-dropdown-panel-items .ng-option span{font-size:var(--body-sm-font-size);line-height:var(--body-sm-line-height)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-select .ng-select.mrx-input-select-md .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected:before{content:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.3336 4.6665L6.00032 11.9998L2.66699 8.66649' stroke='%23000' stroke-width='0.999998' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");right:var(--spacing-2)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-input-number.mrx-input-number.mrx-input-number-sm:not(.mrx-input-number-with-icon) input{padding:var(--spacing-1, 4px) var(--spacing-2, 8px)!important;min-height:28px;border:var(--border-width-default, 1px) solid var(--neutral-bg-stroke-default, #BFC5CC);text-align:right;font-size:var(--body-sm-font-size, 12px)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon{color:var(--neutral-icon-default)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon.icon-font-20{font-size:20px!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon.icon-font-24{font-size:24px!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button{position:relative;max-width:36px;max-height:28px;box-sizing:border-box}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button:after{content:\"\";position:absolute;left:0;top:0;width:100%;height:100%;border-radius:var(--border-radius-1, 4px);border:1px solid transparent;transition:.2s}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button--toggled .mrx-icon-button{background:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button--toggled .mrx-icon-button:after{border-color:var(--brand-bg-primary-default, #2A6AB8)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button:active{background:var(--brand-bg-secondary-default, #EDF5FF)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button:active:after{border-color:var(--brand-bg-primary-default, #2A6AB8)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-icon-button.icon-search.mrx-pdf-viewer__find-button{position:relative}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar .mrx-input-text.mrx-input-text-lg input{font-size:var(--body-sm-font-size, 12px)!important}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar mrx-input-text{width:100%}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar mrx-input-text .mrx-input-text{box-shadow:0 1px 4px #3a3a3a4d;border-radius:var(--border-radius-1)}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar mrx-icon-button .mrx-icon-button{max-width:unset;max-height:unset}.mrx-pdf-viewer__toolbar ::ng-deep .mrx-pdf-viewer__findbar-result{display:flex;padding:6px var(--spacing-2, 8px);justify-content:center;align-items:center;gap:10px;border-radius:var(--sizing-1, 4px);background:var(--brand-bg-secondary-default, #EDF5FF);white-space:nowrap}.mrx-pdf-viewer__toolbar--nav{display:flex;align-items:center}.mrx-pdf-viewer__toolbar--nav span{color:var(--neutral-text-tertiary, #71767E)}.mrx-pdf-viewer__toolbar__find-button{position:relative}.mrx-pdf-viewer__findbar{position:absolute;top:47px;left:35px;z-index:100;background:#fff;width:auto;display:flex;padding:var(--spacing-2, 8px);border-radius:var(--sizing-1, 4px);box-shadow:0 1px 4px #3a3a3a4d;max-height:44px;box-sizing:border-box}.mrx-pdf-viewer__findbar:before{position:absolute;content:\"\";background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2012%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M24%2012H0L12%200L24%2012Z%22%20fill%3D%22white%22/%3E%0A%3C/svg%3E);background-repeat:no-repeat;top:-12px;left:12px;width:24px;height:12px}.mrx-pdf-viewer__findbar .searchText{position:absolute;top:20px}.mrx-pdf-viewer__findbar ::ng-deep .mrx-input-text.mrx-input-text{max-width:279px;min-width:279px}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar{background-color:var(--neutral-bg-island-default, #F8F9FA);padding:var(--spacing-1, 4px);height:28px!important;box-sizing:border-box;width:100%}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton{margin-top:0;margin-bottom:0;width:var(--sizing-6, 24px);max-width:var(--sizing-6, 24px);height:20px;padding:0;font-family:mrx-icon-font!important;color:var(--neutral-icon-default, #33373C);line-height:1;font-size:var(--body-lg-font-size, 16px);box-sizing:border-box;border-radius:var(--sizing-1, 4px);outline:none;border:1px solid transparent}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton:focus{border:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton:hover{background:var(--brand-bg-tertiary-hover, #edf5ff)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton.toggled{border:1px solid var(--brand-bg-primary-default, #2A6AB8);background:var(--brand-bg-secondary-default, #EDF5FF)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton svg{display:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton#viewThumbnail:after{content:\"\\e968\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton#viewOutline:after{content:\"\\ea1b\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-toolbar #toolbarSidebar button.toolbarButton#viewLayers:after{content:\"\\e935\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer pdf-sidebar pdf-sidebar-content #sidebarContent{top:28px!important;background-color:var(--neutral-bg-island-default, #F8F9FA)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView::-webkit-scrollbar,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView::-webkit-scrollbar,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView::-webkit-scrollbar{width:var(--sizing-2, 8px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView::-webkit-scrollbar-thumb,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView::-webkit-scrollbar-thumb,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default, #BFC5CC);border-radius:var(--sizing-1, 4px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView::-webkit-scrollbar-thumb:hover,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView::-webkit-scrollbar-thumb:hover,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView::-webkit-scrollbar-thumb:hover{background:var(--neutral-bg-stroke-default, #BFC5CC)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView{padding:var(--spacing-3, 16px) var(--sizing-10, 40px);width:calc(100% - var(--sizing-20, 80px))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView .thumbnail{margin:0;border:var(--spacing-1) solid rgba(0,0,0,0);border-radius:0}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #thumbnailView .thumbnail.selected{border:var(--spacing-1, 4px) solid var(--brand-bg-secondary-selected, #BED6F1)!important}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView{padding:var(--spacing-3, 16px);width:calc(100% - var(--spacing-6, 64px))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem{outline:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem:focus,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem:focus,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem:hover,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem:hover{outline:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem>a,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem>a{color:var(--neutral-text-primary, #262626);font-size:var(--body-sm-font-size, 12px);line-height:var(--body-lg-bold-font-size, 16px);outline:none;border:none;padding:calc(var(--spacing-1, 4px) / 2) var(--spacing-1, 4px);min-width:calc(100% - var(--sizing-3, 12px))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem>a:focus,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem>a:focus{outline:none}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem.selected>a,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem.selected>a{border-radius:var(--spacing-1, 4px);border:1px solid var(--brand-bg-primary-default, #2A6AB8)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItem input[type=checkbox]:checked,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItem input[type=checkbox]:checked{accent-color:var(--brand-bg-primary-default, #2A6AB8)!important}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItemToggler,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItemToggler{font-family:mrx-icon-font!important;color:var(--neutral-icon-default, 33373C);line-height:1;font-size:var(--body-lg-font-size, 16px);box-sizing:border-box;cursor:pointer}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItemToggler:before,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItemToggler:before{content:\"\\e926\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #layersView .treeItemToggler.treeItemsHidden:before,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer.mrx-pdf-viewer .html #outlineView.treeWithDeepNesting .treeItemToggler.treeItemsHidden:before{content:\"\\e925\"}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer #viewerContainer::-webkit-scrollbar{width:var(--sizing-2, 8px);height:var(--sizing-2, 8px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer #viewerContainer::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default, #BFC5CC);border-radius:var(--sizing-1, 4px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer #viewerContainer::-webkit-scrollbar-thumb:hover{background:var(--neutral-bg-stroke-default, #BFC5CC)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .pdfViewer .page{border:none;box-shadow:0 1px 4px #3b43571a;margin-bottom:var(--spacing-2, 8px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .textLayer .highlight{background-color:var(--brand-bg-primary-default, #2A6AB8)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .textLayer .highlight.selected{background-color:var(--system-text-positive, #004A1A)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .textLayer ::selection{background:var(--brand-bg-secondary-hover, #bed6f1)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog,::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer .dialogButton{color:var(--neutral-text-primary, #262626);font-size:var(--body-md-font-size, 14px);line-height:20px;background-color:var(--brand-bg-tertiary-default, #FFF);border:var(--brand-bg-tertiary-default, #FFF)!important}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog{box-shadow:0 1px 4px #3a3a3a4d;border:none;padding:var(--spacing-3, 16px);background:var(--brand-bg-tertiary-default, #FFF)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog::backdrop{background:var(--neutral-bg-modal, rgba(38, 38, 38, .25))}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog progress{border-radius:var(--sizing-1, 4px);width:120px;height:var(--sizing-1, 4px);vertical-align:middle}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog progress::-webkit-progress-bar{background-color:var(--neutral-bg-island-default, #F8F9FA);border-radius:var(--sizing-1, 4px)}::ng-deep mrx-pdf-viewer ngx-extended-pdf-viewer dialog progress::-webkit-progress-value{background-color:var(--brand-bg-primary-default, #2A6AB8);border-radius:var(--sizing-1, 4px)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.NgxExtendedPdfViewerComponent, selector: "ngx-extended-pdf-viewer", inputs: ["customFindbarInputArea", "customToolbar", "customFindbar", "customFindbarButtons", "customPdfViewer", "customSecondaryToolbar", "customSidebar", "customThumbnail", "customFreeFloatingBar", "showFreeFloatingBar", "enableDragAndDrop", "formData", "disableForms", "pageViewMode", "scrollMode", "authorization", "httpHeaders", "contextMenuAllowed", "enablePrint", "delayFirstView", "showTextEditor", "showStampEditor", "showDrawEditor", "logLevel", "relativeCoordsOptions", "minifiedJSLibraries", "printResolution", "rotation", "src", "base64Src", "minHeight", "height", "useBrowserLocale", "forceUsingLegacyES5", "backgroundColor", "filenameForDownload", "ignoreKeyboard", "ignoreKeys", "acceptKeys", "imageResourcesPath", "localeFolderPath", "language", "listenToURL", "nameddest", "password", "replaceBrowserPrint", "showUnverifiedSignatures", "startTabindex", "showSidebarButton", "sidebarVisible", "activeSidebarView", "findbarVisible", "propertiesDialogVisible", "showFindButton", "showFindHighlightAll", "showFindMatchCase", "showFindCurrentPageOnly", "showFindPageRange", "showFindEntireWord", "showFindEntirePhrase", "showFindMatchDiacritics", "showFindFuzzySearch", "showFindResultsCount", "showFindMessages", "showPagingButtons", "showZoomButtons", "showPresentationModeButton", "showOpenFileButton", "showPrintButton", "showDownloadButton", "theme", "showToolbar", "showSecondaryToolbarButton", "showSinglePageModeButton", "showVerticalScrollButton", "showHorizontalScrollButton", "showWrappedScrollButton", "showInfiniteScrollButton", "showBookModeButton", "showRotateButton", "handTool", "showHandToolButton", "showScrollingButton", "showSpreadButton", "showPropertiesButton", "showBorders", "spread", "page", "pageLabel", "textLayer", "zoom", "zoomLevels", "maxZoom", "minZoom", "mobileFriendlyZoom"], outputs: ["formDataChange", "pageViewModeChange", "progress", "srcChange", "scrollModeChange", "afterPrint", "beforePrint", "currentZoomFactor", "rotationChange", "annotationLayerRendered", "annotationEditorLayerRendered", "xfaLayerRendered", "outlineLoaded", "attachmentsloaded", "layersloaded", "sidebarVisibleChange", "activeSidebarViewChange", "findbarVisibleChange", "propertiesDialogVisibleChange", "handToolChange", "spreadChange", "thumbnailDrawn", "pageChange", "pageLabelChange", "pagesLoaded", "pageRender", "pageRendered", "pdfDownloaded", "pdfLoaded", "pdfLoadingStarts", "pdfLoadingFailed", "textLayerRendered", "annotationEditorModeChanged", "updateFindMatchesCount", "updateFindState", "zoomChange"] }, { kind: "component", type: i3.IconButtonComponent, selector: "mrx-icon-button", inputs: ["size", "state", "type", "iconClass", "disabled", "tooltip", "tooltipPosition", "tooltipMaxWidth", "isActive", "customClasses"], outputs: ["mrxClick"] }, { kind: "component", type: i4.InputSelectComponent, selector: "mrx-input-select", inputs: ["fields", "size", "selected", "bindValue", "bindLabel", "customClasses", "wrapperCustomClasses", "multiple", "loading", "addTag", "clearable", "items", "groupBy", "emptyValue", "virtualScroll", "trackByFn", "displayValue", "disabledFromDisplay", "maxLength", "customSearchFn", "isBottomLabel", "search", "required", "disabled", "readonly", "showEmptyFields", "placeholder", "searchable", "loadLabel", "notFoundText", "closeOnSelect", "multiCollapseCount", "dropdownPosition", "invalid", "invalidMessage", "checkInvalid", "label", "labelRequiredHidden", "labelExtraClass", "tooltip", "tooltipHidden", "tooltipVisible", "maxSelectedItems"], outputs: ["changed", "modelChange", "searched"] }, { kind: "component", type: i5.InputNumberComponent, selector: "mrx-input-number", inputs: ["fields", "placeholder", "innerClass", "customClasses", "required", "allowNegative", "size", "separator", "decimalSeparator", "isNullableValue", "isAutoCorrectingValue", "invalid", "checkInvalid", "numberType", "invalidMessage", "disabled", "readonly", "minValue", "maxValue"], outputs: ["modelChange"] }, { kind: "component", type: i6.InputTextComponent, selector: "mrx-input-text", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "size", "isTooltipValue", "icon", "iconColor", "mask", "maskPrefix", "showMaskTyped", "maskDropSpecialCharacters"], outputs: ["changed", "modelChange"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], animations: [
221
221
  trigger('openClose', [
222
222
  state('open', style({ height: '*', padding: '*', 'margin-bottom': '8px' })),
223
223
  state('closed', style({ height: 0, padding: 0, 'margin-bottom': 0 })),
@@ -265,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
265
265
  type: ViewChild,
266
266
  args: ['findMenu']
267
267
  }] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBRUwsU0FBUyxFQUNULDZCQUE2QixFQUc5QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFzQmpDLE1BQU0sT0FBTyxrQkFBa0I7SUEwQ25CO0lBQ0E7SUFDQTtJQTNDSCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBYyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ3pDLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1Qsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFlBQVksR0FBOEMsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQztJQUNsRyxXQUFXLEdBQUc7UUFDbkIsRUFBQyxL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LENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzt5QkFDckQsQ0FBQztxQkFDSCxhQUNVLENBQUMsY0FBYyxDQUFDLG1CQUNWLHVCQUF1QixDQUFDLE1BQU07d0pBNEJ0QyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLDZCQUE2QjtnQkFDakIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLi90b29sdGlwL3NlcnZpY2VzL3Rvb2x0aXAuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRmluZFJlc3VsdE1hdGNoZXNDb3VudCxcclxuICBGaW5kU3RhdGUsXHJcbiAgTmd4RXh0ZW5kZWRQZGZWaWV3ZXJDb21wb25lbnQsXHJcbiAgTmd4RXh0ZW5kZWRQZGZWaWV3ZXJTZXJ2aWNlLFxyXG4gIFBhZ2VzTG9hZGVkRXZlbnRcclxufSBmcm9tICduZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlcic7XHJcblxyXG50eXBlIFJvdGF0aW9uVHlwZSA9IDAgfCA5MCB8IDE4MCB8IDI3MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXBkZi12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnb3BlbicsXHJcbiAgICAgICAgc3R5bGUoe2hlaWdodDogJyonLCBwYWRkaW5nOiAnKicsICdtYXJnaW4tYm90dG9tJzogJzhweCd9KVxyXG4gICAgICApLFxyXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe2hlaWdodDogMCwgcGFkZGluZzogMCwgJ21hcmdpbi1ib3R0b20nOiAwfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFthbmltYXRlKCcwLjVzIGVhc2UnKV0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFthbmltYXRlKCcwLjVzIGVhc2UnKV0pLFxyXG4gICAgXSksXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtUb29sdGlwU2VydmljZV0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZGZWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgcHVibGljIHNlYXJjaFF1ZXJ5ID0gJyc7XHJcbiAgcHVibGljIGZpbmRTdGF0ZTogRmluZFN0YXRlID0gRmluZFN0YXRlLlBFTkRJTkc7XHJcbiAgcHVibGljIHRvdGFsRm91bmQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRGaW5kOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYWdlID0gMTtcclxuICBwdWJsaWMgaXNTZWFyY2hQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICBwdWJsaWMgc2lkZWJhclZpc2libGUgPSB0cnVlO1xyXG4gIHB1YmxpYyBwYWdlQ291bnQgPSAxO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFpvb206IHsgdmFsdWU6IG51bWJlciB8IHN0cmluZywgbGFiZWw6IHN0cmluZyB9ID0ge3ZhbHVlOiAnYXV0bycsIGxhYmVsOiAn0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgnfTtcclxuICBwdWJsaWMgem9vbU9wdGlvbnMgPSBbXHJcbiAgICB7dmFsdWU6ICdhdXRvJywgbGFiZWw6ICfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCd9LFxyXG4gICAge3ZhbHVlOiAncGFnZS1hY3R1YWwnLCBsYWJlbDogJ9Cg0LXQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAJ30sXHJcbiAgICB7dmFsdWU6ICdwZ2UtZml0JywgbGFiZWw6ICfQn9C+INGA0LDQt9C80LXRgNGDINGB0YLRgNCw0L3QuNGG0YsnfSxcclxuICAgIHt2YWx1ZTogJ3BhZ2Utd2lkdGgnLCBsYWJlbDogJ9Cf0L4g0YjQuNGA0LjQvdC1INGB0YLRgNCw0L3QuNGG0YsnfSxcclxuICAgIHt2YWx1ZTogNTAsIGxhYmVsOiAnNTAlJ30sXHJcbiAgICB7dmFsdWU6IDEwMCwgbGFiZWw6ICcxMDAlJ30sXHJcbiAgICB7dmFsdWU6IDEyNSwgbGFiZWw6ICcxMjUlJ30sXHJcbiAgICB7dmFsdWU6IDE1MCwgbGFiZWw6ICcxNTAlJ30sXHJcbiAgICB7dmFsdWU6IDIwMCwgbGFiZWw6ICcyMDAlJ30sXHJcbiAgICB7dmFsdWU6IDMwMCwgbGFiZWw6ICczMDAlJ30sXHJcbiAgICB7dmFsdWU6IDQwMCwgbGFiZWw6ICc0MDAlJ30sXHJcbiAgXTtcclxuXHJcbiAgcHVibGljIHJvdGF0aW9uOiBSb3RhdGlvblR5cGUgPSAwO1xyXG5cclxuICBASW5wdXQoKSBzaG93U2lkZWJhckJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0hhbmRUb29sQnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGFuZFRvb2wgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dGaW5kYmFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93Um90YXRlQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UHJpbnRCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dEb3dubG9hZEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0V4cGFuZEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZGVmYXVsdFpvb206IG51bWJlciB8ICdhdXRvJyB8ICdwYWdlLWFjdHVhbCcgfCAncGdlLWZpdCcgfCAncGFnZS13aWR0aCcgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHNyYyA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKE5neEV4dGVuZGVkUGRmVmlld2VyQ29tcG9uZW50KSBwZGZWaWV3ZXIhOiBOZ3hFeHRlbmRlZFBkZlZpZXdlckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdmaW5kTWVudScpIGZpbmRNZW51OiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGRmVmlld2VyU2VydmljZTogTmd4RXh0ZW5kZWRQZGZWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkZWZhdWx0Wm9vbSddICYmIGNoYW5nZXNbJ2RlZmF1bHRab29tJ10uY3VycmVudFZhbHVlICE9IGNoYW5nZXNbJ2RlZmF1bHRab29tJ10ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXRab29tKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0Wm9vbSgpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nVmFsdWUgPSB0aGlzLnpvb21PcHRpb25zLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmRlZmF1bHRab29tKTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHsuLi5leGlzdGluZ1ZhbHVlfTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiB0aGlzLmRlZmF1bHRab29tLCBsYWJlbDogYCR7dGhpcy5kZWZhdWx0Wm9vbX0lYH07XHJcbiAgfVxyXG5cclxuICBpbml0U2VhcmNoKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0ZpbmRiYXJCdXR0b24pIHtcclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2YnICYmIGV2ZW50LmN0cmxLZXkpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFNlYXJjaCgpO1xyXG4gICAgdGhpcy5pbml0Wm9vbSgpO1xyXG5cclxuICAgIHRoaXMuX3JlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSkge1xyXG4gICAgICAgIGNvbnN0IGlzSW5NZW51ID0gdGhpcy5maW5kTWVudT8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXHJcbiAgICAgICAgICB8fCAoZXZlbnQudGFyZ2V0IGFzIGFueSkuaWQgPT09ICdmaW5kTmV4dCdcclxuICAgICAgICAgIHx8IChldmVudC50YXJnZXQgYXMgYW55KS5pZCA9PT0gJ2ZpbmRQcmV2aW91cyc7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRmluZEJ1dHRvbiA9IChldmVudC50YXJnZXQgYXMgYW55KS5jbGFzc0xpc3QuY29udGFpbnMoJ21yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbicpO1xyXG5cclxuICAgICAgICBpZiAoIWlzSW5NZW51ICYmICFpc0ZpbmRCdXR0b24pIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2UgPSAkZXZlbnQgfHwgMTtcclxuICB9XHJcblxyXG4gIG9uTmV4dFBhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDwgdGhpcy5wYWdlQ291bnQpIHtcclxuICAgICAgdGhpcy5wYWdlID0gdGhpcy5wYWdlICsgMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTGFzdFBhZ2UoKSB7XHJcbiAgICB0aGlzLnBhZ2UgPSB0aGlzLnBhZ2VDb3VudDtcclxuICB9XHJcblxyXG4gIG9uUGFnZXNMb2FkZWQoJGV2ZW50OiBQYWdlc0xvYWRlZEV2ZW50KSB7XHJcbiAgICBjb25zdCB2aWV3T3V0bGluZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3T3V0bGluZScpO1xyXG4gICAgY29uc3Qgdmlld1RodW1ibmFpbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3VGh1bWJuYWlsJyk7XHJcblxyXG4gICAgdGhpcy5wYWdlQ291bnQgPSAkZXZlbnQucGFnZXNDb3VudDtcclxuXHJcbiAgICBpZiAodmlld091dGxpbmUpIHtcclxuICAgICAgKHZpZXdPdXRsaW5lIGFzIGFueSkudGl0bGUgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmlld1RodW1ibmFpbCkge1xyXG4gICAgICAodmlld1RodW1ibmFpbCBhcyBhbnkpLnRpdGxlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tQ2xpY2soaW5jcmVhc2U6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiAxMDAsIGxhYmVsOiAnMTAwJSd9O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmV3VmFsdWUgPSBpbmNyZWFzZSA/IHRoaXMuc2VsZWN0ZWRab29tLnZhbHVlICs9IDIwIDogdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgLT0gMjA7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7dmFsdWU6IG5ld1ZhbHVlLCBsYWJlbDogYCR7bmV3VmFsdWV9JWB9O1xyXG4gIH1cclxuXHJcbiAgb25ab29tTGV2ZWxTZWxlY3QoaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBvblpvb21DaGFuZ2UoJGV2ZW50OiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nT3B0aW9uID0gdGhpcy56b29tT3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gJGV2ZW50KTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdPcHRpb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7Li4uZXhpc3RpbmdPcHRpb259O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZml4ZWRWYWx1ZSA9IE1hdGgucm91bmQoTnVtYmVyKCRldmVudCkpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiBmaXhlZFZhbHVlLCBsYWJlbDogYCR7Zml4ZWRWYWx1ZX0lYH07XHJcbiAgfVxyXG5cclxuICBvblJvdGF0ZShkaXJlY3Rpb246IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGEgPSB0aGlzLnJvdGF0aW9uO1xyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPCAwKSB7XHJcbiAgICAgIGRhdGEgLT0gOTA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkYXRhICs9IDkwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhID49IDM2MCkge1xyXG4gICAgICB0aGlzLnJvdGF0aW9uID0gZGF0YSAtIDM2MCBhcyBSb3RhdGlvblR5cGU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YSA8IDApIHtcclxuICAgICAgdGhpcy5yb3RhdGlvbiA9IDM2MCArIGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3RhdGlvbiA9IGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gIH1cclxuXHJcbiAgb25QcmludENsaWNrKCkge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5wcmludCgpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBwcmludERpYWxvZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2RpYWxvZyNwcmludFNlcnZpY2VEaWFsb2cnKTtcclxuICAgICAgY29uc3QgcHJvZ3Jlc3NUZXh0ID0gcHJpbnREaWFsb2c/LnF1ZXJ5U2VsZWN0b3IoJy5yb3cgc3BhbicpO1xyXG4gICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBwcmludERpYWxvZz8ucXVlcnlTZWxlY3RvcignI3ByaW50Q2FuY2VsIHNwYW4nKTtcclxuXHJcbiAgICAgIGlmIChwcm9ncmVzc1RleHQpIHtcclxuICAgICAgICBwcm9ncmVzc1RleHQudGV4dENvbnRlbnQgPSAn0J/QvtC00LPQvtGC0L7QstC60LAg0LTQvtC60YPQvNC10L3RgtCwINC6INC/0LXRh9Cw0YLQuC4uLic7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjYW5jZWxCdXR0b24pIHtcclxuICAgICAgICBjYW5jZWxCdXR0b24udGV4dENvbnRlbnQgPSAn0J7RgtC80LXQvdCwJztcclxuICAgICAgfVxyXG4gICAgfSwgMSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkRvd25sb2FkQ2xpY2soKSB7XHJcbiAgICBjb25zdCBibG9iOiBCbG9iID0gYXdhaXQgdGhpcy5fcGRmVmlld2VyU2VydmljZS5nZXRDdXJyZW50RG9jdW1lbnRBc0Jsb2IoKTtcclxuICAgIGNvbnN0IG9iamVjdFVybDogc3RyaW5nID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIGNvbnN0IGE6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xyXG5cclxuICAgIGEuaHJlZiA9IG9iamVjdFVybDtcclxuICAgIGEuZG93bmxvYWQgPSB0aGlzLmRvd25sb2FkRmlsZU5hbWUgfHwgdGhpcy5zcmM7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVybCk7XHJcbiAgfVxyXG5cclxuICBvblNpZGViYXJWaWV3Q2xpY2soKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gIXRoaXMuc2lkZWJhclZpc2libGU7XHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZE1vZGVDbGljaygpIHtcclxuICAgIGNvbnN0IHBkZlZpZXdlckFwcGxpY2F0aW9uID0gKHdpbmRvdyBhcyBhbnkpLlBERlZpZXdlckFwcGxpY2F0aW9uO1xyXG5cclxuICAgIGlmIChwZGZWaWV3ZXJBcHBsaWNhdGlvbj8ucGRmVmlld2VyKSB7XHJcbiAgICAgIHBkZlZpZXdlckFwcGxpY2F0aW9uLnJlcXVlc3RQcmVzZW50YXRpb25Nb2RlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaENsaWNrKCkge1xyXG4gICAgdGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSA9ICF0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2goJGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGlmICgkZXZlbnQpIHtcclxuICAgICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kKCRldmVudCwge2hpZ2hsaWdodEFsbDogdHJ1ZX0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmZpbmQoJycsIHt9KTtcclxuICB9XHJcblxyXG4gIGZpbmROZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kTmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZmluZFByZXZpb3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kUHJldmlvdXMoKTtcclxuICB9XHJcblxyXG4gIG9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudDogRmluZFJlc3VsdE1hdGNoZXNDb3VudCkge1xyXG4gICAgdGhpcy50b3RhbEZvdW5kID0gJGV2ZW50LnRvdGFsO1xyXG4gICAgdGhpcy5jdXJyZW50RmluZCA9ICRldmVudC5jdXJyZW50O1xyXG4gIH1cclxuXHJcbiAgb25GaW5kU3RhdGVDaGFuZ2VkKCRldmVudDogRmluZFN0YXRlKSB7XHJcbiAgICB0aGlzLmZpbmRTdGF0ZSA9ICRldmVudDtcclxuICB9XHJcblxyXG4gIG9uU2lkZWJhclZpc2libGVDaGFuZ2UoJGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gJGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgb25IYW5kVG9vbENsaWNrKCkge1xyXG4gICAgdGhpcy5oYW5kVG9vbCA9ICF0aGlzLmhhbmRUb29sO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2N1c3RvbVRvb2xiYXI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyXCIgaWQ9XCJ0b29sYmFyVmlld2VyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2hvd1NpZGViYXJCdXR0b25cIlxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1idXJnZXInXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2lkZWJhclZpZXdDbGljaygpXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbXJ4LWljb24tYnV0dG9uLS10b2dnbGVkJzogc2lkZWJhclZpc2libGV9XCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0aXRsZV09XCIndGVzdCdcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2hvd0ZpbmRiYXJCdXR0b25cIlxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1zZWFyY2gnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2VhcmNoQ2xpY2soKVwiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yIG1yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbidcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydtcngtaWNvbi1idXR0b24tLXRvZ2dsZWQnOiBpc1NlYXJjaFBhbmVsVmlzaWJsZX1cIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc1NlYXJjaFBhbmVsVmlzaWJsZVwiIGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX2ZpbmRiYXJcIiAjZmluZE1lbnU+XHJcbiAgICAgICAgPG1yeC1pbnB1dC10ZXh0XHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCJmaW5kU3RhdGUgPT09IDEgPyAnbXJ4LWlucHV0LWVycm9yJyA6JycrJ3NlYXJjaFRleHQnXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi0J3QsNC50YLQuCDQsiDQtNC+0LrRg9C80LXQvdGC0LUuLi5cIlxyXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoUXVlcnlcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWFyY2goJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvbXJ4LWlucHV0LXRleHQ+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLWxlZnQnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3AtMSdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cImZpbmRQcmV2aW91cygpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJmaW5kTmV4dCgpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImZpbmRTdGF0ZSA9PT0gMCB8fCBmaW5kU3RhdGUgPT09IDJcIiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyLXJlc3VsdFwiPlxyXG4gICAgICAgICAge3tjdXJyZW50RmluZH19INC40Lcge3t0b3RhbEZvdW5kfX0g0YHQvtCy0L/QsNC00LXQvdC40LlcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZmluZFN0YXRlID09PSAxXCIgY2xhc3M9XCJjb2xvci1uZWdhdGl2ZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+0KTRgNCw0LfQsCDQvdC1INC90LDQudC00LXQvdCwPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX3Rvb2xiYXItLW5hdlwiPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24taW4tdGhlLWVuZC1sZWZ0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvblBhZ2VDaGFuZ2UoMSlcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWNoZXZyb24tbGVmdCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25QYWdlQ2hhbmdlKHBhZ2UgLSAxIHx8IDEpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pbnB1dC1udW1iZXIgW3NpemVdPVwiJ3NtYWxsJ1wiIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtNTYnXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cInBhZ2VcIlxyXG4gICAgICAgICAgW251bWJlclR5cGVdPVwiJ2ludCdcIlxyXG4gICAgICAgICAgW21pblZhbHVlXT1cIjFcIlxyXG4gICAgICAgICAgW21heFZhbHVlXT1cInBhZ2VDb3VudFwiXHJcbiAgICAgICAgICBbaXNBdXRvQ29ycmVjdGluZ1ZhbHVlXT1cInRydWVcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+0LjQtyB7e3BhZ2VDb3VudH19PC9zcGFuPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1yaWdodCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25OZXh0UGFnZSgpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1pbi10aGUtZW5kLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkxhc3RQYWdlKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAobXJ4Q2xpY2spPVwiem9vbUNsaWNrKGZhbHNlKVwiXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1taW51cydcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cInpvb21DbGljayh0cnVlKVwiXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXBsdXMnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaW5wdXQtc2VsZWN0XHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtMTU2J1wiXHJcbiAgICAgICAgW2l0ZW1zXT1cInpvb21PcHRpb25zXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblpvb21MZXZlbFNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFpvb21cIlxyXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIj5cclxuICAgICAgPC9tcngtaW5wdXQtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1mYy10ZXh0J1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICpuZ0lmPVwic2hvd0hhbmRUb29sQnV0dG9uXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6ICFoYW5kVG9vbH1cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvbkhhbmRUb29sQ2xpY2soKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXJlbG9hZCdcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvblJvdGF0ZSgxKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcmV0dXJuJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Sb3RhdGUoLTEpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWFycm93LWV4cGFuZCdcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93RXhwYW5kQnV0dG9uXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uRXhwYW5kTW9kZUNsaWNrKClcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcHJpbnQnXCJcclxuICAgICAgICAgICpuZ0lmPVwic2hvd1ByaW50QnV0dG9uXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUHJpbnRDbGljaygpXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dEb3dubG9hZEJ1dHRvblwiXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWRvd25sb2FkJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkRvd25sb2FkQ2xpY2soKVwiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlclxyXG4gICAgI3BkZlZpZXdlclxyXG4gICAgY2xhc3M9XCJtcngtcGRmLXZpZXdlclwiXHJcbiAgICBbcGFnZV09XCJwYWdlXCJcclxuICAgIFtzaWRlYmFyVmlzaWJsZV09XCJzaG93U2lkZWJhckJ1dHRvbiAmJiBzaWRlYmFyVmlzaWJsZVwiXHJcbiAgICAoc2lkZWJhclZpc2libGVDaGFuZ2UpPVwib25TaWRlYmFyVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFtjdXN0b21Ub29sYmFyXT1cImN1c3RvbVRvb2xiYXJcIlxyXG4gICAgW3Nob3dTaWRlYmFyQnV0dG9uXT1cInRydWVcIlxyXG4gICAgKHBhZ2VzTG9hZGVkKT1cIm9uUGFnZXNMb2FkZWQoJGV2ZW50KVwiXHJcbiAgICBbem9vbV09XCJzZWxlY3RlZFpvb20udmFsdWVcIlxyXG4gICAgKHpvb21DaGFuZ2UpPVwib25ab29tQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW3RleHRMYXllcl09XCJ0cnVlXCJcclxuICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFtoYW5kVG9vbF09XCJoYW5kVG9vbFwiXHJcbiAgICBbcm90YXRpb25dPVwicm90YXRpb25cIlxyXG4gICAgKHVwZGF0ZUZpbmRNYXRjaGVzQ291bnQpPVwib25VcGRhdGVNYXRjaENhc2UoJGV2ZW50KVwiXHJcbiAgICAodXBkYXRlRmluZFN0YXRlKT1cIm9uRmluZFN0YXRlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgIFtzcmNdPVwic3JjXCI+XHJcbjwvbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXI+XHJcbiJdfQ==
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBRUwsU0FBUyxFQUNULDZCQUE2QixFQUc5QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFzQmpDLE1BQU0sT0FBTyxrQkFBa0I7SUEwQ25CO0lBQ0E7SUFDQTtJQTNDSCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBYyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ3pDLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1Qsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFlBQVksR0FBOEMsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQztJQUNsRyxXQUFXLEdBQUc7UUFDbkIsRUFBQyxL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LENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzt5QkFDckQsQ0FBQztxQkFDSCxhQUNVLENBQUMsY0FBYyxDQUFDLG1CQUNWLHVCQUF1QixDQUFDLE1BQU07d0pBNEJ0QyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLDZCQUE2QjtnQkFDakIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLi90b29sdGlwL3NlcnZpY2VzL3Rvb2x0aXAuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRmluZFJlc3VsdE1hdGNoZXNDb3VudCxcclxuICBGaW5kU3RhdGUsXHJcbiAgTmd4RXh0ZW5kZWRQZGZWaWV3ZXJDb21wb25lbnQsXHJcbiAgTmd4RXh0ZW5kZWRQZGZWaWV3ZXJTZXJ2aWNlLFxyXG4gIFBhZ2VzTG9hZGVkRXZlbnRcclxufSBmcm9tICduZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlcic7XHJcblxyXG50eXBlIFJvdGF0aW9uVHlwZSA9IDAgfCA5MCB8IDE4MCB8IDI3MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LXBkZi12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignb3BlbkNsb3NlJywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAnb3BlbicsXHJcbiAgICAgICAgc3R5bGUoe2hlaWdodDogJyonLCBwYWRkaW5nOiAnKicsICdtYXJnaW4tYm90dG9tJzogJzhweCd9KVxyXG4gICAgICApLFxyXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe2hlaWdodDogMCwgcGFkZGluZzogMCwgJ21hcmdpbi1ib3R0b20nOiAwfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlZCcsIFthbmltYXRlKCcwLjVzIGVhc2UnKV0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCdjbG9zZWQgPT4gb3BlbicsIFthbmltYXRlKCcwLjVzIGVhc2UnKV0pLFxyXG4gICAgXSksXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtUb29sdGlwU2VydmljZV0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZGZWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgcHVibGljIHNlYXJjaFF1ZXJ5ID0gJyc7XHJcbiAgcHVibGljIGZpbmRTdGF0ZTogRmluZFN0YXRlID0gRmluZFN0YXRlLlBFTkRJTkc7XHJcbiAgcHVibGljIHRvdGFsRm91bmQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRGaW5kOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBwYWdlID0gMTtcclxuICBwdWJsaWMgaXNTZWFyY2hQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICBwdWJsaWMgc2lkZWJhclZpc2libGUgPSB0cnVlO1xyXG4gIHB1YmxpYyBwYWdlQ291bnQgPSAxO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFpvb206IHsgdmFsdWU6IG51bWJlciB8IHN0cmluZywgbGFiZWw6IHN0cmluZyB9ID0ge3ZhbHVlOiAnYXV0bycsIGxhYmVsOiAn0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgnfTtcclxuICBwdWJsaWMgem9vbU9wdGlvbnMgPSBbXHJcbiAgICB7dmFsdWU6ICdhdXRvJywgbGFiZWw6ICfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCd9LFxyXG4gICAge3ZhbHVlOiAncGFnZS1hY3R1YWwnLCBsYWJlbDogJ9Cg0LXQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAJ30sXHJcbiAgICB7dmFsdWU6ICdwZ2UtZml0JywgbGFiZWw6ICfQn9C+INGA0LDQt9C80LXRgNGDINGB0YLRgNCw0L3QuNGG0YsnfSxcclxuICAgIHt2YWx1ZTogJ3BhZ2Utd2lkdGgnLCBsYWJlbDogJ9Cf0L4g0YjQuNGA0LjQvdC1INGB0YLRgNCw0L3QuNGG0YsnfSxcclxuICAgIHt2YWx1ZTogNTAsIGxhYmVsOiAnNTAlJ30sXHJcbiAgICB7dmFsdWU6IDEwMCwgbGFiZWw6ICcxMDAlJ30sXHJcbiAgICB7dmFsdWU6IDEyNSwgbGFiZWw6ICcxMjUlJ30sXHJcbiAgICB7dmFsdWU6IDE1MCwgbGFiZWw6ICcxNTAlJ30sXHJcbiAgICB7dmFsdWU6IDIwMCwgbGFiZWw6ICcyMDAlJ30sXHJcbiAgICB7dmFsdWU6IDMwMCwgbGFiZWw6ICczMDAlJ30sXHJcbiAgICB7dmFsdWU6IDQwMCwgbGFiZWw6ICc0MDAlJ30sXHJcbiAgXTtcclxuXHJcbiAgcHVibGljIHJvdGF0aW9uOiBSb3RhdGlvblR5cGUgPSAwO1xyXG5cclxuICBASW5wdXQoKSBzaG93U2lkZWJhckJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0hhbmRUb29sQnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGFuZFRvb2wgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dGaW5kYmFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93Um90YXRlQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UHJpbnRCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dEb3dubG9hZEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0V4cGFuZEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZGVmYXVsdFpvb206IG51bWJlciB8ICdhdXRvJyB8ICdwYWdlLWFjdHVhbCcgfCAncGdlLWZpdCcgfCAncGFnZS13aWR0aCcgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHNyYyA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKE5neEV4dGVuZGVkUGRmVmlld2VyQ29tcG9uZW50KSBwZGZWaWV3ZXIhOiBOZ3hFeHRlbmRlZFBkZlZpZXdlckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdmaW5kTWVudScpIGZpbmRNZW51OiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGRmVmlld2VyU2VydmljZTogTmd4RXh0ZW5kZWRQZGZWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkZWZhdWx0Wm9vbSddICYmIGNoYW5nZXNbJ2RlZmF1bHRab29tJ10uY3VycmVudFZhbHVlICE9IGNoYW5nZXNbJ2RlZmF1bHRab29tJ10ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXRab29tKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0Wm9vbSgpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nVmFsdWUgPSB0aGlzLnpvb21PcHRpb25zLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmRlZmF1bHRab29tKTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHsuLi5leGlzdGluZ1ZhbHVlfTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiB0aGlzLmRlZmF1bHRab29tLCBsYWJlbDogYCR7dGhpcy5kZWZhdWx0Wm9vbX0lYH07XHJcbiAgfVxyXG5cclxuICBpbml0U2VhcmNoKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0ZpbmRiYXJCdXR0b24pIHtcclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2YnICYmIGV2ZW50LmN0cmxLZXkpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFNlYXJjaCgpO1xyXG4gICAgdGhpcy5pbml0Wm9vbSgpO1xyXG5cclxuICAgIHRoaXMuX3JlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSkge1xyXG4gICAgICAgIGNvbnN0IGlzSW5NZW51ID0gdGhpcy5maW5kTWVudT8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXHJcbiAgICAgICAgICB8fCAoZXZlbnQudGFyZ2V0IGFzIGFueSkuaWQgPT09ICdmaW5kTmV4dCdcclxuICAgICAgICAgIHx8IChldmVudC50YXJnZXQgYXMgYW55KS5pZCA9PT0gJ2ZpbmRQcmV2aW91cyc7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRmluZEJ1dHRvbiA9IChldmVudC50YXJnZXQgYXMgYW55KS5jbGFzc0xpc3QuY29udGFpbnMoJ21yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbicpO1xyXG5cclxuICAgICAgICBpZiAoIWlzSW5NZW51ICYmICFpc0ZpbmRCdXR0b24pIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2UgPSAkZXZlbnQgfHwgMTtcclxuICB9XHJcblxyXG4gIG9uTmV4dFBhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDwgdGhpcy5wYWdlQ291bnQpIHtcclxuICAgICAgdGhpcy5wYWdlID0gdGhpcy5wYWdlICsgMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTGFzdFBhZ2UoKSB7XHJcbiAgICB0aGlzLnBhZ2UgPSB0aGlzLnBhZ2VDb3VudDtcclxuICB9XHJcblxyXG4gIG9uUGFnZXNMb2FkZWQoJGV2ZW50OiBQYWdlc0xvYWRlZEV2ZW50KSB7XHJcbiAgICBjb25zdCB2aWV3T3V0bGluZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3T3V0bGluZScpO1xyXG4gICAgY29uc3Qgdmlld1RodW1ibmFpbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3VGh1bWJuYWlsJyk7XHJcblxyXG4gICAgdGhpcy5wYWdlQ291bnQgPSAkZXZlbnQucGFnZXNDb3VudDtcclxuXHJcbiAgICBpZiAodmlld091dGxpbmUpIHtcclxuICAgICAgKHZpZXdPdXRsaW5lIGFzIGFueSkudGl0bGUgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmlld1RodW1ibmFpbCkge1xyXG4gICAgICAodmlld1RodW1ibmFpbCBhcyBhbnkpLnRpdGxlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tQ2xpY2soaW5jcmVhc2U6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiAxMDAsIGxhYmVsOiAnMTAwJSd9O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmV3VmFsdWUgPSBpbmNyZWFzZSA/IHRoaXMuc2VsZWN0ZWRab29tLnZhbHVlICs9IDIwIDogdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgLT0gMjA7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7dmFsdWU6IG5ld1ZhbHVlLCBsYWJlbDogYCR7bmV3VmFsdWV9JWB9O1xyXG4gIH1cclxuXHJcbiAgb25ab29tTGV2ZWxTZWxlY3QoaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBvblpvb21DaGFuZ2UoJGV2ZW50OiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nT3B0aW9uID0gdGhpcy56b29tT3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gJGV2ZW50KTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdPcHRpb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7Li4uZXhpc3RpbmdPcHRpb259O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZml4ZWRWYWx1ZSA9IE1hdGgucm91bmQoTnVtYmVyKCRldmVudCkpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiBmaXhlZFZhbHVlLCBsYWJlbDogYCR7Zml4ZWRWYWx1ZX0lYH07XHJcbiAgfVxyXG5cclxuICBvblJvdGF0ZShkaXJlY3Rpb246IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGEgPSB0aGlzLnJvdGF0aW9uO1xyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPCAwKSB7XHJcbiAgICAgIGRhdGEgLT0gOTA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkYXRhICs9IDkwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhID49IDM2MCkge1xyXG4gICAgICB0aGlzLnJvdGF0aW9uID0gZGF0YSAtIDM2MCBhcyBSb3RhdGlvblR5cGU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YSA8IDApIHtcclxuICAgICAgdGhpcy5yb3RhdGlvbiA9IDM2MCArIGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3RhdGlvbiA9IGRhdGEgYXMgUm90YXRpb25UeXBlO1xyXG4gIH1cclxuXHJcbiAgb25QcmludENsaWNrKCkge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5wcmludCgpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBwcmludERpYWxvZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2RpYWxvZyNwcmludFNlcnZpY2VEaWFsb2cnKTtcclxuICAgICAgY29uc3QgcHJvZ3Jlc3NUZXh0ID0gcHJpbnREaWFsb2c/LnF1ZXJ5U2VsZWN0b3IoJy5yb3cgc3BhbicpO1xyXG4gICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBwcmludERpYWxvZz8ucXVlcnlTZWxlY3RvcignI3ByaW50Q2FuY2VsIHNwYW4nKTtcclxuXHJcbiAgICAgIGlmIChwcm9ncmVzc1RleHQpIHtcclxuICAgICAgICBwcm9ncmVzc1RleHQudGV4dENvbnRlbnQgPSAn0J/QvtC00LPQvtGC0L7QstC60LAg0LTQvtC60YPQvNC10L3RgtCwINC6INC/0LXRh9Cw0YLQuC4uLic7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChjYW5jZWxCdXR0b24pIHtcclxuICAgICAgICBjYW5jZWxCdXR0b24udGV4dENvbnRlbnQgPSAn0J7RgtC80LXQvdCwJztcclxuICAgICAgfVxyXG4gICAgfSwgMSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkRvd25sb2FkQ2xpY2soKSB7XHJcbiAgICBjb25zdCBibG9iOiBCbG9iID0gYXdhaXQgdGhpcy5fcGRmVmlld2VyU2VydmljZS5nZXRDdXJyZW50RG9jdW1lbnRBc0Jsb2IoKTtcclxuICAgIGNvbnN0IG9iamVjdFVybDogc3RyaW5nID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIGNvbnN0IGE6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpIGFzIEhUTUxBbmNob3JFbGVtZW50O1xyXG5cclxuICAgIGEuaHJlZiA9IG9iamVjdFVybDtcclxuICAgIGEuZG93bmxvYWQgPSB0aGlzLmRvd25sb2FkRmlsZU5hbWUgfHwgdGhpcy5zcmM7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVybCk7XHJcbiAgfVxyXG5cclxuICBvblNpZGViYXJWaWV3Q2xpY2soKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gIXRoaXMuc2lkZWJhclZpc2libGU7XHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZE1vZGVDbGljaygpIHtcclxuICAgIGNvbnN0IHBkZlZpZXdlckFwcGxpY2F0aW9uID0gKHdpbmRvdyBhcyBhbnkpLlBERlZpZXdlckFwcGxpY2F0aW9uO1xyXG5cclxuICAgIGlmIChwZGZWaWV3ZXJBcHBsaWNhdGlvbj8ucGRmVmlld2VyKSB7XHJcbiAgICAgIHBkZlZpZXdlckFwcGxpY2F0aW9uLnJlcXVlc3RQcmVzZW50YXRpb25Nb2RlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaENsaWNrKCkge1xyXG4gICAgdGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSA9ICF0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2goJGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGlmICgkZXZlbnQpIHtcclxuICAgICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kKCRldmVudCwge2hpZ2hsaWdodEFsbDogdHJ1ZX0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmZpbmQoJycsIHt9KTtcclxuICB9XHJcblxyXG4gIGZpbmROZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kTmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgZmluZFByZXZpb3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kUHJldmlvdXMoKTtcclxuICB9XHJcblxyXG4gIG9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudDogRmluZFJlc3VsdE1hdGNoZXNDb3VudCkge1xyXG4gICAgdGhpcy50b3RhbEZvdW5kID0gJGV2ZW50LnRvdGFsO1xyXG4gICAgdGhpcy5jdXJyZW50RmluZCA9ICRldmVudC5jdXJyZW50O1xyXG4gIH1cclxuXHJcbiAgb25GaW5kU3RhdGVDaGFuZ2VkKCRldmVudDogRmluZFN0YXRlKSB7XHJcbiAgICB0aGlzLmZpbmRTdGF0ZSA9ICRldmVudDtcclxuICB9XHJcblxyXG4gIG9uU2lkZWJhclZpc2libGVDaGFuZ2UoJGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gJGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgb25IYW5kVG9vbENsaWNrKCkge1xyXG4gICAgdGhpcy5oYW5kVG9vbCA9ICF0aGlzLmhhbmRUb29sO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2N1c3RvbVRvb2xiYXI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyXCIgaWQ9XCJ0b29sYmFyVmlld2VyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2hvd1NpZGViYXJCdXR0b25cIlxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1idXJnZXInXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2lkZWJhclZpZXdDbGljaygpXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbXJ4LWljb24tYnV0dG9uLS10b2dnbGVkJzogc2lkZWJhclZpc2libGV9XCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0aXRsZV09XCIndGVzdCdcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2hvd0ZpbmRiYXJCdXR0b25cIlxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1zZWFyY2gnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2VhcmNoQ2xpY2soKVwiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yIG1yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbidcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydtcngtaWNvbi1idXR0b24tLXRvZ2dsZWQnOiBpc1NlYXJjaFBhbmVsVmlzaWJsZX1cIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc1NlYXJjaFBhbmVsVmlzaWJsZVwiIGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX2ZpbmRiYXJcIiAjZmluZE1lbnU+XHJcbiAgICAgICAgPG1yeC1pbnB1dC10ZXh0XHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCJmaW5kU3RhdGUgPT09IDEgPyAnbXJ4LWlucHV0LWVycm9yJyA6JycrJ3NlYXJjaFRleHQnXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi0J3QsNC50YLQuCDQsiDQtNC+0LrRg9C80LXQvdGC0LUuLi5cIlxyXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoUXVlcnlcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWFyY2goJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvbXJ4LWlucHV0LXRleHQ+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLWxlZnQnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3AtMSdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cImZpbmRQcmV2aW91cygpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJmaW5kTmV4dCgpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImZpbmRTdGF0ZSA9PT0gMCB8fCBmaW5kU3RhdGUgPT09IDJcIiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyLXJlc3VsdFwiPlxyXG4gICAgICAgICAge3tjdXJyZW50RmluZH19INC40Lcge3t0b3RhbEZvdW5kfX0g0YHQvtCy0L/QsNC00LXQvdC40LlcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZmluZFN0YXRlID09PSAxXCIgY2xhc3M9XCJjb2xvci1uZWdhdGl2ZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+0KTRgNCw0LfQsCDQvdC1INC90LDQudC00LXQvdCwPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX3Rvb2xiYXItLW5hdlwiPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24taW4tdGhlLWVuZC1sZWZ0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvblBhZ2VDaGFuZ2UoMSlcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWNoZXZyb24tbGVmdCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25QYWdlQ2hhbmdlKHBhZ2UgLSAxIHx8IDEpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pbnB1dC1udW1iZXIgW3NpemVdPVwiJ3NtYWxsJ1wiIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtNTYnXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cInBhZ2VcIlxyXG4gICAgICAgICAgW251bWJlclR5cGVdPVwiJ2ludCdcIlxyXG4gICAgICAgICAgW21pblZhbHVlXT1cIjFcIlxyXG4gICAgICAgICAgW21heFZhbHVlXT1cInBhZ2VDb3VudFwiXHJcbiAgICAgICAgICBbaXNBdXRvQ29ycmVjdGluZ1ZhbHVlXT1cInRydWVcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+0LjQtyB7e3BhZ2VDb3VudH19PC9zcGFuPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1yaWdodCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25OZXh0UGFnZSgpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1pbi10aGUtZW5kLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkxhc3RQYWdlKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAobXJ4Q2xpY2spPVwiem9vbUNsaWNrKGZhbHNlKVwiXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1taW51cydcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cInpvb21DbGljayh0cnVlKVwiXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXBsdXMnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaW5wdXQtc2VsZWN0XHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtMTU2J1wiXHJcbiAgICAgICAgW2l0ZW1zXT1cInpvb21PcHRpb25zXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblpvb21MZXZlbFNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFpvb21cIlxyXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIj5cclxuICAgICAgPC9tcngtaW5wdXQtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1mYy10ZXh0J1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICpuZ0lmPVwic2hvd0hhbmRUb29sQnV0dG9uXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6ICFoYW5kVG9vbH1cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvbkhhbmRUb29sQ2xpY2soKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXJlbG9hZCdcIlxyXG4gICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIChtcnhDbGljayk9XCJvblJvdGF0ZSgxKVwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcmV0dXJuJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dSb3RhdGVCdXR0b25cIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Sb3RhdGUoLTEpXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWFycm93LWV4cGFuZCdcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93RXhwYW5kQnV0dG9uXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uRXhwYW5kTW9kZUNsaWNrKClcIlxyXG4gICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tcHJpbnQnXCJcclxuICAgICAgICAgICpuZ0lmPVwic2hvd1ByaW50QnV0dG9uXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUHJpbnRDbGljaygpXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dEb3dubG9hZEJ1dHRvblwiXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWRvd25sb2FkJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkRvd25sb2FkQ2xpY2soKVwiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlclxyXG4gICAgI3BkZlZpZXdlclxyXG4gICAgY2xhc3M9XCJtcngtcGRmLXZpZXdlclwiXHJcbiAgICBbcGFnZV09XCJwYWdlXCJcclxuICAgIFtzaWRlYmFyVmlzaWJsZV09XCJzaG93U2lkZWJhckJ1dHRvbiAmJiBzaWRlYmFyVmlzaWJsZVwiXHJcbiAgICAoc2lkZWJhclZpc2libGVDaGFuZ2UpPVwib25TaWRlYmFyVmlzaWJsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFtjdXN0b21Ub29sYmFyXT1cImN1c3RvbVRvb2xiYXJcIlxyXG4gICAgW3Nob3dTaWRlYmFyQnV0dG9uXT1cInRydWVcIlxyXG4gICAgKHBhZ2VzTG9hZGVkKT1cIm9uUGFnZXNMb2FkZWQoJGV2ZW50KVwiXHJcbiAgICBbem9vbV09XCJzZWxlY3RlZFpvb20udmFsdWVcIlxyXG4gICAgKHpvb21DaGFuZ2UpPVwib25ab29tQ2hhbmdlKCRldmVudClcIlxyXG4gICAgW3RleHRMYXllcl09XCJ0cnVlXCJcclxuICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFtoYW5kVG9vbF09XCJoYW5kVG9vbFwiXHJcbiAgICBbcm90YXRpb25dPVwicm90YXRpb25cIlxyXG4gICAgKHVwZGF0ZUZpbmRNYXRjaGVzQ291bnQpPVwib25VcGRhdGVNYXRjaENhc2UoJGV2ZW50KVwiXHJcbiAgICAodXBkYXRlRmluZFN0YXRlKT1cIm9uRmluZFN0YXRlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgIFtzcmNdPVwic3JjXCI+XHJcbjwvbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXI+XHJcbiJdfQ==