@eui/components 17.3.11-snapshot-1724803910292 → 17.3.11-snapshot-1725355215808

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.
@@ -128,10 +128,22 @@
128
128
  title="Official documentation about module declarations"><span class="icon ion-ios-information-circle-outline"></span></a></h3>
129
129
  <ul class="list-group">
130
130
  <li class="list-group-item">
131
- <a href="../components/EuiAlertComponent.html">EuiAlertComponent</a>
131
+ <a href="../components/EuiAvatarBadgeComponent.html">EuiAvatarBadgeComponent</a>
132
132
  </li>
133
133
  <li class="list-group-item">
134
- <a href="../directives/EuiAlertTitleDirective.html">EuiAlertTitleDirective</a>
134
+ <a href="../components/EuiAvatarComponent.html">EuiAvatarComponent</a>
135
+ </li>
136
+ <li class="list-group-item">
137
+ <a href="../components/EuiAvatarIconComponent.html">EuiAvatarIconComponent</a>
138
+ </li>
139
+ <li class="list-group-item">
140
+ <a href="../components/EuiAvatarImageComponent.html">EuiAvatarImageComponent</a>
141
+ </li>
142
+ <li class="list-group-item">
143
+ <a href="../components/EuiAvatarListComponent.html">EuiAvatarListComponent</a>
144
+ </li>
145
+ <li class="list-group-item">
146
+ <a href="../components/EuiAvatarTextComponent.html">EuiAvatarTextComponent</a>
135
147
  </li>
136
148
  </ul>
137
149
  </div>
@@ -163,10 +175,22 @@
163
175
  class="icon ion-ios-information-circle-outline"></a></h3>
164
176
  <ul class="list-group">
165
177
  <li class="list-group-item">
166
- <a href="../components/EuiAlertComponent.html">EuiAlertComponent</a>
178
+ <a href="../components/EuiAvatarBadgeComponent.html">EuiAvatarBadgeComponent</a>
179
+ </li>
180
+ <li class="list-group-item">
181
+ <a href="../components/EuiAvatarComponent.html">EuiAvatarComponent</a>
182
+ </li>
183
+ <li class="list-group-item">
184
+ <a href="../components/EuiAvatarIconComponent.html">EuiAvatarIconComponent</a>
185
+ </li>
186
+ <li class="list-group-item">
187
+ <a href="../components/EuiAvatarImageComponent.html">EuiAvatarImageComponent</a>
188
+ </li>
189
+ <li class="list-group-item">
190
+ <a href="../components/EuiAvatarListComponent.html">EuiAvatarListComponent</a>
167
191
  </li>
168
192
  <li class="list-group-item">
169
- <a href="../directives/EuiAlertTitleDirective.html">EuiAlertTitleDirective</a>
193
+ <a href="../components/EuiAvatarTextComponent.html">EuiAvatarTextComponent</a>
170
194
  </li>
171
195
  </ul>
172
196
  </div>
@@ -12,6 +12,12 @@ import * as i5 from "@angular/forms";
12
12
  import * as i6 from "@eui/components/eui-select";
13
13
  import * as i7 from "@ngx-translate/core";
14
14
  export class EuiPaginatorComponent {
15
+ get isBasicMode() {
16
+ return this._isBasicMode;
17
+ }
18
+ set isBasicMode(value) {
19
+ this._isBasicMode = coerceBooleanProperty(value);
20
+ }
15
21
  get isHidden() {
16
22
  return this._isHidden;
17
23
  }
@@ -41,6 +47,7 @@ export class EuiPaginatorComponent {
41
47
  this.length = 0;
42
48
  this.nbPageNumberNavigation = 5;
43
49
  this._isHidden = false;
50
+ this._isBasicMode = false;
44
51
  this.pageChange = new EventEmitter();
45
52
  this.page$ = new BehaviorSubject(null);
46
53
  this.length$ = new BehaviorSubject(0);
@@ -179,11 +186,11 @@ export class EuiPaginatorComponent {
179
186
  });
180
187
  }
181
188
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiPaginatorComponent, deps: [{ token: i1.EuiAppShellService }, { token: i2.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component }); }
182
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isHidden: "isHidden", hasPageNumberNavigation: "hasPageNumberNavigation", hasDynamicLength: "hasDynamicLength" }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.string" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
189
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isBasicMode: "isBasicMode", isHidden: "isHidden", hasPageNumberNavigation: "hasPageNumberNavigation", hasDynamicLength: "hasDynamicLength" }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.string" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n\n <ng-container *ngIf=\"isBasicMode; else normalMode\">\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n </ng-container>\n\n <ng-template #normalMode>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
183
190
  }
184
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiPaginatorComponent, decorators: [{
185
192
  type: Component,
186
- args: [{ selector: 'eui-paginator', encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"] }]
193
+ args: [{ selector: 'eui-paginator', encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n\n <ng-container *ngIf=\"isBasicMode; else normalMode\">\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n </ng-container>\n\n <ng-template #normalMode>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"] }]
187
194
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i2.DecimalPipe }], propDecorators: { e2eAttr: [{
188
195
  type: HostBinding,
189
196
  args: ['attr.data-e2e']
@@ -202,6 +209,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
202
209
  type: Input
203
210
  }], nbPageNumberNavigation: [{
204
211
  type: Input
212
+ }], isBasicMode: [{
213
+ type: Input
205
214
  }], isHidden: [{
206
215
  type: Input
207
216
  }], pageChange: [{
@@ -211,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
211
220
  }], hasDynamicLength: [{
212
221
  type: Input
213
222
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktcGFnaW5hdG9yL2V1aS1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXBhZ2luYXRvci9ldWktcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsS0FBSyxFQUVMLFlBQVksRUFDWixNQUFNLEVBR04sV0FBVyxFQUNYLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBUzlDLE1BQU0sT0FBTyxxQkFBcUI7SUFROUIsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFXRCxJQUNJLHVCQUF1QjtRQUN2QixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSx1QkFBdUIsQ0FBQyxLQUFtQjtRQUMzQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQ0ksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLGdC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RSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU0sVUFBVTtRQUNi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SW5pdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE91dHB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuXG5pbXBvcnQgeyBFdWlQYWdpbmF0aW9uRXZlbnQgfSBmcm9tICcuL21vZGVscy9wYWdpbmF0aW9uLWV2ZW50Lm1vZGVsJztcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktcGFnaW5hdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtEZWNpbWFsUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBhZ2luYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWUyZScpIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLXBhZ2luYXRvcic7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHN0cmluZyA9ICdldWktcGFnaW5hdG9yJztcbiAgICBASW5wdXQoKSBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzUsIDEwLCAyNSwgNTAsIDEwMF07XG4gICAgQElucHV0KCkgcGFnZVNpemUgPSAxMDtcbiAgICBASW5wdXQoKSBwYWdlID0gMDtcbiAgICBASW5wdXQoKSBsZW5ndGggPSAwO1xuICAgIEBJbnB1dCgpIG5iUGFnZU51bWJlck5hdmlnYXRpb24gPSA1O1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNIaWRkZW47XG4gICAgfVxuICAgIHNldCBpc0hpZGRlbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzSGlkZGVuID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgX2lzSGlkZGVuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpUGFnaW5hdGlvbkV2ZW50PigpO1xuXG4gICAgcHVibGljIHBhZ2UkOiBCZWhhdmlvclN1YmplY3Q8RXVpUGFnaW5hdGlvbkV2ZW50PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gICAgcHVibGljIGxlbmd0aCQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgICBwdWJsaWMgcmFuZ2U6IHN0cmluZztcbiAgICBwdWJsaWMgcmFuZ2VMZW5ndGg6IHN0cmluZztcbiAgICBwdWJsaWMgbmJQYWdlOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNQYWdlTnVtYmVyTmF2aWdhdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uO1xuICAgIH1cbiAgICBzZXQgaGFzUGFnZU51bWJlck5hdmlnYXRpb24odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9oYXNQYWdlTnVtYmVyTmF2aWdhdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2hhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgaGFzRHluYW1pY0xlbmd0aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc0R5bmFtaWNMZW5ndGg7XG4gICAgfVxuICAgIHNldCBoYXNEeW5hbWljTGVuZ3RoKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faGFzRHluYW1pY0xlbmd0aCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2hhc0R5bmFtaWNMZW5ndGggPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbmJQYWdlTnVtYmVyTmF2OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIEV1aUFwcFNoZWxsU2VydmljZTogRXVpQXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRlY2ltYWw6IERlY2ltYWxQaXBlLFxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGMgJiYgYy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubGVuZ3RoJC5uZXh0KGMubGVuZ3RoLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGMgJiYgYy5wYWdlKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiBjLnBhZ2UuY3VycmVudFZhbHVlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYyAmJiBjLnBhZ2VTaXplKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiBjLnBhZ2VTaXplLmN1cnJlbnRWYWx1ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZVNpemUoYy5wYWdlU2l6ZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5sZW5ndGgkLm5leHQodGhpcy5sZW5ndGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYlBhZ2VOdW1iZXJOYXYgPSB0aGlzLm5iUGFnZU51bWJlck5hdmlnYXRpb247XG5cbiAgICAgICAgdGhpcy5sZW5ndGgkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKGxlbmd0aCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sZW5ndGggPSBsZW5ndGg7XG4gICAgICAgICAgICB0aGlzLm5iUGFnZSA9IE1hdGguY2VpbCh0aGlzLmxlbmd0aCAvIHRoaXMucGFnZVNpemUpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0R5bmFtaWNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5uYlBhZ2UgPCB0aGlzLm5iUGFnZU51bWJlck5hdmlnYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5iUGFnZU51bWJlck5hdiA9IHRoaXMubmJQYWdlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5iUGFnZU51bWJlck5hdiA9IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCBwYWdlTnVtYmVyTmF2aWdhdGlvbigpOiBudW1iZXJbXSB7XG4gICAgICAgIGNvbnN0IHBhZ2VzID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5uYlBhZ2U7IGkrKykge1xuICAgICAgICAgICAgcGFnZXMucHVzaChpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlbHRhID0gTWF0aC5mbG9vcih0aGlzLm5iUGFnZU51bWJlck5hdiAvIDIpO1xuICAgICAgICBsZXQgc3RhcnQgPSAwO1xuICAgICAgICBpZiAodGhpcy5wYWdlIC0gZGVsdGEgPiAwKSB7XG4gICAgICAgICAgICBzdGFydCA9IHRoaXMucGFnZSAtIGRlbHRhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmJQYWdlIC0gdGhpcy5wYWdlIDw9IHRoaXMubmJQYWdlTnVtYmVyTmF2IC0gKGRlbHRhICsgMSkpIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gdGhpcy5uYlBhZ2UgLSB0aGlzLm5iUGFnZU51bWJlck5hdjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgdGhpcy5uYlBhZ2VOdW1iZXJOYXY7XG4gICAgICAgIHJldHVybiBwYWdlcy5zbGljZShzdGFydCwgZW5kKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlUGFnZVNpemUoc2l6ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBwYXJzZUludChzaXplLCAxMCk7XG4gICAgICAgIHRoaXMubmJQYWdlID0gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgIHRoaXMucGFnZSA9IDA7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcblxuICAgICAgICBpZiAodGhpcy5uYlBhZ2UgPCB0aGlzLm5iUGFnZU51bWJlck5hdmlnYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5iUGFnZU51bWJlck5hdiA9IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb0ZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlID0gMDtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdvUHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UtLTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdvTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZSsrO1xuICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ29MYXN0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlID0gdGhpcy5uYlBhZ2UgLSAxO1xuICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UGFnZShwYWdlOiBFdWlQYWdpbmF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHBhZ2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRMZW5ndGgobGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sZW5ndGgkLm5leHQobGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmxlbmd0aCA+IDAgPyB0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplICsgMSA6IDA7XG4gICAgICAgIGNvbnN0IGxpbWl0ID0gdGhpcy5wYWdlICogdGhpcy5wYWdlU2l6ZSArIHRoaXMucGFnZVNpemU7XG4gICAgICAgIGNvbnN0IHRvID0gbGltaXQgPD0gdGhpcy5sZW5ndGggPyBsaW1pdCA6IHRoaXMubGVuZ3RoO1xuICAgICAgICB0aGlzLnJhbmdlID0gZnJvbSAmJiB0byAmJiB0aGlzLmxlbmd0aCA/IHRoaXMuZGVjaW1hbC50cmFuc2Zvcm0oZnJvbSkgKyAn4oCTJyArIHRoaXMuZGVjaW1hbC50cmFuc2Zvcm0odG8pIDogJyc7XG4gICAgICAgIHRoaXMucmFuZ2VMZW5ndGggPSB0aGlzLmxlbmd0aCA/IHRoaXMubGVuZ3RoLnRvU3RyaW5nKCkgOiAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIHBhZ2luYXRpb24gdG8gdGhlIGdpdmVuIHBhZ2UgbnVtYmVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFnZSAwLWJhc2VkIHBhZ2UgbnVtYmVyIHRvIGJlIGRpc3BsYXllZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub1BhZ2UocGFnZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhaXNIaWRkZW4gJiYgIShFdWlBcHBTaGVsbFNlcnZpY2UuYnJlYWtwb2ludHMkIHwgYXN5bmMpLmlzTW9iaWxlXCIgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlXCI+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2Utc2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdj57eyAnZXVpLmV1aXRhYmxlLklURU1TLVBFUi1QQUdFJyB8IHRyYW5zbGF0ZSB9fTo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LXBsLXhzIGV1aS11LXBiLTJ4c1wiPlxuICAgICAgICAgICAgPHNlbGVjdCBldWlTZWxlY3QgY2xhc3M9XCJwYWdlLXNpemVfX3NlbGVjdFwiIGFyaWEtbGFiZWw9XCJQYWdlIHNpemUgc2VsZWN0ZWRcIiBbKG5nTW9kZWwpXT1cInBhZ2VTaXplXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlUGFnZVNpemUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHBhZ2VTaXplT3B0aW9uIG9mIHBhZ2VTaXplT3B0aW9uc1wiIHZhbHVlPVwie3sgcGFnZVNpemVPcHRpb24gfX1cIj57eyBwYWdlU2l6ZU9wdGlvbiB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIobGVuZ3RoJCB8IGFzeW5jKSA+IDBcIiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtcmFuZ2VcIj5cbiAgICAgICAge3sgJ2V1aS5ldWl0YWJsZS5TSE9XSU5HLVJBTkdFJyB8IHRyYW5zbGF0ZTogeyByYW5nZTogcmFuZ2UgfSB9fSB7eyAnZXVpLmV1aXRhYmxlLlJBTkdFLUxBQkVMJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICB7eyByYW5nZUxlbmd0aCB8IG51bWJlciB9fVxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCIhaXNIaWRkZW5cIiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24taXRlbVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtldWlTaXplU109XCJoYXNQYWdlTnVtYmVyTmF2aWdhdGlvbiAmJiAhKEV1aUFwcFNoZWxsU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNNb2JpbGVcIlxuICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cInBhZ2UgPT09IDAgfHwgbGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgIChjbGljayk9XCJnb0ZpcnN0UGFnZSgpXCI+XG4gICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2FyZXQtZmlyc3RcIiBhcmlhLWxhYmVsPVwiR28gdG8gZmlyc3QgcGFnZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZXVpU2l6ZVNdPVwiaGFzUGFnZU51bWJlck5hdmlnYXRpb24gJiYgIShFdWlBcHBTaGVsbFNlcnZpY2UuYnJlYWtwb2ludHMkIHwgYXN5bmMpLmlzTW9iaWxlXCJcbiAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgICAgIGV1aVByaW1hcnlcbiAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlID09PSAwIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29QcmV2aW91c1BhZ2UoKVwiPlxuICAgICAgICAgICAgPCEtLSB0byBiZSBjb21wbGlhbnQgd2l0aCBEUyBhcyBwbGF5LWJhY2sgaXMgbm90IGV4aXN0aW5nIGluIGlvbmljb25zIC0tPlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNhcmV0LWxlZnRcIiBhcmlhLWxhYmVsPVwiR28gdG8gcHJldmlvdXMgcGFnZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLW51bWJlcnNcIlxuICAgICAgICAqbmdJZj1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uICYmICEoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZU51bWJlciBvZiBwYWdlTnVtYmVyTmF2aWdhdGlvblwiXG4gICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICBldWlQcmltYXJ5XG4gICAgICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICBbZXVpT3V0bGluZV09XCJwYWdlTnVtYmVyID09PSBwYWdlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJnb1RvUGFnZShwYWdlTnVtYmVyKVwiPlxuICAgICAgICAgICAge3sgcGFnZU51bWJlciArIDEgfCBudW1iZXIgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihsZW5ndGgkIHwgYXN5bmMpID4gMCAmJiAoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiIGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1yYW5nZVwiPlxuICAgICAgICB7eyByYW5nZSB9fSB7eyAnZXVpLmV1aXRhYmxlLlJBTkdFLUxBQkVMJyB8IHRyYW5zbGF0ZSB9fSB7eyByYW5nZUxlbmd0aCB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24taXRlbVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtldWlTaXplU109XCJoYXNQYWdlTnVtYmVyTmF2aWdhdGlvbiAmJiAhKEV1aUFwcFNoZWxsU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNNb2JpbGVcIlxuICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cInBhZ2UgKyAxID09PSBuYlBhZ2UgfHwgbGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgIChjbGljayk9XCJnb05leHRQYWdlKClcIj5cbiAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jYXJldC1yaWdodFwiIGFyaWEtbGFiZWw9XCJHbyB0byBuZXh0IHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2V1aVNpemVTXT1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uICYmICEoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiXG4gICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgICAgICBldWlQcmltYXJ5XG4gICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSArIDEgPT09IG5iUGFnZSB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImdvTGFzdFBhZ2UoKVwiPlxuICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNhcmV0LWxhc3RcIiBhcmlhLWxhYmVsPVwiR28gdG8gbGFzdCBwYWdlXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktcGFnaW5hdG9yL2V1aS1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXBhZ2luYXRvci9ldWktcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsS0FBSyxFQUVMLFlBQVksRUFDWixNQUFNLEVBR04sV0FBVyxFQUNYLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBUzlDLE1BQU0sT0FBTyxxQkFBcUI7SUFROUIsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFtQjtRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQVlELElBQ0ksdUJBQXVCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLHVCQUF1QixDQUFD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Q0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLEVB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SztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUYsV0FBVztzQkFEZCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFVSSxVQUFVO3NCQUFuQixNQUFNO2dCQVNILHVCQUF1QjtzQkFEMUIsS0FBSztnQkFTRixnQkFBZ0I7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPdXRwdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRXVpQXBwU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQGV1aS9jb3JlJztcblxuaW1wb3J0IHsgRXVpUGFnaW5hdGlvbkV2ZW50IH0gZnJvbSAnLi9tb2RlbHMvcGFnaW5hdGlvbi1ldmVudC5tb2RlbCc7XG5pbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbRGVjaW1hbFBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlQYWdpbmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1lMmUnKSBASW5wdXQoKSBlMmVBdHRyID0gJ2V1aS1wYWdpbmF0b3InO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBzdHJpbmcgPSAnZXVpLXBhZ2luYXRvcic7XG4gICAgQElucHV0KCkgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFs1LCAxMCwgMjUsIDUwLCAxMDBdO1xuICAgIEBJbnB1dCgpIHBhZ2VTaXplID0gMTA7XG4gICAgQElucHV0KCkgcGFnZSA9IDA7XG4gICAgQElucHV0KCkgbGVuZ3RoID0gMDtcbiAgICBASW5wdXQoKSBuYlBhZ2VOdW1iZXJOYXZpZ2F0aW9uID0gNTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0Jhc2ljTW9kZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQmFzaWNNb2RlO1xuICAgIH1cbiAgICBzZXQgaXNCYXNpY01vZGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0Jhc2ljTW9kZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgaXNIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0hpZGRlbjtcbiAgICB9XG4gICAgc2V0IGlzSGlkZGVuKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNIaWRkZW4gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBfaXNIaWRkZW4gPSBmYWxzZTtcbiAgICBfaXNCYXNpY01vZGUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlQYWdpbmF0aW9uRXZlbnQ+KCk7XG5cbiAgICBwdWJsaWMgcGFnZSQ6IEJlaGF2aW9yU3ViamVjdDxFdWlQYWdpbmF0aW9uRXZlbnQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICBwdWJsaWMgbGVuZ3RoJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuICAgIHB1YmxpYyByYW5nZTogc3RyaW5nO1xuICAgIHB1YmxpYyByYW5nZUxlbmd0aDogc3RyaW5nO1xuICAgIHB1YmxpYyBuYlBhZ2U6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzUGFnZU51bWJlck5hdmlnYXRpb247XG4gICAgfVxuICAgIHNldCBoYXNQYWdlTnVtYmVyTmF2aWdhdGlvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2hhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaGFzUGFnZU51bWJlck5hdmlnYXRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNEeW5hbWljTGVuZ3RoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzRHluYW1pY0xlbmd0aDtcbiAgICB9XG4gICAgc2V0IGhhc0R5bmFtaWNMZW5ndGgodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9oYXNEeW5hbWljTGVuZ3RoID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaGFzRHluYW1pY0xlbmd0aCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBuYlBhZ2VOdW1iZXJOYXY6IG51bWJlcjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgRXVpQXBwU2hlbGxTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGVjaW1hbDogRGVjaW1hbFBpcGUsXG4gICAgKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoYzogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoYyAmJiBjLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5sZW5ndGgkLm5leHQoYy5sZW5ndGguY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYyAmJiBjLnBhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IGMucGFnZS5jdXJyZW50VmFsdWUsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjICYmIGMucGFnZVNpemUpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IGMucGFnZVNpemUuY3VycmVudFZhbHVlLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYWdlU2l6ZShjLnBhZ2VTaXplLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCQubmV4dCh0aGlzLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5iUGFnZU51bWJlck5hdiA9IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbjtcblxuICAgICAgICB0aGlzLmxlbmd0aCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgobGVuZ3RoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aCA9IGxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMubmJQYWdlID0gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzRHluYW1pY0xlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm5iUGFnZSA8IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2VOdW1iZXJOYXZpZ2F0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHBhZ2VOdW1iZXJOYXZpZ2F0aW9uKCk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgcGFnZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5iUGFnZTsgaSsrKSB7XG4gICAgICAgICAgICBwYWdlcy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLmZsb29yKHRoaXMubmJQYWdlTnVtYmVyTmF2IC8gMik7XG4gICAgICAgIGxldCBzdGFydCA9IDA7XG4gICAgICAgIGlmICh0aGlzLnBhZ2UgLSBkZWx0YSA+IDApIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gdGhpcy5wYWdlIC0gZGVsdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uYlBhZ2UgLSB0aGlzLnBhZ2UgPD0gdGhpcy5uYlBhZ2VOdW1iZXJOYXYgLSAoZGVsdGEgKyAxKSkge1xuICAgICAgICAgICAgc3RhcnQgPSB0aGlzLm5iUGFnZSAtIHRoaXMubmJQYWdlTnVtYmVyTmF2O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXJ0IDwgMCkge1xuICAgICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5kID0gc3RhcnQgKyB0aGlzLm5iUGFnZU51bWJlck5hdjtcbiAgICAgICAgcmV0dXJuIHBhZ2VzLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VQYWdlU2l6ZShzaXplOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhcnNlSW50KHNpemUsIDEwKTtcbiAgICAgICAgdGhpcy5uYlBhZ2UgPSBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgICAgICAgdGhpcy5wYWdlID0gMDtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm5iUGFnZSA8IHRoaXMubmJQYWdlTnVtYmVyTmF2aWdhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5uYlBhZ2VOdW1iZXJOYXYgPSB0aGlzLm5iUGFnZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmJQYWdlTnVtYmVyTmF2ID0gdGhpcy5uYlBhZ2VOdW1iZXJOYXZpZ2F0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb1RvUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnZTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICAgICAgdGhpcy5nZXRSYW5nZSgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdvRmlyc3RQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ29QcmV2aW91c1BhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZS0tO1xuICAgICAgICB0aGlzLnBhZ2UkLm5leHQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgICAgICB0aGlzLmdldFJhbmdlKCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHsgcGFnZTogdGhpcy5wYWdlLCBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwgbmJQYWdlOiB0aGlzLm5iUGFnZSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ29OZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlKys7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnb0xhc3RQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UgPSB0aGlzLm5iUGFnZSAtIDE7XG4gICAgICAgIHRoaXMucGFnZSQubmV4dCh7IHBhZ2U6IHRoaXMucGFnZSwgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsIG5iUGFnZTogdGhpcy5uYlBhZ2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0UmFuZ2UoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoeyBwYWdlOiB0aGlzLnBhZ2UsIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLCBuYlBhZ2U6IHRoaXMubmJQYWdlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYWdlKHBhZ2U6IEV1aVBhZ2luYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UkLm5leHQocGFnZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExlbmd0aChsZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmxlbmd0aCQubmV4dChsZW5ndGgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMubGVuZ3RoID4gMCA/IHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUgKyAxIDogMDtcbiAgICAgICAgY29uc3QgbGltaXQgPSB0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplICsgdGhpcy5wYWdlU2l6ZTtcbiAgICAgICAgY29uc3QgdG8gPSBsaW1pdCA8PSB0aGlzLmxlbmd0aCA/IGxpbWl0IDogdGhpcy5sZW5ndGg7XG4gICAgICAgIHRoaXMucmFuZ2UgPSBmcm9tICYmIHRvICYmIHRoaXMubGVuZ3RoID8gdGhpcy5kZWNpbWFsLnRyYW5zZm9ybShmcm9tKSArICfigJMnICsgdGhpcy5kZWNpbWFsLnRyYW5zZm9ybSh0bykgOiAnJztcbiAgICAgICAgdGhpcy5yYW5nZUxlbmd0aCA9IHRoaXMubGVuZ3RoID8gdGhpcy5sZW5ndGgudG9TdHJpbmcoKSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgcGFnaW5hdGlvbiB0byB0aGUgZ2l2ZW4gcGFnZSBudW1iZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdlIDAtYmFzZWQgcGFnZSBudW1iZXIgdG8gYmUgZGlzcGxheWVkXG4gICAgICovXG4gICAgcHVibGljIGdldFBhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nb1RvUGFnZShwYWdlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIiFpc0hpZGRlbiAmJiAhKEV1aUFwcFNoZWxsU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNNb2JpbGVcIiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1zZWxlY3RvclwiPlxuICAgICAgICA8ZGl2Pnt7ICdldWkuZXVpdGFibGUuSVRFTVMtUEVSLVBBR0UnIHwgdHJhbnNsYXRlIH19OjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtcGwteHMgZXVpLXUtcGItMnhzXCI+XG4gICAgICAgICAgICA8c2VsZWN0IGV1aVNlbGVjdCBjbGFzcz1cInBhZ2Utc2l6ZV9fc2VsZWN0XCIgYXJpYS1sYWJlbD1cIlBhZ2Ugc2l6ZSBzZWxlY3RlZFwiIFsobmdNb2RlbCldPVwicGFnZVNpemVcIiAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VQYWdlU2l6ZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgcGFnZVNpemVPcHRpb24gb2YgcGFnZVNpemVPcHRpb25zXCIgdmFsdWU9XCJ7eyBwYWdlU2l6ZU9wdGlvbiB9fVwiPnt7IHBhZ2VTaXplT3B0aW9uIH19PC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihsZW5ndGgkIHwgYXN5bmMpID4gMFwiIGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1yYW5nZVwiPlxuICAgICAgICB7eyAnZXVpLmV1aXRhYmxlLlNIT1dJTkctUkFOR0UnIHwgdHJhbnNsYXRlOiB7IHJhbmdlOiByYW5nZSB9IH19IHt7ICdldWkuZXVpdGFibGUuUkFOR0UtTEFCRUwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIHt7IHJhbmdlTGVuZ3RoIHwgbnVtYmVyIH19XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIiFpc0hpZGRlblwiIGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uXCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNCYXNpY01vZGU7IGVsc2Ugbm9ybWFsTW9kZVwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24taXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFtldWlTaXplU109XCJoYXNQYWdlTnVtYmVyTmF2aWdhdGlvbiAmJiAhKEV1aUFwcFNoZWxsU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNNb2JpbGVcIlxuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgICAgICAgICBldWlQcmltYXJ5XG4gICAgICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cInBhZ2UgPT09IDAgfHwgbGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29QcmV2aW91c1BhZ2UoKVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gdG8gYmUgY29tcGxpYW50IHdpdGggRFMgYXMgcGxheS1iYWNrIGlzIG5vdCBleGlzdGluZyBpbiBpb25pY29ucyAtLT5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2FyZXQtbGVmdFwiIGFyaWEtbGFiZWw9XCJHbyB0byBwcmV2aW91cyBwYWdlXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2V1aVNpemVTXT1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uICYmICEoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiXG4gICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgICAgIGV1aVByaW1hcnlcbiAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSArIDEgPT09IG5iUGFnZSB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb05leHRQYWdlKClcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2FyZXQtcmlnaHRcIiBhcmlhLWxhYmVsPVwiR28gdG8gbmV4dCBwYWdlXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm9ybWFsTW9kZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2V1aVNpemVTXT1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uICYmICEoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiXG4gICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgICAgIGV1aVByaW1hcnlcbiAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSA9PT0gMCB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb0ZpcnN0UGFnZSgpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNhcmV0LWZpcnN0XCIgYXJpYS1sYWJlbD1cIkdvIHRvIGZpcnN0IHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS1wYWdpbmF0b3JfX3BhZ2UtbmF2aWdhdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2V1aVNpemVTXT1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uICYmICEoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiXG4gICAgICAgICAgICAgICAgZXVpQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpUm91bmRlZFxuICAgICAgICAgICAgICAgIGV1aVByaW1hcnlcbiAgICAgICAgICAgICAgICBbZXVpRGlzYWJsZWRdPVwicGFnZSA9PT0gMCB8fCBsZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1ByZXZpb3VzUGFnZSgpXCI+XG4gICAgICAgICAgICAgICAgPCEtLSB0byBiZSBjb21wbGlhbnQgd2l0aCBEUyBhcyBwbGF5LWJhY2sgaXMgbm90IGV4aXN0aW5nIGluIGlvbmljb25zIC0tPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jYXJldC1sZWZ0XCIgYXJpYS1sYWJlbD1cIkdvIHRvIHByZXZpb3VzIHBhZ2VcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24tbnVtYmVyc1wiXG4gICAgICAgICAgICAqbmdJZj1cImhhc1BhZ2VOdW1iZXJOYXZpZ2F0aW9uICYmICEoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGV1aVNpemVTXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgcGFnZU51bWJlck5hdmlnYXRpb25cIlxuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUJhc2ljQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgW2V1aU91dGxpbmVdPVwicGFnZU51bWJlciA9PT0gcGFnZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9QYWdlKHBhZ2VOdW1iZXIpXCI+XG4gICAgICAgICAgICAgICAge3sgcGFnZU51bWJlciArIDEgfCBudW1iZXIgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihsZW5ndGgkIHwgYXN5bmMpID4gMCAmJiAoRXVpQXBwU2hlbGxTZXJ2aWNlLmJyZWFrcG9pbnRzJCB8IGFzeW5jKS5pc01vYmlsZVwiIGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1yYW5nZVwiPlxuICAgICAgICAgICAge3sgcmFuZ2UgfX0ge3sgJ2V1aS5ldWl0YWJsZS5SQU5HRS1MQUJFTCcgfCB0cmFuc2xhdGUgfX0ge3sgcmFuZ2VMZW5ndGggfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktcGFnaW5hdG9yX19wYWdlLW5hdmlnYXRpb24taXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFtldWlTaXplU109XCJoYXNQYWdlTnVtYmVyTmF2aWdhdGlvbiAmJiAhKEV1aUFwcFNoZWxsU2VydmljZS5icmVha3BvaW50cyQgfCBhc3luYykuaXNNb2JpbGVcIlxuICAgICAgICAgICAgICAgIGV1aUJ1dHRvblxuICAgICAgICAgICAgICAgIGV1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICBldWlCYXNpY0J1dHRvblxuICAgICAgICAgICAgICAgIGV1aVJvdW5kZWRcbiAgICAgICAgICAgICAgICBldWlQcmltYXJ5XG4gICAgICAgICAgICAgICAgW2V1aURpc2FibGVkXT1cInBhZ2UgKyAxID09PSBuYlBhZ2UgfHwgbGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29OZXh0UGFnZSgpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNhcmV0LXJpZ2h0XCIgYXJpYS1sYWJlbD1cIkdvIHRvIG5leHQgcGFnZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXBhZ2luYXRvcl9fcGFnZS1uYXZpZ2F0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZXVpU2l6ZVNdPVwiaGFzUGFnZU51bWJlck5hdmlnYXRpb24gJiYgIShFdWlBcHBTaGVsbFNlcnZpY2UuYnJlYWtwb2ludHMkIHwgYXN5bmMpLmlzTW9iaWxlXCJcbiAgICAgICAgICAgICAgICBldWlCdXR0b25cbiAgICAgICAgICAgICAgICBldWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgZXVpQmFzaWNCdXR0b25cbiAgICAgICAgICAgICAgICBldWlSb3VuZGVkXG4gICAgICAgICAgICAgICAgZXVpUHJpbWFyeVxuICAgICAgICAgICAgICAgIFtldWlEaXNhYmxlZF09XCJwYWdlICsgMSA9PT0gbmJQYWdlIHx8IGxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvTGFzdFBhZ2UoKVwiPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jYXJldC1sYXN0XCIgYXJpYS1sYWJlbD1cIkdvIHRvIGxhc3QgcGFnZVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -15,9 +15,12 @@ export declare class EuiPaginatorComponent implements OnInit, OnDestroy, OnChang
15
15
  page: number;
16
16
  length: number;
17
17
  nbPageNumberNavigation: number;
18
+ get isBasicMode(): boolean;
19
+ set isBasicMode(value: BooleanInput);
18
20
  get isHidden(): boolean;
19
21
  set isHidden(value: BooleanInput);
20
22
  _isHidden: boolean;
23
+ _isBasicMode: boolean;
21
24
  pageChange: EventEmitter<EuiPaginationEvent>;
22
25
  page$: BehaviorSubject<EuiPaginationEvent>;
23
26
  length$: BehaviorSubject<number>;
@@ -53,6 +56,6 @@ export declare class EuiPaginatorComponent implements OnInit, OnDestroy, OnChang
53
56
  */
54
57
  getPage(page: number): void;
55
58
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiPaginatorComponent, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<EuiPaginatorComponent, "eui-paginator", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "page": { "alias": "page"; "required": false; }; "length": { "alias": "length"; "required": false; }; "nbPageNumberNavigation": { "alias": "nbPageNumberNavigation"; "required": false; }; "isHidden": { "alias": "isHidden"; "required": false; }; "hasPageNumberNavigation": { "alias": "hasPageNumberNavigation"; "required": false; }; "hasDynamicLength": { "alias": "hasDynamicLength"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, false, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<EuiPaginatorComponent, "eui-paginator", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "page": { "alias": "page"; "required": false; }; "length": { "alias": "length"; "required": false; }; "nbPageNumberNavigation": { "alias": "nbPageNumberNavigation"; "required": false; }; "isBasicMode": { "alias": "isBasicMode"; "required": false; }; "isHidden": { "alias": "isHidden"; "required": false; }; "hasPageNumberNavigation": { "alias": "hasPageNumberNavigation"; "required": false; }; "hasDynamicLength": { "alias": "hasDynamicLength"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, false, never>;
57
60
  }
58
61
  //# sourceMappingURL=eui-paginator.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eui-paginator.component.d.ts","sourceRoot":"","sources":["../../eui-paginator/eui-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,MAAM,EAEN,SAAS,EACT,YAAY,EAEZ,SAAS,EACT,aAAa,EAGhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAW,eAAe,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAyB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;;AAE9C,qBAOa,qBAAsB,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IA8C3D,kBAAkB,EAAE,kBAAkB;IAC7C,OAAO,CAAC,OAAO;IA9CoB,OAAO,SAAmB;IAC3C,MAAM,SAAmB;IACtC,eAAe,EAAE,MAAM,EAAE,CAAwB;IACjD,QAAQ,SAAM;IACd,IAAI,SAAK;IACT,MAAM,SAAK;IACX,sBAAsB,SAAK;IACpC,IACI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;IACD,SAAS,UAAS;IAER,UAAU,mCAA0C;IAEvD,KAAK,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAA6B;IACvE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAA0B;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IAEtB,IACI,uBAAuB,IAAI,OAAO,CAErC;IACD,IAAI,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAE9C;IACD,OAAO,CAAC,wBAAwB,CAAS;IACzC,IACI,gBAAgB,IAAI,OAAO,CAE9B;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAEvC;IACD,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAA4C;gBAGjD,kBAAkB,EAAE,kBAAkB,EACrC,OAAO,EAAE,WAAW;IAGhC,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAgBnC,QAAQ,IAAI,IAAI;IA0BhB,WAAW,IAAI,IAAI;IAKnB,IAAI,oBAAoB,IAAI,MAAM,EAAE,CAwBnC;IAEM,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBlC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO5B,WAAW,IAAI,IAAI;IAOnB,cAAc,IAAI,IAAI;IAOtB,UAAU,IAAI,IAAI;IAOlB,UAAU,IAAI,IAAI;IAOlB,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAIvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,QAAQ,IAAI,IAAI;IAQvB;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;yCAnMzB,qBAAqB;2CAArB,qBAAqB;CAwMjC"}
1
+ {"version":3,"file":"eui-paginator.component.d.ts","sourceRoot":"","sources":["../../eui-paginator/eui-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,MAAM,EAEN,SAAS,EACT,YAAY,EAEZ,SAAS,EACT,aAAa,EAGhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAW,eAAe,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAyB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;;AAE9C,qBAOa,qBAAsB,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IAuD3D,kBAAkB,EAAE,kBAAkB;IAC7C,OAAO,CAAC,OAAO;IAvDoB,OAAO,SAAmB;IAC3C,MAAM,SAAmB;IACtC,eAAe,EAAE,MAAM,EAAE,CAAwB;IACjD,QAAQ,SAAM;IACd,IAAI,SAAK;IACT,MAAM,SAAK;IACX,sBAAsB,SAAK;IACpC,IACI,WAAW,IAAI,OAAO,CAEzB;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,YAAY,EAElC;IAED,IACI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;IACD,SAAS,UAAS;IAClB,YAAY,UAAS;IAEX,UAAU,mCAA0C;IAEvD,KAAK,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAA6B;IACvE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAA0B;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IAEtB,IACI,uBAAuB,IAAI,OAAO,CAErC;IACD,IAAI,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAE9C;IACD,OAAO,CAAC,wBAAwB,CAAS;IACzC,IACI,gBAAgB,IAAI,OAAO,CAE9B;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAEvC;IACD,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAA4C;gBAGjD,kBAAkB,EAAE,kBAAkB,EACrC,OAAO,EAAE,WAAW;IAGhC,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAgBnC,QAAQ,IAAI,IAAI;IA0BhB,WAAW,IAAI,IAAI;IAKnB,IAAI,oBAAoB,IAAI,MAAM,EAAE,CAwBnC;IAEM,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBlC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO5B,WAAW,IAAI,IAAI;IAOnB,cAAc,IAAI,IAAI;IAOtB,UAAU,IAAI,IAAI;IAOlB,UAAU,IAAI,IAAI;IAOlB,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAIvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,QAAQ,IAAI,IAAI;IAQvB;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;yCA5MzB,qBAAqB;2CAArB,qBAAqB;CAiNjC"}
@@ -18,6 +18,12 @@ import * as i7 from '@ngx-translate/core';
18
18
  import { TranslateModule } from '@ngx-translate/core';
19
19
 
20
20
  class EuiPaginatorComponent {
21
+ get isBasicMode() {
22
+ return this._isBasicMode;
23
+ }
24
+ set isBasicMode(value) {
25
+ this._isBasicMode = coerceBooleanProperty(value);
26
+ }
21
27
  get isHidden() {
22
28
  return this._isHidden;
23
29
  }
@@ -47,6 +53,7 @@ class EuiPaginatorComponent {
47
53
  this.length = 0;
48
54
  this.nbPageNumberNavigation = 5;
49
55
  this._isHidden = false;
56
+ this._isBasicMode = false;
50
57
  this.pageChange = new EventEmitter();
51
58
  this.page$ = new BehaviorSubject(null);
52
59
  this.length$ = new BehaviorSubject(0);
@@ -185,11 +192,11 @@ class EuiPaginatorComponent {
185
192
  });
186
193
  }
187
194
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiPaginatorComponent, deps: [{ token: i1.EuiAppShellService }, { token: i2.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component }); }
188
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isHidden: "isHidden", hasPageNumberNavigation: "hasPageNumberNavigation", hasDynamicLength: "hasDynamicLength" }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.string" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
195
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EuiPaginatorComponent, selector: "eui-paginator", inputs: { e2eAttr: "e2eAttr", pageSizeOptions: "pageSizeOptions", pageSize: "pageSize", page: "page", length: "length", nbPageNumberNavigation: "nbPageNumberNavigation", isBasicMode: "isBasicMode", isHidden: "isHidden", hasPageNumberNavigation: "hasPageNumberNavigation", hasDynamicLength: "hasDynamicLength" }, outputs: { pageChange: "pageChange" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "class": "this.string" } }, providers: [DecimalPipe], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n\n <ng-container *ngIf=\"isBasicMode; else normalMode\">\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n </ng-container>\n\n <ng-template #normalMode>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.EuiSelectComponent, selector: "select[euiSelect]", inputs: ["placeholder", "readonly", "isInvalid"] }, { kind: "directive", type: i6.EuiNgSelectOptionDirective, selector: "option:not([eclSelectOption]):not([eclMultiselectOption]), option[euiOption]", inputs: ["selected", "label", "ngValue"] }, { kind: "directive", type: i6.EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]", inputs: ["placeholder"] }, { kind: "directive", type: i6.EuiSelectMultipleOption, selector: "option, option[euiOption]", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
189
196
  }
190
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiPaginatorComponent, decorators: [{
191
198
  type: Component,
192
- args: [{ selector: 'eui-paginator', encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"] }]
199
+ args: [{ selector: 'eui-paginator', encapsulation: ViewEncapsulation.None, providers: [DecimalPipe], template: "<div *ngIf=\"!isHidden && !(EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page\">\n <div class=\"eui-paginator__page-selector\">\n <div>{{ 'eui.euitable.ITEMS-PER-PAGE' | translate }}:</div>\n <div class=\"eui-u-pl-xs eui-u-pb-2xs\">\n <select euiSelect class=\"page-size__select\" aria-label=\"Page size selected\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"changePageSize($event)\">\n <option *ngFor=\"let pageSizeOption of pageSizeOptions\" value=\"{{ pageSizeOption }}\">{{ pageSizeOption }}</option>\n </select>\n </div>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate: { range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }}\n {{ rangeLength | number }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-paginator__page-navigation\">\n\n <ng-container *ngIf=\"isBasicMode; else normalMode\">\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n\n </ng-container>\n\n <ng-template #normalMode>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goFirstPage()\">\n <eui-icon-svg icon=\"eui-caret-first\" aria-label=\"Go to first page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page === 0 || length === 0\"\n (click)=\"goPreviousPage()\">\n <!-- to be compliant with DS as play-back is not existing in ionicons -->\n <eui-icon-svg icon=\"eui-caret-left\" aria-label=\"Go to previous page\"></eui-icon-svg>\n </button>\n </div>\n <div\n class=\"eui-paginator__page-navigation-numbers\"\n *ngIf=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\">\n <button\n type=\"button\"\n euiSizeS\n *ngFor=\"let pageNumber of pageNumberNavigation\"\n euiButton\n euiBasicButton\n euiPrimary\n euiRounded\n euiIconButton\n [euiOutline]=\"pageNumber === page\"\n (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 | number }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && (EuiAppShellService.breakpoints$ | async).isMobile\" class=\"eui-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goNextPage()\">\n <eui-icon-svg icon=\"eui-caret-right\" aria-label=\"Go to next page\"></eui-icon-svg>\n </button>\n </div>\n <div class=\"eui-paginator__page-navigation-item\">\n <button\n type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !(EuiAppShellService.breakpoints$ | async).isMobile\"\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiPrimary\n [euiDisabled]=\"page + 1 === nbPage || length === 0\"\n (click)=\"goLastPage()\">\n <eui-icon-svg icon=\"eui-caret-last\" aria-label=\"Go to last page\"></eui-icon-svg>\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [".eui-paginator{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-base-spacing-s) 0;position:relative;width:100%}.eui-paginator__page{display:flex;flex-direction:column;font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-selector .page-size__select{font-size:100%;min-height:var(--eui-base-spacing-xl);padding-bottom:0;padding-top:0}.eui-paginator__page-range{align-items:center;display:inline-flex;font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-paginator__page-navigation{align-items:center;display:flex}.eui-paginator__page-navigation-item,.eui-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-paginator{padding:var(--eui-base-spacing-s)}@media screen and (max-width: 767px){.eui-paginator{align-items:center;display:flex;justify-content:center;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-paginator__page-range{margin:0 var(--eui-base-spacing-m)}}\n"] }]
193
200
  }], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i2.DecimalPipe }], propDecorators: { e2eAttr: [{
194
201
  type: HostBinding,
195
202
  args: ['attr.data-e2e']
@@ -208,6 +215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
208
215
  type: Input
209
216
  }], nbPageNumberNavigation: [{
210
217
  type: Input
218
+ }], isBasicMode: [{
219
+ type: Input
211
220
  }], isHidden: [{
212
221
  type: Input
213
222
  }], pageChange: [{