@dsivd/prestations-ng 15.4.2-BETA1 → 15.4.2

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.
package/CHANGELOG.md CHANGED
@@ -29,9 +29,12 @@ A change is considered **breaking** if you have to change your code or update yo
29
29
  ## [15.4.2]
30
30
 
31
31
  ### Added
32
-
33
32
  - [foehn-autocomplete.component.ts](projects/prestations-ng/src/foehn-autocomplete/foehn-autocomplete.component.ts)
34
33
  - add `@Input() elementSuggestionLabel: any` (fallback: elementLabel) to customize suggestion list item with some HTML
34
+
35
+ ### fixed
36
+ - [default-dictionary.ts](projects/prestations-ng/src/sdk-dictionary/default-dictionary.ts)
37
+ - fixed label for `foehn-textarea.chars-remaining.zero` (missing plurals)
35
38
 
36
39
  ## [15.4.1]
37
40
 
Binary file
@@ -54,10 +54,10 @@ export class FoehnAgendaNavigationComponent {
54
54
  }
55
55
  }
56
56
  FoehnAgendaNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnAgendaNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- FoehnAgendaNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnAgendaNavigationComponent, selector: "foehn-agenda-navigation", inputs: { id: "id", calendar: "calendar", isSrOnly: "isSrOnly", minDate: "minDate", maxDate: "maxDate" }, outputs: { paginationChange: "paginationChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row mb-3\" *ngIf=\"!!calendar\">\n <div class=\"col-12\">\n <nav\n class=\"vd-pagination calendar-week-navigation\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"\n 'foehn-agenda-navigation.nav.aria-label' | fromDictionary\n \"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!!calendar.previousWeek\"\n >\n <button\n [id]=\"id + 'ButtonPreviousWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.previousWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n aria-hidden=\"true\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationPreviousSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.previous-week-sr-only'\n | fromDictionary\n : {\n previousWeek:\n calendar.previousWeek\n .label\n }\n }}\n </span>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!calendar.previousWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationPreviousDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n </div>\n </li>\n\n <li\n class=\"vd-pagination__item d-flex justify-content-center col-4\"\n *ngIf=\"!isSrOnly\"\n >\n <foehn-date-picker-button\n [model]=\"currentDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [selectedDateSrOnlyLabelKey]=\"\n 'foehn-agenda-navigation.date-picker-button.screen-reader.selected-date'\n \"\n (userInput)=\"datePickerUserInput($event)\"\n ></foehn-date-picker-button>\n </li>\n\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!!calendar.nextWeek\"\n >\n <button\n [id]=\"id + 'ButtonNextWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.nextWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <span\n aria-hidden=\"true\"\n class=\"vd-pagination__title d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationNextSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.next-week-sr-only'\n | fromDictionary\n : {\n nextWeek:\n calendar.nextWeek.label\n }\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!calendar.nextWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationNextDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <span class=\"vd-pagination__title d-xs-none d-sm-block\">\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-right>\n </div>\n </li>\n </ul>\n </nav>\n </div>\n</div>\n", styles: [".calendar-week-navigation{margin-bottom:0}.calendar-week-navigation li.vd-pagination__item{margin-top:0}.calendar-week-navigation span.vd-pagination__title{font-size:1em;line-height:1.2em;color:var(--gray-dark)}.calendar-week-navigation foehn-icon-chevron-right.vd-pagination__title,.calendar-week-navigation foehn-icon-chevron-left.vd-pagination__title{font-size:1.5em;color:var(--gray-dark)}.calendar-week-navigation .link-week-disabled .vd-pagination__title{color:var(--vd-neutral-light);cursor:not-allowed}.calendar-week-navigation .vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.calendar-week-navigation .vd-pagination__link-reset:focus{background-color:var(--vd-focus)}nav ul{margin-bottom:0}\n"], components: [{ type: i1.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i2.FoehnDatePickerButtonComponent, selector: "foehn-date-picker-button", inputs: ["id", "name", "minYear", "maxYear", "minDate", "maxDate", "displaySelectedDate", "selectedDateSrOnlyLabelKey", "model"], outputs: ["modelChange", "userInput"] }, { type: i3.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe } });
57
+ FoehnAgendaNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnAgendaNavigationComponent, selector: "foehn-agenda-navigation", inputs: { id: "id", calendar: "calendar", isSrOnly: "isSrOnly", minDate: "minDate", maxDate: "maxDate" }, outputs: { paginationChange: "paginationChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row mb-3\" *ngIf=\"!!calendar\">\n <div class=\"col-12\">\n <nav\n class=\"vd-pagination calendar-week-navigation\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"\n 'foehn-agenda-navigation.nav.aria-label' | fromDictionary\n \"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!!calendar.previousWeek\"\n >\n <button\n [id]=\"id + 'ButtonPreviousWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.previousWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n aria-hidden=\"true\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationPreviousSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.previous-week-sr-only'\n | fromDictionary\n : {\n previousWeek:\n calendar.previousWeek\n .label\n }\n }}\n </span>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!calendar.previousWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationPreviousDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n </div>\n </li>\n\n <li\n class=\"vd-pagination__item d-flex justify-content-center col-4\"\n *ngIf=\"!isSrOnly\"\n >\n <foehn-date-picker-button\n [model]=\"currentDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [selectedDateSrOnlyLabelKey]=\"\n 'foehn-agenda-navigation.date-picker-button.screen-reader.selected-date'\n \"\n (userInput)=\"datePickerUserInput($event)\"\n ></foehn-date-picker-button>\n </li>\n\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!!calendar.nextWeek\"\n >\n <button\n [id]=\"id + 'ButtonNextWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.nextWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <span\n aria-hidden=\"true\"\n class=\"vd-pagination__title d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationNextSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.next-week-sr-only'\n | fromDictionary\n : {\n nextWeek:\n calendar.nextWeek.label\n }\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!calendar.nextWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationNextDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <span class=\"vd-pagination__title d-xs-none d-sm-block\">\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-right>\n </div>\n </li>\n </ul>\n </nav>\n </div>\n</div>\n", styles: [".calendar-week-navigation{margin-bottom:0}.calendar-week-navigation li.vd-pagination__item{margin-top:0}.calendar-week-navigation span.vd-pagination__title{font-size:1em;line-height:1.2em;color:var(--gray-dark)}.calendar-week-navigation foehn-icon-chevron-right.vd-pagination__title,.calendar-week-navigation foehn-icon-chevron-left.vd-pagination__title{font-size:1.5em;color:var(--gray-dark)}.calendar-week-navigation .link-week-disabled .vd-pagination__title{color:var(--vd-neutral-light);cursor:not-allowed}.calendar-week-navigation .vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.calendar-week-navigation .vd-pagination__link-reset:focus{background-color:var(--vd-focus)}nav ul{margin-bottom:0}\n"], components: [{ type: i1.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i2.FoehnDatePickerButtonComponent, selector: "foehn-date-picker-button", inputs: ["id", "name", "minYear", "maxYear", "minDate", "maxDate", "displaySelectedDate", "selectedDateSrOnlyLabelKey", "model"], outputs: ["modelChange", "userInput"] }, { type: i3.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fromDictionary": i5.SdkDictionaryPipe } });
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnAgendaNavigationComponent, decorators: [{
59
59
  type: Component,
60
- args: [{ selector: 'foehn-agenda-navigation', template: "<div class=\"row mb-3\" *ngIf=\"!!calendar\">\n <div class=\"col-12\">\n <nav\n class=\"vd-pagination calendar-week-navigation\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"\n 'foehn-agenda-navigation.nav.aria-label' | fromDictionary\n \"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!!calendar.previousWeek\"\n >\n <button\n [id]=\"id + 'ButtonPreviousWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.previousWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n aria-hidden=\"true\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationPreviousSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.previous-week-sr-only'\n | fromDictionary\n : {\n previousWeek:\n calendar.previousWeek\n .label\n }\n }}\n </span>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!calendar.previousWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationPreviousDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n </div>\n </li>\n\n <li\n class=\"vd-pagination__item d-flex justify-content-center col-4\"\n *ngIf=\"!isSrOnly\"\n >\n <foehn-date-picker-button\n [model]=\"currentDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [selectedDateSrOnlyLabelKey]=\"\n 'foehn-agenda-navigation.date-picker-button.screen-reader.selected-date'\n \"\n (userInput)=\"datePickerUserInput($event)\"\n ></foehn-date-picker-button>\n </li>\n\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!!calendar.nextWeek\"\n >\n <button\n [id]=\"id + 'ButtonNextWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.nextWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <span\n aria-hidden=\"true\"\n class=\"vd-pagination__title d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationNextSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.next-week-sr-only'\n | fromDictionary\n : {\n nextWeek:\n calendar.nextWeek.label\n }\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!calendar.nextWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationNextDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <span class=\"vd-pagination__title d-xs-none d-sm-block\">\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-right>\n </div>\n </li>\n </ul>\n </nav>\n </div>\n</div>\n", styles: [".calendar-week-navigation{margin-bottom:0}.calendar-week-navigation li.vd-pagination__item{margin-top:0}.calendar-week-navigation span.vd-pagination__title{font-size:1em;line-height:1.2em;color:var(--gray-dark)}.calendar-week-navigation foehn-icon-chevron-right.vd-pagination__title,.calendar-week-navigation foehn-icon-chevron-left.vd-pagination__title{font-size:1.5em;color:var(--gray-dark)}.calendar-week-navigation .link-week-disabled .vd-pagination__title{color:var(--vd-neutral-light);cursor:not-allowed}.calendar-week-navigation .vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.calendar-week-navigation .vd-pagination__link-reset:focus{background-color:var(--vd-focus)}nav ul{margin-bottom:0}\n"] }]
60
+ args: [{ selector: 'foehn-agenda-navigation', template: "<div class=\"row mb-3\" *ngIf=\"!!calendar\">\n <div class=\"col-12\">\n <nav\n class=\"vd-pagination calendar-week-navigation\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"\n 'foehn-agenda-navigation.nav.aria-label' | fromDictionary\n \"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!!calendar.previousWeek\"\n >\n <button\n [id]=\"id + 'ButtonPreviousWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.previousWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n aria-hidden=\"true\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationPreviousSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.previous-week-sr-only'\n | fromDictionary\n : {\n previousWeek:\n calendar.previousWeek\n .label\n }\n }}\n </span>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--previous col-4\"\n *ngIf=\"!calendar.previousWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationPreviousDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <foehn-icon-chevron-left\n class=\"vd-pagination__title\"\n [title]=\"\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-left>\n <span\n class=\"vd-pagination__title ml-2 d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.previous-week'\n | fromDictionary\n }}\n </span>\n </div>\n </li>\n\n <li\n class=\"vd-pagination__item d-flex justify-content-center col-4\"\n *ngIf=\"!isSrOnly\"\n >\n <foehn-date-picker-button\n [model]=\"currentDay\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [selectedDateSrOnlyLabelKey]=\"\n 'foehn-agenda-navigation.date-picker-button.screen-reader.selected-date'\n \"\n (userInput)=\"datePickerUserInput($event)\"\n ></foehn-date-picker-button>\n </li>\n\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!!calendar.nextWeek\"\n >\n <button\n [id]=\"id + 'ButtonNextWeek'\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"paginate(calendar.nextWeek)\"\n type=\"button\"\n >\n <span class=\"d-flex align-items-center\">\n <span\n aria-hidden=\"true\"\n class=\"vd-pagination__title d-xs-none d-sm-block\"\n >\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <span\n [id]=\"id + 'NavigationNextSrOnly'\"\n class=\"sr-only\"\n >\n {{\n 'foehn-agenda-navigation.next-week-sr-only'\n | fromDictionary\n : {\n nextWeek:\n calendar.nextWeek.label\n }\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next col-4 d-flex justify-content-end\"\n *ngIf=\"!calendar.nextWeek && !isSrOnly\"\n >\n <div\n [id]=\"id + 'NavigationNextDisabled'\"\n class=\"d-flex align-items-center link-week-disabled\"\n >\n <span class=\"vd-pagination__title d-xs-none d-sm-block\">\n {{\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n }}\n </span>\n <foehn-icon-chevron-right\n class=\"vd-pagination__title ml-2\"\n [title]=\"\n 'foehn-agenda-navigation.next-week'\n | fromDictionary\n \"\n ></foehn-icon-chevron-right>\n </div>\n </li>\n </ul>\n </nav>\n </div>\n</div>\n", styles: [".calendar-week-navigation{margin-bottom:0}.calendar-week-navigation li.vd-pagination__item{margin-top:0}.calendar-week-navigation span.vd-pagination__title{font-size:1em;line-height:1.2em;color:var(--gray-dark)}.calendar-week-navigation foehn-icon-chevron-right.vd-pagination__title,.calendar-week-navigation foehn-icon-chevron-left.vd-pagination__title{font-size:1.5em;color:var(--gray-dark)}.calendar-week-navigation .link-week-disabled .vd-pagination__title{color:var(--vd-neutral-light);cursor:not-allowed}.calendar-week-navigation .vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.calendar-week-navigation .vd-pagination__link-reset:focus{background-color:var(--vd-focus)}nav ul{margin-bottom:0}\n"] }]
61
61
  }], propDecorators: { id: [{
62
62
  type: Input
63
63
  }], calendar: [{
@@ -97,10 +97,10 @@ export class FoehnListComponent {
97
97
  }
98
98
  }
99
99
  FoehnListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
100
- FoehnListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnListComponent, selector: "foehn-list", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", fixedPageCount: "fixedPageCount", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange" }, queries: [{ propertyName: "templateVariable", first: true, predicate: TemplateRef, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">\n <ul class=\"list-unstyled\">\n <li\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <ng-template\n [ngTemplateOutlet]=\"templateVariable\"\n [ngTemplateOutletContext]=\"{ item: item, index: index }\"\n ></ng-template>\n </li>\n </ul>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], components: [{ type: i1.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i2.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
100
+ FoehnListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnListComponent, selector: "foehn-list", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", fixedPageCount: "fixedPageCount", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange" }, queries: [{ propertyName: "templateVariable", first: true, predicate: TemplateRef, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">\n <ul class=\"list-unstyled\">\n <li\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <ng-template\n [ngTemplateOutlet]=\"templateVariable\"\n [ngTemplateOutletContext]=\"{ item: item, index: index }\"\n ></ng-template>\n </li>\n </ul>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], components: [{ type: i1.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i2.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnListComponent, decorators: [{
102
102
  type: Component,
103
- args: [{ selector: 'foehn-list', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">\n <ul class=\"list-unstyled\">\n <li\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <ng-template\n [ngTemplateOutlet]=\"templateVariable\"\n [ngTemplateOutletContext]=\"{ item: item, index: index }\"\n ></ng-template>\n </li>\n </ul>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
103
+ args: [{ selector: 'foehn-list', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">\n <ul class=\"list-unstyled\">\n <li\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <ng-template\n [ngTemplateOutlet]=\"templateVariable\"\n [ngTemplateOutletContext]=\"{ item: item, index: index }\"\n ></ng-template>\n </li>\n </ul>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
104
104
  }], propDecorators: {
105
105
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
106
  templateVariable: [{
@@ -66,10 +66,10 @@ export class FoehnNavigationComponent {
66
66
  }
67
67
  }
68
68
  FoehnNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
69
- FoehnNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", transmitLabel: "transmitLabel", continueLaterLabel: "continueLaterLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], components: [{ type: i3.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel"] }, { type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fromDictionary": i7.SdkDictionaryPipe } });
69
+ FoehnNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnNavigationComponent, selector: "foehn-navigation", inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", transmitLabel: "transmitLabel", continueLaterLabel: "continueLaterLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"], components: [{ type: i3.GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["continueLaterLabel"] }, { type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "fromDictionary": i7.SdkDictionaryPipe } });
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
71
71
  type: Component,
72
- args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
72
+ args: [{ selector: 'foehn-navigation', template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel | fromDictionary\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"mr-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ml-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}\n"] }]
73
73
  }], ctorParameters: function () { return [{ type: i1.FoehnNavigationService }, { type: i2.ActivatedRoute }]; }, propDecorators: {
74
74
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
75
75
  onNext: [{
@@ -114,10 +114,10 @@ export class FoehnTableComponent {
114
114
  }
115
115
  }
116
116
  FoehnTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
117
- FoehnTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle mr-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"sr-only\">{{ iconDef.label }}</span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"], components: [{ type: i1.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "fromDictionary": i8.SdkDictionaryPipe } });
117
+ FoehnTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FoehnTableComponent, selector: "foehn-table", inputs: { itemsPerPage: "itemsPerPage", id: "id", previousLabel: "previousLabel", nextLabel: "nextLabel", totalElements: "totalElements", fixedPageCount: "fixedPageCount", columnsConfiguration: "columnsConfiguration", sort: "sort", list: "list", trackByFn: "trackByFn" }, outputs: { pageChange: "pageChange", sortChange: "sortChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle mr-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"sr-only\">{{ iconDef.label }}</span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"], components: [{ type: i1.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { type: i2.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { type: i5.FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "fromDictionary": i8.SdkDictionaryPipe } });
118
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FoehnTableComponent, decorators: [{
119
119
  type: Component,
120
- args: [{ selector: 'foehn-table', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle mr-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"sr-only\">{{ iconDef.label }}</span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;-webkit-text-decoration-line:none;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;-webkit-text-decoration-line:none;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"] }]
120
+ args: [{ selector: 'foehn-table', template: "<div class=\"row\" [id]=\"id\">\n <div class=\"col-12\">\n <h4 *ngIf=\"!!totalElements && totalElements === 1\">\n {{ 'foehn-table.totalElements.1' | fromDictionary }}\n </h4>\n <h4 *ngIf=\"!!totalElements && totalElements !== 1\">\n {{\n 'foehn-table.totalElements'\n | fromDictionary: { total: totalElements.toString() }\n }}\n </h4>\n </div>\n\n <div class=\"col-12 table-responsive\">\n <table class=\"table table-hover\">\n <thead class=\"vd-bg-pattern-bars-gray\">\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id\"\n >\n <ng-container\n *ngIf=\"!filteredList.length || !col.sortAttribute\"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n </ng-container>\n\n <ng-container\n *ngIf=\"!!filteredList.length && !!col.sortAttribute\"\n >\n <a\n href=\"#\"\n class=\"vd-text-thin\"\n (click)=\"\n $event.preventDefault();\n triggerSort(col.sortAttribute)\n \"\n [title]=\"\n 'Trier par ' +\n (col.columnLabelKey | fromDictionary)\n \"\n >\n <span\n [innerHTML]=\"\n col.columnLabelKey | fromDictionary\n \"\n ></span>\n <ng-container\n *ngIf=\"\n sort.sortAttribute === col.sortAttribute\n \"\n >\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'ASC'\"\n >\n <foehn-icon-chevron-up></foehn-icon-chevron-up>\n </span>\n <span\n class=\"ml-3\"\n *ngIf=\"sort.sortDirection === 'DESC'\"\n >\n <foehn-icon-chevron-down></foehn-icon-chevron-down>\n </span>\n </ng-container>\n </a>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let item of filteredList;\n let index = index;\n trackBy: trackByFn\n \"\n >\n <td\n *ngFor=\"let col of columnsConfiguration\"\n [id]=\"col.id + '-' + index\"\n >\n <ng-container *ngIf=\"!!col.isImportant\">\n <span\n *ngIf=\"col.isImportant(item)\"\n class=\"cell-vertical-align-middle\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n style=\"color: var(--red)\"\n fill=\"currentColor\"\n class=\"bi bi-exclamation\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"\n />\n </svg>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.iconGetter\">\n <span\n *ngIf=\"col.iconGetter(item) as iconDef\"\n class=\"cell-vertical-align-middle mr-2\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [icon]=\"iconDef.icon\"\n [title]=\"iconDef.label\"\n ></fa-icon>\n <span class=\"sr-only\">{{ iconDef.label }}</span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.template\">\n <ng-template\n [ngTemplateOutlet]=\"col.template\"\n [ngTemplateOutletContext]=\"{\n item: item,\n index: index\n }\"\n ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!col.template\">\n <ng-container *ngIf=\"!col.routerLinkGetter\">\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n class=\"cell-vertical-align-middle\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"!!col.routerLinkGetter\">\n <a\n [routerLink]=\"col.routerLinkGetter(item)\"\n queryParamsHandling=\"merge\"\n class=\"cell-vertical-align-middle\"\n >\n <span\n [innerHTML]=\"col.valueGetter(item)\"\n ></span>\n </a>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!!columnsConfiguration && !filteredList.length\">\n <td [colSpan]=\"columnsConfiguration.length\">\n <div class=\"w-100 text-center\">\n {{ 'foehn-table.totalElements.0' | fromDictionary }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"row d-flex justify-content-between p-1\">\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasPreviousPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"previousPage()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left></foehn-icon-chevron-left>\n {{ previousLabel }}\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage - 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n\n <div class=\"col-lg-3 col-md-3 col-sm-6 col-xs-6\">\n <nav\n class=\"vd-pagination\"\n aria-label=\"Pagination\"\n *ngIf=\"hasNextPage()\"\n >\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n >\n <button\n class=\"btn-link vd-pagination__link btn-no-extra vd-pagination__link-reset\"\n (click)=\"nextPage()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel }}\n <foehn-icon-chevron-right></foehn-icon-chevron-right>\n </span>\n <span class=\"sr-only\">:</span>\n <span class=\"vd-pagination__label\">\n {{ currentPage + 1 }} sur {{ pagesCount() }}\n </span>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n</div>\n", styles: [".btn-no-extra{padding:0;border:none;font-weight:400;text-decoration-line:none}.vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}.cell-vertical-align-middle{vertical-align:middle}\n"] }]
121
121
  }], propDecorators: { itemsPerPage: [{
122
122
  type: Input
123
123
  }], id: [{
@@ -132,7 +132,7 @@ export const DEFAULT_DICTIONARY = {
132
132
  'foehn-modal.btn-close.title': 'Fermer',
133
133
  'foehn-textarea.chars-remaining.plural': '{charCountLeft} caractères restants',
134
134
  'foehn-textarea.chars-remaining.singular': '{charCountLeft} caractère restant',
135
- 'foehn-textarea.chars-remaining.zero': 'Vous avez atteint le nombre de caractère autorisé!',
135
+ 'foehn-textarea.chars-remaining.zero': 'Vous avez atteint le nombre de caractères autorisés',
136
136
  'foehn-textarea.chars-remaining.exceeded': 'Vous avez dépassé le nombre de caractères autorisés de {charCountLeft}'
137
137
  };
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsc0JBQXNCLEVBQUUsY0FBYztJQUN0Qyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0QywrQkFBK0IsRUFBRSxNQUFNO0lBQ3ZDLGlDQUFpQyxFQUM3QixpREFBaUQ7UUFDakQsaUZBQWlGO0lBQ3JGLDhCQUE4QixFQUFFLE9BQU87SUFDdkMsZ0NBQWdDLEVBQUUsU0FBUztJQUMzQyw2Q0FBNkMsRUFDekMsaURBQWlEO0lBQ3JELG1DQUFtQyxFQUFFLE1BQU07SUFDM0Msb0NBQW9DLEVBQUUsZUFBZTtJQUNyRCxzQ0FBc0MsRUFBRSwrQkFBK0I7SUFDdkUsa0NBQWtDLEVBQUUsS0FBSztJQUN6Qyx1Q0FBdUMsRUFBRSxlQUFlO0lBQ3hELDJDQUEyQyxFQUN2QywwREFBMEQ7SUFDOUQsNkNBQTZDLEVBQUUsY0FBYztJQUM3RCxpREFBaUQsRUFDN0MsK0NBQStDO0lBQ25ELHdDQUF3QyxFQUFFLEtBQUs7SUFDL0Msd0NBQXdDLEVBQUUsc0JBQXNCO0lBQ2hFLDRDQUE0QyxFQUFFLGFBQWE7SUFDM0QsNkNBQTZDLEVBQUUsVUFBVTtJQUN6RCw2QkFBNkIsRUFBRSxTQUFTO0lBQ3hDLGlDQUFpQyxFQUFFLFdBQVc7SUFDOUMsaUNBQWlDLEVBQUUsYUFBYTtJQUNoRCx1Q0FBdUMsRUFBRSw0QkFBNEI7SUFDckUsd0NBQXdDLEVBQUUsS0FBSztJQUMvQywwQkFBMEIsRUFBRSxtQ0FBbUM7SUFDL0QsMkJBQTJCLEVBQUUsY0FBYztJQUMzQyxtQ0FBbUMsRUFBRSxtQkFBbUI7SUFDeEQsNkNBQTZDLEVBQUUsbUJBQW1CO0lBQ2xFLGlDQUFpQyxFQUFFLG9CQUFvQjtJQUN2RCwyQ0FBMkMsRUFDdkMsNkNBQTZDO0lBQ2pELHFDQUFxQyxFQUNqQyxnRUFBZ0U7SUFDcEUsK0NBQStDLEVBQzNDLDhCQUE4QjtJQUNsQyxpQ0FBaUMsRUFBRSxVQUFVO0lBQzdDLG1DQUFtQyxFQUFFLGdCQUFnQjtJQUNyRCxtQ0FBbUMsRUFBRSxHQUFHO0lBQ3hDLHFDQUFxQyxFQUFFLHdCQUF3QjtJQUMvRCxzREFBc0QsRUFDbEQsb0NBQW9DO0lBQ3hDLHdDQUF3QyxFQUFFLFlBQVk7SUFDdEQsMkNBQTJDLEVBQUUsc0JBQXNCO0lBQ25FLCtDQUErQyxFQUFFLGdCQUFnQjtJQUNqRSwyQ0FBMkMsRUFBRSxjQUFjO0lBQzNELHdEQUF3RCxFQUNwRCw2QkFBNkI7SUFDakMsbURBQW1ELEVBQUUsc0JBQXNCO0lBQzNFLGtEQUFrRCxFQUM5Qyx3QkFBd0I7SUFDNUIsMkJBQTJCLEVBQ3ZCLG9EQUFvRDtJQUN4RCwwQkFBMEIsRUFDdEIsOEZBQThGO0lBQ2xHLHVCQUF1QixFQUNuQiwrRUFBK0U7SUFDbkYsNEJBQTRCLEVBQ3hCLDZEQUE2RDtJQUNqRSw0QkFBNEIsRUFBRSw0Q0FBNEM7SUFDMUUsNEJBQTRCLEVBQ3hCLHFEQUFxRDtJQUN6RCxrQkFBa0IsRUFBRSxrQ0FBa0M7SUFDdEQsNEJBQTRCLEVBQUUsdUNBQXVDO0lBQ3JFLDZCQUE2QixFQUN6Qiw0R0FBNEc7SUFDaEgsb0NBQW9DLEVBQ2hDLHNFQUFzRTtJQUMxRSxZQUFZLEVBQ1IsdUVBQXVFO0lBQzNFLFlBQVksRUFDUiwwRkFBMEY7SUFDOUYsWUFBWSxFQUNSLHlGQUF5RjtJQUM3RixZQUFZLEVBQUUsZ0RBQWdEO0lBQzlELFlBQVksRUFDUiwyRkFBMkY7SUFDL0Ysc0JBQXNCLEVBQUUsb0JBQW9CO0lBQzVDLG9DQUFvQyxFQUFFLHdCQUF3QjtJQUM5RCw2Q0FBNkMsRUFDekMsc0NBQXNDO0lBQzFDLGdDQUFnQyxFQUFFLG9DQUFvQztJQUN0RSx5Q0FBeUMsRUFDckMsa0RBQWtEO0lBQ3RELDRDQUE0QyxFQUN4QyxpREFBaUQ7SUFDckQsK0JBQStCLEVBQUUsSUFBSTtJQUNyQyxxQ0FBcUMsRUFBRSxXQUFXO0lBQ2xELGtDQUFrQyxFQUFFLHFCQUFxQjtJQUN6RCxnREFBZ0QsRUFDNUMsc0VBQXNFO1FBQ3RFLG1HQUFtRztJQUN2RyxnQkFBZ0IsRUFDWixxSEFBcUg7UUFDckgsd0ZBQXdGO1FBQ3hGLGtIQUFrSDtJQUN0SCx1QkFBdUIsRUFBRSwyQkFBMkI7SUFDcEQsOENBQThDLEVBQzFDLDZCQUE2QjtJQUNqQywwQ0FBMEMsRUFBRSxzQkFBc0I7SUFDbEUsb0NBQW9DLEVBQUUsZUFBZTtJQUNyRCx3Q0FBd0MsRUFDcEMsMEdBQTBHO0lBQzlHLDRDQUE0QyxFQUN4Qyw2Q0FBNkM7SUFDakQsK0NBQStDLEVBQUUsc0JBQXNCO0lBQ3ZFLDZDQUE2QyxFQUFFLFNBQVM7SUFDeEQsb0RBQW9ELEVBQ2hELGtDQUFrQztJQUN0QywyQ0FBMkMsRUFBRSxXQUFXO0lBQ3hELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCw2QkFBNkIsRUFBRSxrQkFBa0I7SUFDakQsNkJBQTZCLEVBQUUsZ0JBQWdCO0lBQy9DLDRCQUE0QixFQUFFLFNBQVM7SUFDdkMsaUNBQWlDLEVBQUUsUUFBUTtJQUMzQyx3Q0FBd0MsRUFBRSx1QkFBdUI7SUFDakUsaUNBQWlDLEVBQUUsY0FBYztJQUNqRCx3Q0FBd0MsRUFBRSw2QkFBNkI7SUFDdkUsaUNBQWlDLEVBQUUsY0FBYztJQUNqRCx3Q0FBd0MsRUFDcEMsa0NBQWtDO0lBQ3RDLGdEQUFnRCxFQUM1QywwQkFBMEI7SUFDOUIsd0RBQXdELEVBQ3BELGdDQUFnQztJQUNwQyxzREFBc0QsRUFDbEQsOEJBQThCO0lBQ2xDLHNFQUFzRSxFQUNsRSw4QkFBOEI7SUFDbEMsNERBQTRELEVBQ3hELHdCQUF3QjtJQUM1QiwyREFBMkQsRUFDdkQsb0VBQW9FO0lBQ3hFLGlFQUFpRSxFQUM3RCxvREFBb0Q7UUFDcEQsK0NBQStDO0lBQ25ELG9DQUFvQyxFQUNoQyw4REFBOEQ7SUFDbEUsMkNBQTJDLEVBQ3ZDLDRDQUE0QztJQUNoRCw4Q0FBOEMsRUFBRSwyQkFBMkI7SUFDM0UsaURBQWlELEVBQzdDLDBCQUEwQjtJQUM5QixnQ0FBZ0MsRUFBRSxjQUFjO0lBQ2hELHNDQUFzQyxFQUFFLHdCQUF3QjtJQUNoRSx1Q0FBdUMsRUFBRSw2QkFBNkI7SUFDdEUsMkNBQTJDLEVBQ3ZDLGlDQUFpQztJQUNyQywrQ0FBK0MsRUFDM0MsMERBQTBEO0lBQzlELHVDQUF1QyxFQUNuQyxxQ0FBcUM7SUFDekMsdUNBQXVDLEVBQUUsZ0JBQWdCO0lBQ3pELHVDQUF1QyxFQUFFLG9CQUFvQjtJQUM3RCwrQ0FBK0MsRUFDM0MscUNBQXFDO0lBQ3pDLG1DQUFtQyxFQUFFLGtCQUFrQjtJQUN2RCwyQ0FBMkMsRUFDdkMsK0JBQStCO0lBQ25DLHdDQUF3QyxFQUFFLG9CQUFvQjtJQUM5RCx3RUFBd0UsRUFDcEUsd0NBQXdDO0lBQzVDLGlDQUFpQyxFQUM3QixtRkFBbUY7SUFDdkYsaUNBQWlDLEVBQUUsc0JBQXNCO0lBQ3pELG9DQUFvQyxFQUNoQyx3RUFBd0U7SUFDNUUsb0NBQW9DLEVBQUUsYUFBYTtJQUNuRCxtQ0FBbUMsRUFDL0IsMEVBQTBFO1FBQzFFLHFGQUFxRjtRQUNyRixvRkFBb0Y7UUFDcEYsdUZBQXVGO0lBQzNGLGtDQUFrQyxFQUFFLDZCQUE2QjtJQUNqRSw2QkFBNkIsRUFBRSxRQUFRO0lBQ3ZDLHVDQUF1QyxFQUNuQyxxQ0FBcUM7SUFDekMseUNBQXlDLEVBQ3JDLG1DQUFtQztJQUN2QyxxQ0FBcUMsRUFDakMsb0RBQW9EO0lBQ3hELHlDQUF5QyxFQUNyQyx3RUFBd0U7Q0FDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IERpY3Rpb25hcnlUeXBlIH0gZnJvbSAnLi9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRElDVElPTkFSWTogRGljdGlvbmFyeVR5cGUgPSB7XG4gICAgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJzogJyhmYWN1bHRhdGlmKScsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUuZGF5LmxhYmVsJzogJ0pvdXInLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLm1vbnRoLmxhYmVsJzogJ01vaXMnLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLnllYXIubGFiZWwnOiAnQW5uw6llJyxcbiAgICAnZm9laG4taW5wdXQtZW1haWwubW9kYWwudGl0bGUnOiAnQWlkZScsXG4gICAgJ2ZvZWhuLWlucHV0LWVtYWlsLm1vZGFsLmNvbnRlbnQnOlxuICAgICAgICBcIjxwPlZvdXMgbidhcnJpdmV6IHBhcyDDoCBzYWlzaXIgdm90cmUgbWFpbCA/PC9wPlwiICtcbiAgICAgICAgJzxwPk1lcmNpIGRcXCfDqWNyaXJlIMOgIDxhIGhyZWY9XCJtYWlsdG86aW5mby5jeWJlckB2ZC5jaFwiPmluZm8uY3liZXJAdmQuY2g8L2E+PC9wPicsXG4gICAgJ2ZvZWhuLWlucHV0LXRpbWUuaG91cnMubGFiZWwnOiAnSGV1cmUnLFxuICAgICdmb2Vobi1pbnB1dC10aW1lLm1pbnV0ZXMubGFiZWwnOiAnTWludXRlcycsXG4gICAgJ2ZvZWhuLWlucHV0LW51bWJlci5zdGFuZGFyZC1oZWxwLXRleHQubGFiZWwnOlxuICAgICAgICAnU2Fpc2lyIHVuIG5vbWJyZSBlbnRyZSB7bWluVmFsdWV9IGV0IHttYXhWYWx1ZX0nLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmNvdW50cnkubGFiZWwnOiAnUGF5cycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MubG9jYWxpdHkubGFiZWwnOiAnTlBBLCBMb2NhbGl0w6knLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5oZWxwLXRleHQnOiAnRXhlbXBsZSA6IEF2ZW51ZSBkZSBsYSBTYWxsYXonLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5sYWJlbCc6ICdSdWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmxhYmVsJzogJ051bcOpcm8gZGUgcnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5oZWxwLXRleHQnOlxuICAgICAgICBcIkV4ZW1wbGUgOiA0MCBwb3VyIHVuZSBhZHJlc3NlIMOgIGwnQXZlbnVlIGRlIGxhIFNhbGxheiA0MFwiLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmxhYmVsJzogJ0Nhc2UgcG9zdGFsZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQuaGVscC10ZXh0JzpcbiAgICAgICAgJ0V4ZW1wbGUgOiBDYXNlIHBvc3RhbGUgMTIyIG91IENQMTIyIG91IENQIDEyMicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUxLmxhYmVsJzogJ2MvbycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUyLmxhYmVsJzogXCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIixcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS56aXBDb2RlLmxhYmVsJzogJ0NvZGUgcG9zdGFsJyxcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS5sb2NhbGl0eS5sYWJlbCc6ICdMb2NhbGl0w6knLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnOiAnU3VpdmFudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucHJldmlvdXMubGFiZWwnOiAnUHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJzogJ1RyYW5zbWV0dHJlJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci5sYWJlbCc6ICdGaW5pciBsYSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJzogJ3N1cicsXG4gICAgJ2ZvZWhuLXBhZ2UtY291bnRlci5sYWJlbCc6ICdQYWdlIHtjdXJyZW50UGFnZX0gZGUge3BhZ2VDb3VudH0nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJzogJ0NvbmZpcm1hdGlvbicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uc3VjY2Vzcy1sYWJlbCc6ICdEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubmV4dC1zdGVwLnN1Y2Nlc3MtbGFiZWwnOiAnUsOpcG9uc2UgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5hYm9ydC1sYWJlbCc6ICdEZW1hbmRlIGFiYW5kb25uw6llJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnOlxuICAgICAgICAnTGUgbnVtw6lybyBkZSByw6lmw6lyZW5jZSBkZSB2b3RyZSBkZW1hbmRlIGVzdCcsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubWFpbC1zZW50LmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcmVjZXZyZXogdW4gZW1haWwgZGUgY29uZmlybWF0aW9uIGRhbnMgcXVlbHF1ZXMgaW5zdGFudHMuJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJzpcbiAgICAgICAgJ1TDqWzDqWNoYXJnZXIgbGEgZGVtYW5kZSAocGRmKScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24nOiAnVGVybWluZXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmxvZ291dC1idXR0b24nOiAnU2UgZMOpY29ubmVjdGVyJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JzogJyAnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uaWNvbi10aXRsZSc6ICdBZmZpY2hlciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtZGF0ZSc6XG4gICAgICAgICdEYXRlIHPDqWxlY3Rpb25uw6llIDoge3NlbGVjdGVkRGF0ZX0nLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jb250YWluZXIuYXJpYS1sYWJlbCc6ICdDYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY2xvc2UtYnV0dG9uLmFyaWEtbGFiZWwnOiAnRmVybWVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5wcmV2aW91cy1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLm5leHQtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgc3VpdmFudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIuYWN0dWFsLW1vbnRoLWRpc3BsYXllZCc6XG4gICAgICAgICdNb2lzIGFjdHVlbGxlbWVudCBhZmZpY2jDqSA6JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5tb250aC1pbnB1dC5sYWJlbCc6ICdTw6lsZWN0aW9ubmVyIHVuIG1vaXMnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLnllYXItaW5wdXQubGFiZWwnOlxuICAgICAgICAnU8OpbGVjdGlvbm5lciB1bmUgYW5uw6llJyxcbiAgICAnZXJyb3JzLklNQUdFX05PVF9SRUFEQUJMRSc6XG4gICAgICAgIFwiVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG4nZXN0IHBhcyB1bmUgaW1hZ2UgdmFsaWRlXCIsXG4gICAgJ2Vycm9ycy5GSUxFTkFNRV9UT09fTE9ORyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1biBub20gZHUgZmljaGllciBxdWkgZXhjw6hkZSBsZSBtYXhpbXVtIGF1dG9yaXPDqSA6ICUyJHMgY2FyYWN0w6hyZXMnLFxuICAgICdlcnJvcnMuRklMRV9UT09fU01BTEwnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBpbmbDqXJpZXVyZSBhdSBtaW5pbXVtIGV4aWfDqSA6ICUyJHMgYnl0ZXMnLFxuICAgICdlcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZlcnJvdWlsbMOpZSBwYXIgdW4gbW90IGRlIHBhc3NlJyxcbiAgICAnZXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQnOiAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIHNjcmlwdCcsXG4gICAgJ2Vycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBjb250aWVudCB1biBmaWNoaWVyIGF0dGFjaMOpJyxcbiAgICAnZXJyb3JzLkVNUFRZX1BERic6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZpZGUnLFxuICAgICdlcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IGlsbGlzaWJsZScsXG4gICAgJ2Vycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHByb3TDqWfDqWUuIFZldWlsbGV6IGVubGV2ZXIgdG91dGVzIGxlcyBwcm90ZWN0aW9ucyBhdmFudCBkZSBqb2luZHJlIGNlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTic6XG4gICAgICAgICdMZSBub20gZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IGRlcyBjYXJhY3TDqHJlcyBpbnRlcmRpdHMuJyxcbiAgICAnZXJyb3JzLjQwNic6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbmUgY29ycmVzcG9uZCBwYXMgYXUgdHlwZSBkZSBjb250ZW51IGF1dG9yaXPDqScsXG4gICAgJ2Vycm9ycy40MTMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBzdXDDqXJpZXVyZSBvdSDDqWdhbGUgw6AgbGEgbGltaXRlIGF1dG9yaXPDqWUgOiAlMiRzIE1vJyxcbiAgICAnZXJyb3JzLjQxNSc6XG4gICAgICAgICdMZSB0eXBlIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBmaWd1cmUgcGFzIHBhcm1pIGNldXggcXVpIHNvbnQgYXV0b3Jpc8OpcyA6IFwiJTIkc1wiJyxcbiAgICAnZXJyb3JzLjQyMic6ICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcycsXG4gICAgJ2Vycm9ycy41MDAnOlxuICAgICAgICAnRWNoZWMgZGUgbGEgc2F1dmVnYXJkZSBkZSBsYSBwacOoY2Ugam9pbnRlICUxJHMuIFZldWlsbGV6IHLDqWVzc2F5ZXIgYXZlYyB1biBhdXRyZSBmaWNoaWVyLicsXG4gICAgJ2Vycm9ycy5zdW1tYXJ5LnRpdGxlJzogJ0lsIHkgYSB1biBwcm9ibMOobWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsJzogJ0Nob2lzaXNzZXogdW4gZG9jdW1lbnQnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0Nob2lzaXNzZXogdW4gb3UgcGx1c2lldXJzIGRvY3VtZW50cycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbCc6ICdEw6lwb3NleiB1biBkb2N1bWVudCBvdSBjbGlxdWV6IGljaScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbC1tdWx0aXBsZSc6XG4gICAgICAgICdEw6lwb3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzIG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWNvbmZpcm1hdGlvbi1tZXNzYWdlJzpcbiAgICAgICAgJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZSBmaWNoaWVyID8nLFxuICAgICdmb2Vobi11cGxvYWRlci5hYmJyLW1lZ2FvY3RldCc6ICdNbycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0LXRpdGxlJzogJ01lZ2FvY3RldCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRlbGV0ZS1pY29uLXRpdGxlJzogJ1N1cHByaW1lciB7ZG9jTmFtZX0nLFxuICAgICd1c2UtbG9naW4udGV4dC5kZWNpc2lvbi1lbGVjdHJvbmlxdWUtYXZhaWxhYmxlJzpcbiAgICAgICAgJ1BvdXIgb2J0ZW5pciBsYSBub3RpZmljYXRpb24gZGUgbGEgZMOpY2lzaW9uIHNvdXMgZm9ybWUgw6lsZWN0cm9uaXF1ZSAnICtcbiAgICAgICAgJyhmaWNoaWVyIGF1IGZvcm1hdCBwZGYpLCB2b3VzIGRldmV6IGRlbWFuZGVyIGxhIHByZXN0YXRpb24gZW4gw6l0YW50IGNvbm5lY3TDqSBhdSBwb3J0YWlsIHPDqWN1cmlzw6kuJyxcbiAgICAndXNlLWxvZ2luLnRleHQnOlxuICAgICAgICAnQ2V0dGUgcHJlc3RhdGlvbiBlc3QgYXVzc2kgdXRpbGlzYWJsZSA8c3Ryb25nPmVuIHNlIGNvbm5lY3RhbnQ8L3N0cm9uZz4gYXUgcG9ydGFpbCBzw6ljdXJpc8OpLjwvc3Ryb25nPjxici8+ICAgICAgICAgJyArXG4gICAgICAgICc8aT5Ub3V0ZXMgbGVzIGluZm9ybWF0aW9ucyBzdXIgbGUgcG9ydGFpbCBzw6ljdXJpc8OpIHNvbnQgZGlzcG9uaWJsZXMgw6AgY2V0dGUgYWRyZXNzZSA6ICcgK1xuICAgICAgICAnPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3LnZkLmNoL2N5YmVyYWRtaW5pc3RyYXRpb24vXCI+aHR0cHM6Ly93d3cudmQuY2gvY3liZXJhZG1pbmlzdHJhdGlvbi88L2E+LjwvaT4nLFxuICAgICd1c2UtbG9naW4uYnV0dG9uLnRleHQnOiAnU2UgY29ubmVjdGVyIGV0IGNvbnRpbnVlcicsXG4gICAgJ3VzZS1sb2dpbi5jb250aW51ZS13aXRob3V0LWxvZ2luLmJ1dHRvbi50ZXh0JzpcbiAgICAgICAgJ0NvbnRpbnVlciBzYW5zIHNlIGNvbm5lY3RlcicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNob29zZS1idXR0b24tbGFiZWwnOiAnQ2hvaXNpc3NleiB1bmUgcGhvdG8nLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5sb2FkaW5nLWxhYmVsJzogJ0NoYXJnZW1lbnQuLi4nLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5pbnZhbGlkLWZpbGUtdHlwZSc6XG4gICAgICAgICdMZSB0eXBlIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUge2ZpbGVuYW1lfSBuZSBmaWd1cmUgcGFzIHBhcm1pIGNldXggcXVpIHNvbnQgYXV0b3Jpc8OpcyA6IFwie2FjY2VwdEZvcm1hdHN9XCInLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5sb2FkaW5nLWZhaWx1cmUtbGFiZWwnOlxuICAgICAgICAnSW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGxhIHBob3RvIHPDqWxlY3Rpb25uw6llJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQudmFsaWRhdGUtc2VsZWN0aW9uLWxhYmVsJzogJ1ZhbGlkZXIgbGEgc8OpbGVjdGlvbicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNhbmNlbC1zZWxlY3Rpb24tbGFiZWwnOiAnQW5udWxlcicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLnNlbGVjdGlvbi1ub3QtdmFsaWRhdGVkLWxhYmVsJzpcbiAgICAgICAgJ01lcmNpIGRlIHZhbGlkZXIgdm90cmUgc8OpbGVjdGlvbicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmRlbGV0ZS1waWN0dXJlLWxhYmVsJzogJ1N1cHByaW1lcicsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnOiAne3RvdGFsfSDDqWzDqW1lbnRzIHRyb3V2w6lzJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cy4xJzogJzEgw6lsw6ltZW50IHRyb3V2w6knLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjAnOiAnQXVjdW4gcsOpc3VsdGF0JyxcbiAgICAnZm9laG4tdGFibGUuaGVhZGVyLmFjdGlvbnMnOiAnQWN0aW9ucycsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDEnOiAnU2Fpc2llJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMS5zck9ubHknOiAnRXRhcGUgMSBzdXIgMywgU2Fpc2llJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMic6ICdWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMi5zck9ubHknOiAnRXRhcGUgMiBzdXIgMywgVsOpcmlmaWNhdGlvbicsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDMnOiAnVHJhbnNtaXNzaW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMy5zck9ubHknOlxuICAgICAgICAnRXRhcGUgMyBzdXIgMywgRGVtYW5kZSB0cmFuc21pc2UnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc2VsZWN0ZWQuZGVsZXRlJzpcbiAgICAgICAgJ1N1cHByaW1lciB7ZWxlbWVudExhYmVsfScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuZGVsZXRlZCc6XG4gICAgICAgICd7ZWxlbWVudExhYmVsfSBhIMOpdMOpIHN1cHByaW3DqSwnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItYW5ub3VuY2VtZW50LmFkZGVkJzpcbiAgICAgICAgJ3tlbGVtZW50TGFiZWx9IGEgw6l0w6kgYWpvdXTDqSwnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1mb2N1cy5uby1lbGVtZW50LXRvLWRlbGV0ZSc6XG4gICAgICAgICdBdWN1biDDqWzDqW1lbnQgZGFucyBsYSBsaXN0ZS4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1zZWxlY3RlZC1lbGVtZW50JzpcbiAgICAgICAgJyhzw6lsZWN0aW9uIHBhciBkw6lmYXV0KScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuZW1wdHktbWVzc2FnZSc6XG4gICAgICAgICdUb3VzIGxlcyDDqWzDqW1lbnRzIGRlIGxhIGxpc3RlIGRlIHByb3Bvc2l0aW9uIG9udCBkw6lqw6Agw6l0w6kgYWpvdXTDqXMuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUgZGUgcmVjaGVyY2hlJyArXG4gICAgICAgIFwiIGNpLWRlc3NvdXMgcG91ciBsJ2Fqb3V0ZXIgw6Agdm90cmUgc8OpbGVjdGlvbi5cIixcbiAgICAnZm9laG4tYWdlbmRhLmNhbGVuZGFyLWluZGlzcG9uaWJsZSc6XG4gICAgICAgICdMZSBjYWxlbmRyaWVyIGRlcyByZW5kZXotdm91cyBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZS4nLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IuZmlyc3QtcGFydCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjaGFuZ2VyIGRlIHNlbWFpbmUgYXUgbW95ZW4gZGUnLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IudG9wLW5leHQtcGFydCc6ICdsYSBwYWdpbmF0aW9uIGNpLWRlc3NvdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLmJvdHRvbS1uZXh0LXBhcnQnOlxuICAgICAgICAnbGEgcGFnaW5hdGlvbiBjaS1kZXNzdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnRpbWVzbG90LnNlbGVjdGVkJzogJyBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5vLWRpc3BvJzogJyhhdWN1bmUgZGlzcG9uaWJpbGl0w6kpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5ici1kaXNwbyc6ICd7bmJFbGVtZW50c30gZGlzcG9uaWJpbGl0w6lzJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNlbGVjdGVkLXRpbWUnOlxuICAgICAgICAne3RpbWVTZWxlY3RlZFZhbHVlfSBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbW9yZS1zci1vbmx5JzpcbiAgICAgICAgJ0FmZmljaGVyIGxlcyB7bmJyRWxlbWVudHNIaWRkZW59IGRpc3BvbmliaWxpdMOpcyBtYXNxdcOpZXMnLFxuICAgICdmb2Vobi5hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1tb3JlJzpcbiAgICAgICAgJ0FmZmljaGVyIHBsdXMgKHtuYnJFbGVtZW50c0hpZGRlbn0pJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbGVzcyc6ICdBZmZpY2hlciBtb2lucycsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLnByZXZpb3VzLXdlZWsnOiAnU2VtYWluZSBwcsOpY8OpZGVudGUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5wcmV2aW91cy13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBwcsOpY8OpZGVudGUgOiB7cHJldmlvdXNXZWVrfScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5leHQtd2Vlayc6ICdTZW1haW5lIHN1aXZhbnRlJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmV4dC13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBzdWl2YW50ZSA6IHtuZXh0V2Vla30nLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uYXYuYXJpYS1sYWJlbCc6ICdDaGFuZ2VyIGRlIHNlbWFpbmUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ1NlbWFpbmUgZHUge3NlbGVjdGVkRGF0ZX0gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGVzc2F5ZXIgZGUgcmVwcmVuZHJlIHZvdHJlIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIGxlIGxpZW4gY2ktZGVzc291cycsXG4gICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1yZWZlcmVuY2UnOiAnUmVwcmVuZHJlIG1hIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtbm8tcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IHJlY29tbWVuY2VyIHVuZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tZXJyb3IubGluay5oYXMtbm8tcmVmZXJlbmNlJzogJ1JlY29tbWVuY2VyJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRleHQucGVuZGluZy1wYXltZW50JzpcbiAgICAgICAgJzxwPlVuIHByb2Jsw6htZSBlc3Qgc3VydmVudSBsb3JzIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3RyZSBkZW1hbmRlLjwvcD4nICtcbiAgICAgICAgJzxwPjxzdHJvbmc+TWVyY2kgZGUgbmUgcGFzIHJlZmFpcmUgdW5lIG5vdXZlbGxlIGRlbWFuZGUgdG91dCBkZSBzdWl0ZS48L3N0cm9uZz48L3A+JyArXG4gICAgICAgIFwiPHA+U2FucyBjb25maXJtYXRpb24gZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUgZGFucyB1biBkw6lsYWkgZCd1biBqb3VyLCBcIiArXG4gICAgICAgICdub3VzIHZvdXMgcHJpb25zIGRlIDxhIGhyZWY9XCJ7c3VwcG9ydExpbmt9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29udGFjdGVyIGxlIHN1cHBvcnQ8L2E+LicsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS5hcmlhLWxhYmVsJzogJ0Zlcm1lciBsYSBib2l0ZSBkZSBkaWFsb2d1ZScsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS50aXRsZSc6ICdGZXJtZXInLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcucGx1cmFsJzpcbiAgICAgICAgJ3tjaGFyQ291bnRMZWZ0fSBjYXJhY3TDqHJlcyByZXN0YW50cycsXG4gICAgJ2ZvZWhuLXRleHRhcmVhLmNoYXJzLXJlbWFpbmluZy5zaW5ndWxhcic6XG4gICAgICAgICd7Y2hhckNvdW50TGVmdH0gY2FyYWN0w6hyZSByZXN0YW50JyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLnplcm8nOlxuICAgICAgICAnVm91cyBhdmV6IGF0dGVpbnQgbGUgbm9tYnJlIGRlIGNhcmFjdMOocmUgYXV0b3Jpc8OpIScsXG4gICAgJ2ZvZWhuLXRleHRhcmVhLmNoYXJzLXJlbWFpbmluZy5leGNlZWRlZCc6XG4gICAgICAgICdWb3VzIGF2ZXogZMOpcGFzc8OpIGxlIG5vbWJyZSBkZSBjYXJhY3TDqHJlcyBhdXRvcmlzw6lzIGRlIHtjaGFyQ291bnRMZWZ0fSdcbn07XG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL3Nkay1kaWN0aW9uYXJ5L2RlZmF1bHQtZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsc0JBQXNCLEVBQUUsY0FBYztJQUN0Qyw0QkFBNEIsRUFBRSxNQUFNO0lBQ3BDLDhCQUE4QixFQUFFLE1BQU07SUFDdEMsNkJBQTZCLEVBQUUsT0FBTztJQUN0QywrQkFBK0IsRUFBRSxNQUFNO0lBQ3ZDLGlDQUFpQyxFQUM3QixpREFBaUQ7UUFDakQsaUZBQWlGO0lBQ3JGLDhCQUE4QixFQUFFLE9BQU87SUFDdkMsZ0NBQWdDLEVBQUUsU0FBUztJQUMzQyw2Q0FBNkMsRUFDekMsaURBQWlEO0lBQ3JELG1DQUFtQyxFQUFFLE1BQU07SUFDM0Msb0NBQW9DLEVBQUUsZUFBZTtJQUNyRCxzQ0FBc0MsRUFBRSwrQkFBK0I7SUFDdkUsa0NBQWtDLEVBQUUsS0FBSztJQUN6Qyx1Q0FBdUMsRUFBRSxlQUFlO0lBQ3hELDJDQUEyQyxFQUN2QywwREFBMEQ7SUFDOUQsNkNBQTZDLEVBQUUsY0FBYztJQUM3RCxpREFBaUQsRUFDN0MsK0NBQStDO0lBQ25ELHdDQUF3QyxFQUFFLEtBQUs7SUFDL0Msd0NBQXdDLEVBQUUsc0JBQXNCO0lBQ2hFLDRDQUE0QyxFQUFFLGFBQWE7SUFDM0QsNkNBQTZDLEVBQUUsVUFBVTtJQUN6RCw2QkFBNkIsRUFBRSxTQUFTO0lBQ3hDLGlDQUFpQyxFQUFFLFdBQVc7SUFDOUMsaUNBQWlDLEVBQUUsYUFBYTtJQUNoRCx1Q0FBdUMsRUFBRSw0QkFBNEI7SUFDckUsd0NBQXdDLEVBQUUsS0FBSztJQUMvQywwQkFBMEIsRUFBRSxtQ0FBbUM7SUFDL0QsMkJBQTJCLEVBQUUsY0FBYztJQUMzQyxtQ0FBbUMsRUFBRSxtQkFBbUI7SUFDeEQsNkNBQTZDLEVBQUUsbUJBQW1CO0lBQ2xFLGlDQUFpQyxFQUFFLG9CQUFvQjtJQUN2RCwyQ0FBMkMsRUFDdkMsNkNBQTZDO0lBQ2pELHFDQUFxQyxFQUNqQyxnRUFBZ0U7SUFDcEUsK0NBQStDLEVBQzNDLDhCQUE4QjtJQUNsQyxpQ0FBaUMsRUFBRSxVQUFVO0lBQzdDLG1DQUFtQyxFQUFFLGdCQUFnQjtJQUNyRCxtQ0FBbUMsRUFBRSxHQUFHO0lBQ3hDLHFDQUFxQyxFQUFFLHdCQUF3QjtJQUMvRCxzREFBc0QsRUFDbEQsb0NBQW9DO0lBQ3hDLHdDQUF3QyxFQUFFLFlBQVk7SUFDdEQsMkNBQTJDLEVBQUUsc0JBQXNCO0lBQ25FLCtDQUErQyxFQUFFLGdCQUFnQjtJQUNqRSwyQ0FBMkMsRUFBRSxjQUFjO0lBQzNELHdEQUF3RCxFQUNwRCw2QkFBNkI7SUFDakMsbURBQW1ELEVBQUUsc0JBQXNCO0lBQzNFLGtEQUFrRCxFQUM5Qyx3QkFBd0I7SUFDNUIsMkJBQTJCLEVBQ3ZCLG9EQUFvRDtJQUN4RCwwQkFBMEIsRUFDdEIsOEZBQThGO0lBQ2xHLHVCQUF1QixFQUNuQiwrRUFBK0U7SUFDbkYsNEJBQTRCLEVBQ3hCLDZEQUE2RDtJQUNqRSw0QkFBNEIsRUFBRSw0Q0FBNEM7SUFDMUUsNEJBQTRCLEVBQ3hCLHFEQUFxRDtJQUN6RCxrQkFBa0IsRUFBRSxrQ0FBa0M7SUFDdEQsNEJBQTRCLEVBQUUsdUNBQXVDO0lBQ3JFLDZCQUE2QixFQUN6Qiw0R0FBNEc7SUFDaEgsb0NBQW9DLEVBQ2hDLHNFQUFzRTtJQUMxRSxZQUFZLEVBQ1IsdUVBQXVFO0lBQzNFLFlBQVksRUFDUiwwRkFBMEY7SUFDOUYsWUFBWSxFQUNSLHlGQUF5RjtJQUM3RixZQUFZLEVBQUUsZ0RBQWdEO0lBQzlELFlBQVksRUFDUiwyRkFBMkY7SUFDL0Ysc0JBQXNCLEVBQUUsb0JBQW9CO0lBQzVDLG9DQUFvQyxFQUFFLHdCQUF3QjtJQUM5RCw2Q0FBNkMsRUFDekMsc0NBQXNDO0lBQzFDLGdDQUFnQyxFQUFFLG9DQUFvQztJQUN0RSx5Q0FBeUMsRUFDckMsa0RBQWtEO0lBQ3RELDRDQUE0QyxFQUN4QyxpREFBaUQ7SUFDckQsK0JBQStCLEVBQUUsSUFBSTtJQUNyQyxxQ0FBcUMsRUFBRSxXQUFXO0lBQ2xELGtDQUFrQyxFQUFFLHFCQUFxQjtJQUN6RCxnREFBZ0QsRUFDNUMsc0VBQXNFO1FBQ3RFLG1HQUFtRztJQUN2RyxnQkFBZ0IsRUFDWixxSEFBcUg7UUFDckgsd0ZBQXdGO1FBQ3hGLGtIQUFrSDtJQUN0SCx1QkFBdUIsRUFBRSwyQkFBMkI7SUFDcEQsOENBQThDLEVBQzFDLDZCQUE2QjtJQUNqQywwQ0FBMEMsRUFBRSxzQkFBc0I7SUFDbEUsb0NBQW9DLEVBQUUsZUFBZTtJQUNyRCx3Q0FBd0MsRUFDcEMsMEdBQTBHO0lBQzlHLDRDQUE0QyxFQUN4Qyw2Q0FBNkM7SUFDakQsK0NBQStDLEVBQUUsc0JBQXNCO0lBQ3ZFLDZDQUE2QyxFQUFFLFNBQVM7SUFDeEQsb0RBQW9ELEVBQ2hELGtDQUFrQztJQUN0QywyQ0FBMkMsRUFBRSxXQUFXO0lBQ3hELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCw2QkFBNkIsRUFBRSxrQkFBa0I7SUFDakQsNkJBQTZCLEVBQUUsZ0JBQWdCO0lBQy9DLDRCQUE0QixFQUFFLFNBQVM7SUFDdkMsaUNBQWlDLEVBQUUsUUFBUTtJQUMzQyx3Q0FBd0MsRUFBRSx1QkFBdUI7SUFDakUsaUNBQWlDLEVBQUUsY0FBYztJQUNqRCx3Q0FBd0MsRUFBRSw2QkFBNkI7SUFDdkUsaUNBQWlDLEVBQUUsY0FBYztJQUNqRCx3Q0FBd0MsRUFDcEMsa0NBQWtDO0lBQ3RDLGdEQUFnRCxFQUM1QywwQkFBMEI7SUFDOUIsd0RBQXdELEVBQ3BELGdDQUFnQztJQUNwQyxzREFBc0QsRUFDbEQsOEJBQThCO0lBQ2xDLHNFQUFzRSxFQUNsRSw4QkFBOEI7SUFDbEMsNERBQTRELEVBQ3hELHdCQUF3QjtJQUM1QiwyREFBMkQsRUFDdkQsb0VBQW9FO0lBQ3hFLGlFQUFpRSxFQUM3RCxvREFBb0Q7UUFDcEQsK0NBQStDO0lBQ25ELG9DQUFvQyxFQUNoQyw4REFBOEQ7SUFDbEUsMkNBQTJDLEVBQ3ZDLDRDQUE0QztJQUNoRCw4Q0FBOEMsRUFBRSwyQkFBMkI7SUFDM0UsaURBQWlELEVBQzdDLDBCQUEwQjtJQUM5QixnQ0FBZ0MsRUFBRSxjQUFjO0lBQ2hELHNDQUFzQyxFQUFFLHdCQUF3QjtJQUNoRSx1Q0FBdUMsRUFBRSw2QkFBNkI7SUFDdEUsMkNBQTJDLEVBQ3ZDLGlDQUFpQztJQUNyQywrQ0FBK0MsRUFDM0MsMERBQTBEO0lBQzlELHVDQUF1QyxFQUNuQyxxQ0FBcUM7SUFDekMsdUNBQXVDLEVBQUUsZ0JBQWdCO0lBQ3pELHVDQUF1QyxFQUFFLG9CQUFvQjtJQUM3RCwrQ0FBK0MsRUFDM0MscUNBQXFDO0lBQ3pDLG1DQUFtQyxFQUFFLGtCQUFrQjtJQUN2RCwyQ0FBMkMsRUFDdkMsK0JBQStCO0lBQ25DLHdDQUF3QyxFQUFFLG9CQUFvQjtJQUM5RCx3RUFBd0UsRUFDcEUsd0NBQXdDO0lBQzVDLGlDQUFpQyxFQUM3QixtRkFBbUY7SUFDdkYsaUNBQWlDLEVBQUUsc0JBQXNCO0lBQ3pELG9DQUFvQyxFQUNoQyx3RUFBd0U7SUFDNUUsb0NBQW9DLEVBQUUsYUFBYTtJQUNuRCxtQ0FBbUMsRUFDL0IsMEVBQTBFO1FBQzFFLHFGQUFxRjtRQUNyRixvRkFBb0Y7UUFDcEYsdUZBQXVGO0lBQzNGLGtDQUFrQyxFQUFFLDZCQUE2QjtJQUNqRSw2QkFBNkIsRUFBRSxRQUFRO0lBQ3ZDLHVDQUF1QyxFQUNuQyxxQ0FBcUM7SUFDekMseUNBQXlDLEVBQ3JDLG1DQUFtQztJQUN2QyxxQ0FBcUMsRUFDakMscURBQXFEO0lBQ3pELHlDQUF5QyxFQUNyQyx3RUFBd0U7Q0FDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IERpY3Rpb25hcnlUeXBlIH0gZnJvbSAnLi9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRElDVElPTkFSWTogRGljdGlvbmFyeVR5cGUgPSB7XG4gICAgJ2ZvZWhuLWlucHV0Lm9wdGlvbmFsJzogJyhmYWN1bHRhdGlmKScsXG4gICAgJ2ZvZWhuLWlucHV0LWRhdGUuZGF5LmxhYmVsJzogJ0pvdXInLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLm1vbnRoLmxhYmVsJzogJ01vaXMnLFxuICAgICdmb2Vobi1pbnB1dC1kYXRlLnllYXIubGFiZWwnOiAnQW5uw6llJyxcbiAgICAnZm9laG4taW5wdXQtZW1haWwubW9kYWwudGl0bGUnOiAnQWlkZScsXG4gICAgJ2ZvZWhuLWlucHV0LWVtYWlsLm1vZGFsLmNvbnRlbnQnOlxuICAgICAgICBcIjxwPlZvdXMgbidhcnJpdmV6IHBhcyDDoCBzYWlzaXIgdm90cmUgbWFpbCA/PC9wPlwiICtcbiAgICAgICAgJzxwPk1lcmNpIGRcXCfDqWNyaXJlIMOgIDxhIGhyZWY9XCJtYWlsdG86aW5mby5jeWJlckB2ZC5jaFwiPmluZm8uY3liZXJAdmQuY2g8L2E+PC9wPicsXG4gICAgJ2ZvZWhuLWlucHV0LXRpbWUuaG91cnMubGFiZWwnOiAnSGV1cmUnLFxuICAgICdmb2Vobi1pbnB1dC10aW1lLm1pbnV0ZXMubGFiZWwnOiAnTWludXRlcycsXG4gICAgJ2ZvZWhuLWlucHV0LW51bWJlci5zdGFuZGFyZC1oZWxwLXRleHQubGFiZWwnOlxuICAgICAgICAnU2Fpc2lyIHVuIG5vbWJyZSBlbnRyZSB7bWluVmFsdWV9IGV0IHttYXhWYWx1ZX0nLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmNvdW50cnkubGFiZWwnOiAnUGF5cycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MubG9jYWxpdHkubGFiZWwnOiAnTlBBLCBMb2NhbGl0w6knLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5oZWxwLXRleHQnOiAnRXhlbXBsZSA6IEF2ZW51ZSBkZSBsYSBTYWxsYXonLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnN0cmVldC5sYWJlbCc6ICdSdWUnLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLmhvdXNlTnVtYmVyLmxhYmVsJzogJ051bcOpcm8gZGUgcnVlJyxcbiAgICAnZm9laG4taW5wdXQtYWRkcmVzcy5ob3VzZU51bWJlci5oZWxwLXRleHQnOlxuICAgICAgICBcIkV4ZW1wbGUgOiA0MCBwb3VyIHVuZSBhZHJlc3NlIMOgIGwnQXZlbnVlIGRlIGxhIFNhbGxheiA0MFwiLFxuICAgICdmb2Vobi1pbnB1dC1hZGRyZXNzLnBvc3RPZmZpY2VCb3hUZXh0LmxhYmVsJzogJ0Nhc2UgcG9zdGFsZScsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MucG9zdE9mZmljZUJveFRleHQuaGVscC10ZXh0JzpcbiAgICAgICAgJ0V4ZW1wbGUgOiBDYXNlIHBvc3RhbGUgMTIyIG91IENQMTIyIG91IENQIDEyMicsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUxLmxhYmVsJzogJ2MvbycsXG4gICAgJ2ZvZWhuLWlucHV0LWFkZHJlc3MuYWRkcmVzc0xpbmUyLmxhYmVsJzogXCJDb21wbMOpbWVudCBkJ2FkcmVzc2VcIixcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS56aXBDb2RlLmxhYmVsJzogJ0NvZGUgcG9zdGFsJyxcbiAgICAnZm9laG4taW5wdXQtZm9yZWlnbi1sb2NhbGl0eS5sb2NhbGl0eS5sYWJlbCc6ICdMb2NhbGl0w6knLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLm5leHQubGFiZWwnOiAnU3VpdmFudCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucHJldmlvdXMubGFiZWwnOiAnUHLDqWPDqWRlbnQnLFxuICAgICdmb2Vobi1uYXZpZ2F0aW9uLnRyYW5zbWl0LmxhYmVsJzogJ1RyYW5zbWV0dHJlJyxcbiAgICAnZm9laG4tbmF2aWdhdGlvbi5jb250aW51ZS1sYXRlci5sYWJlbCc6ICdGaW5pciBsYSBkZW1hbmRlIHBsdXMgdGFyZCcsXG4gICAgJ2ZvZWhuLW5hdmlnYXRpb24ucm91dGUuaW5kZXguc2VwYXJhdG9yJzogJ3N1cicsXG4gICAgJ2ZvZWhuLXBhZ2UtY291bnRlci5sYWJlbCc6ICdQYWdlIHtjdXJyZW50UGFnZX0gZGUge3BhZ2VDb3VudH0nLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLnRpdGxlJzogJ0NvbmZpcm1hdGlvbicsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uc3VjY2Vzcy1sYWJlbCc6ICdEZW1hbmRlIHRyYW5zbWlzZScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubmV4dC1zdGVwLnN1Y2Nlc3MtbGFiZWwnOiAnUsOpcG9uc2UgdHJhbnNtaXNlJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5hYm9ydC1sYWJlbCc6ICdEZW1hbmRlIGFiYW5kb25uw6llJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5yZWZlcmVuY2UtdGl0bGUubGFiZWwnOlxuICAgICAgICAnTGUgbnVtw6lybyBkZSByw6lmw6lyZW5jZSBkZSB2b3RyZSBkZW1hbmRlIGVzdCcsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24ubWFpbC1zZW50LmxhYmVsJzpcbiAgICAgICAgJ1ZvdXMgcmVjZXZyZXogdW4gZW1haWwgZGUgY29uZmlybWF0aW9uIGRhbnMgcXVlbHF1ZXMgaW5zdGFudHMuJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5kb3dubG9hZC1wZGYtcmVjYXAtYnV0dG9uJzpcbiAgICAgICAgJ1TDqWzDqWNoYXJnZXIgbGEgZGVtYW5kZSAocGRmKScsXG4gICAgJ2dlc2RlbS1jb25maXJtYXRpb24uZXhpdC1idXR0b24nOiAnVGVybWluZXInLFxuICAgICdnZXNkZW0tY29uZmlybWF0aW9uLmxvZ291dC1idXR0b24nOiAnU2UgZMOpY29ubmVjdGVyJyxcbiAgICAnZ2VzZGVtLWNvbmZpcm1hdGlvbi5leHRyYS1jb250ZW50JzogJyAnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci1idXR0b24uaWNvbi10aXRsZSc6ICdBZmZpY2hlciBsZSBjYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXItYnV0dG9uLnNjcmVlbi1yZWFkZXIuc2VsZWN0ZWQtZGF0ZSc6XG4gICAgICAgICdEYXRlIHPDqWxlY3Rpb25uw6llIDoge3NlbGVjdGVkRGF0ZX0nLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5jb250YWluZXIuYXJpYS1sYWJlbCc6ICdDYWxlbmRyaWVyJyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuY2xvc2UtYnV0dG9uLmFyaWEtbGFiZWwnOiAnRmVybWVyIGxlIGNhbGVuZHJpZXInLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5wcmV2aW91cy1tb250aC1idXR0b24udGl0bGUnOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLm5leHQtbW9udGgtYnV0dG9uLnRpdGxlJzogJ01vaXMgc3VpdmFudCcsXG4gICAgJ2ZvZWhuLWRhdGUtcGlja2VyLnNjcmVlbi1yZWFkZXIuYWN0dWFsLW1vbnRoLWRpc3BsYXllZCc6XG4gICAgICAgICdNb2lzIGFjdHVlbGxlbWVudCBhZmZpY2jDqSA6JyxcbiAgICAnZm9laG4tZGF0ZS1waWNrZXIuc2NyZWVuLXJlYWRlci5tb250aC1pbnB1dC5sYWJlbCc6ICdTw6lsZWN0aW9ubmVyIHVuIG1vaXMnLFxuICAgICdmb2Vobi1kYXRlLXBpY2tlci5zY3JlZW4tcmVhZGVyLnllYXItaW5wdXQubGFiZWwnOlxuICAgICAgICAnU8OpbGVjdGlvbm5lciB1bmUgYW5uw6llJyxcbiAgICAnZXJyb3JzLklNQUdFX05PVF9SRUFEQUJMRSc6XG4gICAgICAgIFwiVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIG4nZXN0IHBhcyB1bmUgaW1hZ2UgdmFsaWRlXCIsXG4gICAgJ2Vycm9ycy5GSUxFTkFNRV9UT09fTE9ORyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgYSB1biBub20gZHUgZmljaGllciBxdWkgZXhjw6hkZSBsZSBtYXhpbXVtIGF1dG9yaXPDqSA6ICUyJHMgY2FyYWN0w6hyZXMnLFxuICAgICdlcnJvcnMuRklMRV9UT09fU01BTEwnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBpbmbDqXJpZXVyZSBhdSBtaW5pbXVtIGV4aWfDqSA6ICUyJHMgYnl0ZXMnLFxuICAgICdlcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZlcnJvdWlsbMOpZSBwYXIgdW4gbW90IGRlIHBhc3NlJyxcbiAgICAnZXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQnOiAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IHVuIHNjcmlwdCcsXG4gICAgJ2Vycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTJzpcbiAgICAgICAgJ1ZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBjb250aWVudCB1biBmaWNoaWVyIGF0dGFjaMOpJyxcbiAgICAnZXJyb3JzLkVNUFRZX1BERic6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHZpZGUnLFxuICAgICdlcnJvcnMuUERGX0dFTkVSQUxfUFJPQkxFTSc6ICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IGlsbGlzaWJsZScsXG4gICAgJ2Vycm9ycy5QREZfSEFTX1JFU1RSSUNUSU9OUyc6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgZXN0IHByb3TDqWfDqWUuIFZldWlsbGV6IGVubGV2ZXIgdG91dGVzIGxlcyBwcm90ZWN0aW9ucyBhdmFudCBkZSBqb2luZHJlIGNlIGZpY2hpZXIuJyxcbiAgICAnZXJyb3JzLkZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTic6XG4gICAgICAgICdMZSBub20gZGUgdm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGNvbnRpZW50IGRlcyBjYXJhY3TDqHJlcyBpbnRlcmRpdHMuJyxcbiAgICAnZXJyb3JzLjQwNic6XG4gICAgICAgICdWb3RyZSBwacOoY2Ugam9pbnRlICUxJHMgbmUgY29ycmVzcG9uZCBwYXMgYXUgdHlwZSBkZSBjb250ZW51IGF1dG9yaXPDqScsXG4gICAgJ2Vycm9ycy40MTMnOlxuICAgICAgICAnVm90cmUgcGnDqGNlIGpvaW50ZSAlMSRzIGEgdW5lIHRhaWxsZSBzdXDDqXJpZXVyZSBvdSDDqWdhbGUgw6AgbGEgbGltaXRlIGF1dG9yaXPDqWUgOiAlMiRzIE1vJyxcbiAgICAnZXJyb3JzLjQxNSc6XG4gICAgICAgICdMZSB0eXBlIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUgJTEkcyBuZSBmaWd1cmUgcGFzIHBhcm1pIGNldXggcXVpIHNvbnQgYXV0b3Jpc8OpcyA6IFwiJTIkc1wiJyxcbiAgICAnZXJyb3JzLjQyMic6ICdFY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIGRlIGxhIHBpw6hjZSBqb2ludGUgJTEkcycsXG4gICAgJ2Vycm9ycy41MDAnOlxuICAgICAgICAnRWNoZWMgZGUgbGEgc2F1dmVnYXJkZSBkZSBsYSBwacOoY2Ugam9pbnRlICUxJHMuIFZldWlsbGV6IHLDqWVzc2F5ZXIgYXZlYyB1biBhdXRyZSBmaWNoaWVyLicsXG4gICAgJ2Vycm9ycy5zdW1tYXJ5LnRpdGxlJzogJ0lsIHkgYSB1biBwcm9ibMOobWUnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsJzogJ0Nob2lzaXNzZXogdW4gZG9jdW1lbnQnLFxuICAgICdmb2Vobi11cGxvYWRlci5jaG9vc2UtYnV0dG9uLWxhYmVsLW11bHRpcGxlJzpcbiAgICAgICAgJ0Nob2lzaXNzZXogdW4gb3UgcGx1c2lldXJzIGRvY3VtZW50cycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbCc6ICdEw6lwb3NleiB1biBkb2N1bWVudCBvdSBjbGlxdWV6IGljaScsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRyb3Atem9uZS1sYWJlbC1tdWx0aXBsZSc6XG4gICAgICAgICdEw6lwb3NleiB1biBvdSBwbHVzaWV1cnMgZG9jdW1lbnRzIG91IGNsaXF1ZXogaWNpJyxcbiAgICAnZm9laG4tdXBsb2FkZXIuZGVsZXRlLWNvbmZpcm1hdGlvbi1tZXNzYWdlJzpcbiAgICAgICAgJ8OKdGVzLXZvdXMgc8O7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBjZSBmaWNoaWVyID8nLFxuICAgICdmb2Vobi11cGxvYWRlci5hYmJyLW1lZ2FvY3RldCc6ICdNbycsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmFiYnItbWVnYW9jdGV0LXRpdGxlJzogJ01lZ2FvY3RldCcsXG4gICAgJ2ZvZWhuLXVwbG9hZGVyLmRlbGV0ZS1pY29uLXRpdGxlJzogJ1N1cHByaW1lciB7ZG9jTmFtZX0nLFxuICAgICd1c2UtbG9naW4udGV4dC5kZWNpc2lvbi1lbGVjdHJvbmlxdWUtYXZhaWxhYmxlJzpcbiAgICAgICAgJ1BvdXIgb2J0ZW5pciBsYSBub3RpZmljYXRpb24gZGUgbGEgZMOpY2lzaW9uIHNvdXMgZm9ybWUgw6lsZWN0cm9uaXF1ZSAnICtcbiAgICAgICAgJyhmaWNoaWVyIGF1IGZvcm1hdCBwZGYpLCB2b3VzIGRldmV6IGRlbWFuZGVyIGxhIHByZXN0YXRpb24gZW4gw6l0YW50IGNvbm5lY3TDqSBhdSBwb3J0YWlsIHPDqWN1cmlzw6kuJyxcbiAgICAndXNlLWxvZ2luLnRleHQnOlxuICAgICAgICAnQ2V0dGUgcHJlc3RhdGlvbiBlc3QgYXVzc2kgdXRpbGlzYWJsZSA8c3Ryb25nPmVuIHNlIGNvbm5lY3RhbnQ8L3N0cm9uZz4gYXUgcG9ydGFpbCBzw6ljdXJpc8OpLjwvc3Ryb25nPjxici8+ICAgICAgICAgJyArXG4gICAgICAgICc8aT5Ub3V0ZXMgbGVzIGluZm9ybWF0aW9ucyBzdXIgbGUgcG9ydGFpbCBzw6ljdXJpc8OpIHNvbnQgZGlzcG9uaWJsZXMgw6AgY2V0dGUgYWRyZXNzZSA6ICcgK1xuICAgICAgICAnPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3LnZkLmNoL2N5YmVyYWRtaW5pc3RyYXRpb24vXCI+aHR0cHM6Ly93d3cudmQuY2gvY3liZXJhZG1pbmlzdHJhdGlvbi88L2E+LjwvaT4nLFxuICAgICd1c2UtbG9naW4uYnV0dG9uLnRleHQnOiAnU2UgY29ubmVjdGVyIGV0IGNvbnRpbnVlcicsXG4gICAgJ3VzZS1sb2dpbi5jb250aW51ZS13aXRob3V0LWxvZ2luLmJ1dHRvbi50ZXh0JzpcbiAgICAgICAgJ0NvbnRpbnVlciBzYW5zIHNlIGNvbm5lY3RlcicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNob29zZS1idXR0b24tbGFiZWwnOiAnQ2hvaXNpc3NleiB1bmUgcGhvdG8nLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5sb2FkaW5nLWxhYmVsJzogJ0NoYXJnZW1lbnQuLi4nLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5pbnZhbGlkLWZpbGUtdHlwZSc6XG4gICAgICAgICdMZSB0eXBlIGRlIHZvdHJlIHBpw6hjZSBqb2ludGUge2ZpbGVuYW1lfSBuZSBmaWd1cmUgcGFzIHBhcm1pIGNldXggcXVpIHNvbnQgYXV0b3Jpc8OpcyA6IFwie2FjY2VwdEZvcm1hdHN9XCInLFxuICAgICdmb2Vobi1waWN0dXJlLXVwbG9hZC5sb2FkaW5nLWZhaWx1cmUtbGFiZWwnOlxuICAgICAgICAnSW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGxhIHBob3RvIHPDqWxlY3Rpb25uw6llJyxcbiAgICAnZm9laG4tcGljdHVyZS11cGxvYWQudmFsaWRhdGUtc2VsZWN0aW9uLWxhYmVsJzogJ1ZhbGlkZXIgbGEgc8OpbGVjdGlvbicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmNhbmNlbC1zZWxlY3Rpb24tbGFiZWwnOiAnQW5udWxlcicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLnNlbGVjdGlvbi1ub3QtdmFsaWRhdGVkLWxhYmVsJzpcbiAgICAgICAgJ01lcmNpIGRlIHZhbGlkZXIgdm90cmUgc8OpbGVjdGlvbicsXG4gICAgJ2ZvZWhuLXBpY3R1cmUtdXBsb2FkLmRlbGV0ZS1waWN0dXJlLWxhYmVsJzogJ1N1cHByaW1lcicsXG4gICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnOiAne3RvdGFsfSDDqWzDqW1lbnRzIHRyb3V2w6lzJyxcbiAgICAnZm9laG4tdGFibGUudG90YWxFbGVtZW50cy4xJzogJzEgw6lsw6ltZW50IHRyb3V2w6knLFxuICAgICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjAnOiAnQXVjdW4gcsOpc3VsdGF0JyxcbiAgICAnZm9laG4tdGFibGUuaGVhZGVyLmFjdGlvbnMnOiAnQWN0aW9ucycsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDEnOiAnU2Fpc2llJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMS5zck9ubHknOiAnRXRhcGUgMSBzdXIgMywgU2Fpc2llJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMic6ICdWw6lyaWZpY2F0aW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMi5zck9ubHknOiAnRXRhcGUgMiBzdXIgMywgVsOpcmlmaWNhdGlvbicsXG4gICAgJ2ZvZWhuLXN0YXR1cy1wcm9ncmVzcy1iYXIuc3RlcDMnOiAnVHJhbnNtaXNzaW9uJyxcbiAgICAnZm9laG4tc3RhdHVzLXByb2dyZXNzLWJhci5zdGVwMy5zck9ubHknOlxuICAgICAgICAnRXRhcGUgMyBzdXIgMywgRGVtYW5kZSB0cmFuc21pc2UnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc2VsZWN0ZWQuZGVsZXRlJzpcbiAgICAgICAgJ1N1cHByaW1lciB7ZWxlbWVudExhYmVsfScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5zci1hbm5vdW5jZW1lbnQuZGVsZXRlZCc6XG4gICAgICAgICd7ZWxlbWVudExhYmVsfSBhIMOpdMOpIHN1cHByaW3DqSwnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItYW5ub3VuY2VtZW50LmFkZGVkJzpcbiAgICAgICAgJ3tlbGVtZW50TGFiZWx9IGEgw6l0w6kgYWpvdXTDqSwnLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1mb2N1cy5uby1lbGVtZW50LXRvLWRlbGV0ZSc6XG4gICAgICAgICdBdWN1biDDqWzDqW1lbnQgZGFucyBsYSBsaXN0ZS4nLFxuICAgICdmb2Vobi1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUuc3ItZGVmYXVsdC1zZWxlY3RlZC1lbGVtZW50JzpcbiAgICAgICAgJyhzw6lsZWN0aW9uIHBhciBkw6lmYXV0KScsXG4gICAgJ2ZvZWhuLW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS5hdXRvY29tcGxldGUuZW1wdHktbWVzc2FnZSc6XG4gICAgICAgICdUb3VzIGxlcyDDqWzDqW1lbnRzIGRlIGxhIGxpc3RlIGRlIHByb3Bvc2l0aW9uIG9udCBkw6lqw6Agw6l0w6kgYWpvdXTDqXMuJyxcbiAgICAnZm9laG4tbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlLmF1dG9jb21wbGV0ZS5zY3JlZW4tcmVhZGVyLmxhYmVsJzpcbiAgICAgICAgJ1PDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUgZGUgcmVjaGVyY2hlJyArXG4gICAgICAgIFwiIGNpLWRlc3NvdXMgcG91ciBsJ2Fqb3V0ZXIgw6Agdm90cmUgc8OpbGVjdGlvbi5cIixcbiAgICAnZm9laG4tYWdlbmRhLmNhbGVuZGFyLWluZGlzcG9uaWJsZSc6XG4gICAgICAgICdMZSBjYWxlbmRyaWVyIGRlcyByZW5kZXotdm91cyBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZS4nLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IuZmlyc3QtcGFydCc6XG4gICAgICAgICdWb3VzIHBvdXZleiBjaGFuZ2VyIGRlIHNlbWFpbmUgYXUgbW95ZW4gZGUnLFxuICAgICdmb2Vobi1hZ2VuZGEucGFnaW5hdGlvbi1hbmNob3IudG9wLW5leHQtcGFydCc6ICdsYSBwYWdpbmF0aW9uIGNpLWRlc3NvdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnBhZ2luYXRpb24tYW5jaG9yLmJvdHRvbS1uZXh0LXBhcnQnOlxuICAgICAgICAnbGEgcGFnaW5hdGlvbiBjaS1kZXNzdXMuJyxcbiAgICAnZm9laG4tYWdlbmRhLnRpbWVzbG90LnNlbGVjdGVkJzogJyBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5vLWRpc3BvJzogJyhhdWN1bmUgZGlzcG9uaWJpbGl0w6kpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLm5ici1kaXNwbyc6ICd7bmJFbGVtZW50c30gZGlzcG9uaWJpbGl0w6lzJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNlbGVjdGVkLXRpbWUnOlxuICAgICAgICAne3RpbWVTZWxlY3RlZFZhbHVlfSBzw6lsZWN0aW9ubsOpJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbW9yZS1zci1vbmx5JzpcbiAgICAgICAgJ0FmZmljaGVyIGxlcyB7bmJyRWxlbWVudHNIaWRkZW59IGRpc3BvbmliaWxpdMOpcyBtYXNxdcOpZXMnLFxuICAgICdmb2Vobi5hZ2VuZGEtdGltZXNsb3QtcGFuZWwuc2hvdy1tb3JlJzpcbiAgICAgICAgJ0FmZmljaGVyIHBsdXMgKHtuYnJFbGVtZW50c0hpZGRlbn0pJyxcbiAgICAnZm9laG4tYWdlbmRhLXRpbWVzbG90LXBhbmVsLnNob3ctbGVzcyc6ICdBZmZpY2hlciBtb2lucycsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLnByZXZpb3VzLXdlZWsnOiAnU2VtYWluZSBwcsOpY8OpZGVudGUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5wcmV2aW91cy13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBwcsOpY8OpZGVudGUgOiB7cHJldmlvdXNXZWVrfScsXG4gICAgJ2ZvZWhuLWFnZW5kYS1uYXZpZ2F0aW9uLm5leHQtd2Vlayc6ICdTZW1haW5lIHN1aXZhbnRlJyxcbiAgICAnZm9laG4tYWdlbmRhLW5hdmlnYXRpb24ubmV4dC13ZWVrLXNyLW9ubHknOlxuICAgICAgICAnU2VtYWluZSBzdWl2YW50ZSA6IHtuZXh0V2Vla30nLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5uYXYuYXJpYS1sYWJlbCc6ICdDaGFuZ2VyIGRlIHNlbWFpbmUnLFxuICAgICdmb2Vobi1hZ2VuZGEtbmF2aWdhdGlvbi5kYXRlLXBpY2tlci1idXR0b24uc2NyZWVuLXJlYWRlci5zZWxlY3RlZC1kYXRlJzpcbiAgICAgICAgJ1NlbWFpbmUgZHUge3NlbGVjdGVkRGF0ZX0gc8OpbGVjdGlvbm7DqWUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IGVzc2F5ZXIgZGUgcmVwcmVuZHJlIHZvdHJlIGRlbWFuZGUgZW4gY2xpcXVhbnQgc3VyIGxlIGxpZW4gY2ktZGVzc291cycsXG4gICAgJ2dlc2RlbS1lcnJvci5saW5rLmhhcy1yZWZlcmVuY2UnOiAnUmVwcmVuZHJlIG1hIGRlbWFuZGUnLFxuICAgICdnZXNkZW0tZXJyb3IudGV4dC5oYXMtbm8tcmVmZXJlbmNlJzpcbiAgICAgICAgJ1ZvdXMgcG91dmV6IHJlY29tbWVuY2VyIHVuZSBkZW1hbmRlIGVuIGNsaXF1YW50IHN1ciBsZSBsaWVuIGNpLWRlc3NvdXMnLFxuICAgICdnZXNkZW0tZXJyb3IubGluay5oYXMtbm8tcmVmZXJlbmNlJzogJ1JlY29tbWVuY2VyJyxcbiAgICAnZ2VzZGVtLWVycm9yLnRleHQucGVuZGluZy1wYXltZW50JzpcbiAgICAgICAgJzxwPlVuIHByb2Jsw6htZSBlc3Qgc3VydmVudSBsb3JzIGRlIGxhIHRyYW5zbWlzc2lvbiBkZSB2b3RyZSBkZW1hbmRlLjwvcD4nICtcbiAgICAgICAgJzxwPjxzdHJvbmc+TWVyY2kgZGUgbmUgcGFzIHJlZmFpcmUgdW5lIG5vdXZlbGxlIGRlbWFuZGUgdG91dCBkZSBzdWl0ZS48L3N0cm9uZz48L3A+JyArXG4gICAgICAgIFwiPHA+U2FucyBjb25maXJtYXRpb24gZGUgbGEgdHJhbnNtaXNzaW9uIGRlIHZvdHJlIGRlbWFuZGUgZGFucyB1biBkw6lsYWkgZCd1biBqb3VyLCBcIiArXG4gICAgICAgICdub3VzIHZvdXMgcHJpb25zIGRlIDxhIGhyZWY9XCJ7c3VwcG9ydExpbmt9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+Y29udGFjdGVyIGxlIHN1cHBvcnQ8L2E+LicsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS5hcmlhLWxhYmVsJzogJ0Zlcm1lciBsYSBib2l0ZSBkZSBkaWFsb2d1ZScsXG4gICAgJ2ZvZWhuLW1vZGFsLmJ0bi1jbG9zZS50aXRsZSc6ICdGZXJtZXInLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcucGx1cmFsJzpcbiAgICAgICAgJ3tjaGFyQ291bnRMZWZ0fSBjYXJhY3TDqHJlcyByZXN0YW50cycsXG4gICAgJ2ZvZWhuLXRleHRhcmVhLmNoYXJzLXJlbWFpbmluZy5zaW5ndWxhcic6XG4gICAgICAgICd7Y2hhckNvdW50TGVmdH0gY2FyYWN0w6hyZSByZXN0YW50JyxcbiAgICAnZm9laG4tdGV4dGFyZWEuY2hhcnMtcmVtYWluaW5nLnplcm8nOlxuICAgICAgICAnVm91cyBhdmV6IGF0dGVpbnQgbGUgbm9tYnJlIGRlIGNhcmFjdMOocmVzIGF1dG9yaXPDqXMnLFxuICAgICdmb2Vobi10ZXh0YXJlYS5jaGFycy1yZW1haW5pbmcuZXhjZWVkZWQnOlxuICAgICAgICAnVm91cyBhdmV6IGTDqXBhc3PDqSBsZSBub21icmUgZGUgY2FyYWN0w6hyZXMgYXV0b3Jpc8OpcyBkZSB7Y2hhckNvdW50TGVmdH0nXG59O1xuIl19
@@ -1,2 +1,2 @@
1
- export const supportedBrowsers = /((CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(14[_\.]0|14[_\.]([1-9]|\d{2,})|14[_\.]4|14[_\.]([5-9]|\d{2,})|14[_\.]8|14[_\.](9|\d{2,})|(1[5-9]|[2-9]\d|\d{3,})[_\.]\d+|15[_\.]0|15[_\.]([1-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[_\.]\d+)(?:[_\.]\d+)?)|(OperaMini(?:\/att)?\/?(\d+)?(?:\.\d+)?(?:\.\d+)?)|(Opera\/.+Opera Mobi.+Version\/(64\.0|64\.([1-9]|\d{2,})|(6[5-9]|[7-9]\d|\d{3,})\.\d+))|(Opera\/(64\.0|64\.([1-9]|\d{2,})|(6[5-9]|[7-9]\d|\d{3,})\.\d+).+Opera Mobi)|(Opera Mobi.+Opera(?:\/|\s+)(64\.0|64\.([1-9]|\d{2,})|(6[5-9]|[7-9]\d|\d{3,})\.\d+))|(SamsungBrowser\/(7\.2|7\.([3-9]|\d{2,})|7\.4|7\.([5-9]|\d{2,})|([8-9]|\d{2,})\.\d+|16\.0|16\.([1-9]|\d{2,})|(1[7-9]|[2-9]\d|\d{3,})\.\d+))|(Edge\/(85(?:\.0)?|85(?:\.([1-9]|\d{2,}))?|(8[6-9]|9\d|\d{3,})(?:\.\d+)?))|(HeadlessChrome((?:\/85\.0\.\d+)?|(?:\/85\.([1-9]|\d{2,})\.\d+)?|(?:\/(8[6-9]|9\d|\d{3,})\.\d+\.\d+)?))|((Chromium|Chrome)\/(85\.0|85\.([1-9]|\d{2,})|(8[6-9]|9\d|\d{3,})\.\d+)(?:\.\d+)?)|(Version\/(13\.1|13\.([2-9]|\d{2,})|(1[4-9]|[2-9]\d|\d{3,})\.\d+|14\.0|14\.([1-9]|\d{2,})|(1[5-9]|[2-9]\d|\d{3,})\.\d+|15\.0|15\.([1-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)(?:\.\d+)?.*Safari\/)|(Firefox\/(68\.0|68\.([1-9]|\d{2,})|(69|[7-9]\d|\d{3,})\.\d+|80\.0|80\.([1-9]|\d{2,})|(8[1-9]|9\d|\d{3,})\.\d+)\.\d+)|(Firefox\/(68\.0|68\.([1-9]|\d{2,})|(69|[7-9]\d|\d{3,})\.\d+|80\.0|80\.([1-9]|\d{2,})|(8[1-9]|9\d|\d{3,})\.\d+)(pre|[ab]\d+[a-z]*)?)/;
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydGVkLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc3VwcG9ydGVkLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsZzRDQUFnNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzdXBwb3J0ZWRCcm93c2VycyA9IC8oKENQVVsgK11PU3xpUGhvbmVbICtdT1N8Q1BVWyArXWlQaG9uZXxDUFUgSVBob25lIE9TKVsgK10rKDE0W19cXC5dMHwxNFtfXFwuXShbMS05XXxcXGR7Mix9KXwxNFtfXFwuXTR8MTRbX1xcLl0oWzUtOV18XFxkezIsfSl8MTRbX1xcLl04fDE0W19cXC5dKDl8XFxkezIsfSl8KDFbNS05XXxbMi05XVxcZHxcXGR7Myx9KVtfXFwuXVxcZCt8MTVbX1xcLl0wfDE1W19cXC5dKFsxLTldfFxcZHsyLH0pfCgxWzYtOV18WzItOV1cXGR8XFxkezMsfSlbX1xcLl1cXGQrKSg/OltfXFwuXVxcZCspPyl8KE9wZXJhTWluaSg/OlxcL2F0dCk/XFwvPyhcXGQrKT8oPzpcXC5cXGQrKT8oPzpcXC5cXGQrKT8pfChPcGVyYVxcLy4rT3BlcmEgTW9iaS4rVmVyc2lvblxcLyg2NFxcLjB8NjRcXC4oWzEtOV18XFxkezIsfSl8KDZbNS05XXxbNy05XVxcZHxcXGR7Myx9KVxcLlxcZCspKXwoT3BlcmFcXC8oNjRcXC4wfDY0XFwuKFsxLTldfFxcZHsyLH0pfCg2WzUtOV18WzctOV1cXGR8XFxkezMsfSlcXC5cXGQrKS4rT3BlcmEgTW9iaSl8KE9wZXJhIE1vYmkuK09wZXJhKD86XFwvfFxccyspKDY0XFwuMHw2NFxcLihbMS05XXxcXGR7Mix9KXwoNls1LTldfFs3LTldXFxkfFxcZHszLH0pXFwuXFxkKykpfChTYW1zdW5nQnJvd3NlclxcLyg3XFwuMnw3XFwuKFszLTldfFxcZHsyLH0pfDdcXC40fDdcXC4oWzUtOV18XFxkezIsfSl8KFs4LTldfFxcZHsyLH0pXFwuXFxkK3wxNlxcLjB8MTZcXC4oWzEtOV18XFxkezIsfSl8KDFbNy05XXxbMi05XVxcZHxcXGR7Myx9KVxcLlxcZCspKXwoRWRnZVxcLyg4NSg/OlxcLjApP3w4NSg/OlxcLihbMS05XXxcXGR7Mix9KSk/fCg4WzYtOV18OVxcZHxcXGR7Myx9KSg/OlxcLlxcZCspPykpfChIZWFkbGVzc0Nocm9tZSgoPzpcXC84NVxcLjBcXC5cXGQrKT98KD86XFwvODVcXC4oWzEtOV18XFxkezIsfSlcXC5cXGQrKT98KD86XFwvKDhbNi05XXw5XFxkfFxcZHszLH0pXFwuXFxkK1xcLlxcZCspPykpfCgoQ2hyb21pdW18Q2hyb21lKVxcLyg4NVxcLjB8ODVcXC4oWzEtOV18XFxkezIsfSl8KDhbNi05XXw5XFxkfFxcZHszLH0pXFwuXFxkKykoPzpcXC5cXGQrKT8pfChWZXJzaW9uXFwvKDEzXFwuMXwxM1xcLihbMi05XXxcXGR7Mix9KXwoMVs0LTldfFsyLTldXFxkfFxcZHszLH0pXFwuXFxkK3wxNFxcLjB8MTRcXC4oWzEtOV18XFxkezIsfSl8KDFbNS05XXxbMi05XVxcZHxcXGR7Myx9KVxcLlxcZCt8MTVcXC4wfDE1XFwuKFsxLTldfFxcZHsyLH0pfCgxWzYtOV18WzItOV1cXGR8XFxkezMsfSlcXC5cXGQrKSg/OlxcLlxcZCspPy4qU2FmYXJpXFwvKXwoRmlyZWZveFxcLyg2OFxcLjB8NjhcXC4oWzEtOV18XFxkezIsfSl8KDY5fFs3LTldXFxkfFxcZHszLH0pXFwuXFxkK3w4MFxcLjB8ODBcXC4oWzEtOV18XFxkezIsfSl8KDhbMS05XXw5XFxkfFxcZHszLH0pXFwuXFxkKylcXC5cXGQrKXwoRmlyZWZveFxcLyg2OFxcLjB8NjhcXC4oWzEtOV18XFxkezIsfSl8KDY5fFs3LTldXFxkfFxcZHszLH0pXFwuXFxkK3w4MFxcLjB8ODBcXC4oWzEtOV18XFxkezIsfSl8KDhbMS05XXw5XFxkfFxcZHszLH0pXFwuXFxkKykocHJlfFthYl1cXGQrW2Etel0qKT8pLztcbiJdfQ==
1
+ export const supportedBrowsers = /((CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(12[_\.]2|12[_\.]([3-9]|\d{2,})|12[_\.]5|12[_\.]([6-9]|\d{2,})|(1[3-9]|[2-9]\d|\d{3,})[_\.]\d+|14[_\.]0|14[_\.]([1-9]|\d{2,})|14[_\.]4|14[_\.]([5-9]|\d{2,})|14[_\.]8|14[_\.](9|\d{2,})|(1[5-9]|[2-9]\d|\d{3,})[_\.]\d+|15[_\.]0|15[_\.]([1-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[_\.]\d+|16[_\.]0|16[_\.]([1-9]|\d{2,})|(1[7-9]|[2-9]\d|\d{3,})[_\.]\d+)(?:[_\.]\d+)?)|(OperaMini(?:\/att)?\/?(\d+)?(?:\.\d+)?(?:\.\d+)?)|(Opera\/.+Opera Mobi.+Version\/(64\.0|64\.([1-9]|\d{2,})|(6[5-9]|[7-9]\d|\d{3,})\.\d+))|(Opera\/(64\.0|64\.([1-9]|\d{2,})|(6[5-9]|[7-9]\d|\d{3,})\.\d+).+Opera Mobi)|(Opera Mobi.+Opera(?:\/|\s+)(64\.0|64\.([1-9]|\d{2,})|(6[5-9]|[7-9]\d|\d{3,})\.\d+))|(SamsungBrowser\/(17\.0|17\.([1-9]|\d{2,})|(1[8-9]|[2-9]\d|\d{3,})\.\d+))|(Edge\/(85(?:\.0)?|85(?:\.([1-9]|\d{2,}))?|(8[6-9]|9\d|\d{3,})(?:\.\d+)?))|(HeadlessChrome((?:\/85\.0\.\d+)?|(?:\/85\.([1-9]|\d{2,})\.\d+)?|(?:\/(8[6-9]|9\d|\d{3,})\.\d+\.\d+)?))|((Chromium|Chrome)\/(85\.0|85\.([1-9]|\d{2,})|(8[6-9]|9\d|\d{3,})\.\d+)(?:\.\d+)?)|(Version\/(14\.0|14\.([1-9]|\d{2,})|(1[5-9]|[2-9]\d|\d{3,})\.\d+|15\.0|15\.([1-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+|16\.0|16\.([1-9]|\d{2,})|(1[7-9]|[2-9]\d|\d{3,})\.\d+)(?:\.\d+)?.*Safari\/)|(Firefox\/(68\.0|68\.([1-9]|\d{2,})|(69|[7-9]\d|\d{3,})\.\d+|80\.0|80\.([1-9]|\d{2,})|(8[1-9]|9\d|\d{3,})\.\d+)\.\d+)|(Firefox\/(68\.0|68\.([1-9]|\d{2,})|(69|[7-9]\d|\d{3,})\.\d+|80\.0|80\.([1-9]|\d{2,})|(8[1-9]|9\d|\d{3,})\.\d+)(pre|[ab]\d+[a-z]*)?)/;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydGVkLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc3VwcG9ydGVkLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsMjlDQUEyOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzdXBwb3J0ZWRCcm93c2VycyA9IC8oKENQVVsgK11PU3xpUGhvbmVbICtdT1N8Q1BVWyArXWlQaG9uZXxDUFUgSVBob25lIE9TKVsgK10rKDEyW19cXC5dMnwxMltfXFwuXShbMy05XXxcXGR7Mix9KXwxMltfXFwuXTV8MTJbX1xcLl0oWzYtOV18XFxkezIsfSl8KDFbMy05XXxbMi05XVxcZHxcXGR7Myx9KVtfXFwuXVxcZCt8MTRbX1xcLl0wfDE0W19cXC5dKFsxLTldfFxcZHsyLH0pfDE0W19cXC5dNHwxNFtfXFwuXShbNS05XXxcXGR7Mix9KXwxNFtfXFwuXTh8MTRbX1xcLl0oOXxcXGR7Mix9KXwoMVs1LTldfFsyLTldXFxkfFxcZHszLH0pW19cXC5dXFxkK3wxNVtfXFwuXTB8MTVbX1xcLl0oWzEtOV18XFxkezIsfSl8KDFbNi05XXxbMi05XVxcZHxcXGR7Myx9KVtfXFwuXVxcZCt8MTZbX1xcLl0wfDE2W19cXC5dKFsxLTldfFxcZHsyLH0pfCgxWzctOV18WzItOV1cXGR8XFxkezMsfSlbX1xcLl1cXGQrKSg/OltfXFwuXVxcZCspPyl8KE9wZXJhTWluaSg/OlxcL2F0dCk/XFwvPyhcXGQrKT8oPzpcXC5cXGQrKT8oPzpcXC5cXGQrKT8pfChPcGVyYVxcLy4rT3BlcmEgTW9iaS4rVmVyc2lvblxcLyg2NFxcLjB8NjRcXC4oWzEtOV18XFxkezIsfSl8KDZbNS05XXxbNy05XVxcZHxcXGR7Myx9KVxcLlxcZCspKXwoT3BlcmFcXC8oNjRcXC4wfDY0XFwuKFsxLTldfFxcZHsyLH0pfCg2WzUtOV18WzctOV1cXGR8XFxkezMsfSlcXC5cXGQrKS4rT3BlcmEgTW9iaSl8KE9wZXJhIE1vYmkuK09wZXJhKD86XFwvfFxccyspKDY0XFwuMHw2NFxcLihbMS05XXxcXGR7Mix9KXwoNls1LTldfFs3LTldXFxkfFxcZHszLH0pXFwuXFxkKykpfChTYW1zdW5nQnJvd3NlclxcLygxN1xcLjB8MTdcXC4oWzEtOV18XFxkezIsfSl8KDFbOC05XXxbMi05XVxcZHxcXGR7Myx9KVxcLlxcZCspKXwoRWRnZVxcLyg4NSg/OlxcLjApP3w4NSg/OlxcLihbMS05XXxcXGR7Mix9KSk/fCg4WzYtOV18OVxcZHxcXGR7Myx9KSg/OlxcLlxcZCspPykpfChIZWFkbGVzc0Nocm9tZSgoPzpcXC84NVxcLjBcXC5cXGQrKT98KD86XFwvODVcXC4oWzEtOV18XFxkezIsfSlcXC5cXGQrKT98KD86XFwvKDhbNi05XXw5XFxkfFxcZHszLH0pXFwuXFxkK1xcLlxcZCspPykpfCgoQ2hyb21pdW18Q2hyb21lKVxcLyg4NVxcLjB8ODVcXC4oWzEtOV18XFxkezIsfSl8KDhbNi05XXw5XFxkfFxcZHszLH0pXFwuXFxkKykoPzpcXC5cXGQrKT8pfChWZXJzaW9uXFwvKDE0XFwuMHwxNFxcLihbMS05XXxcXGR7Mix9KXwoMVs1LTldfFsyLTldXFxkfFxcZHszLH0pXFwuXFxkK3wxNVxcLjB8MTVcXC4oWzEtOV18XFxkezIsfSl8KDFbNi05XXxbMi05XVxcZHxcXGR7Myx9KVxcLlxcZCt8MTZcXC4wfDE2XFwuKFsxLTldfFxcZHsyLH0pfCgxWzctOV18WzItOV1cXGR8XFxkezMsfSlcXC5cXGQrKSg/OlxcLlxcZCspPy4qU2FmYXJpXFwvKXwoRmlyZWZveFxcLyg2OFxcLjB8NjhcXC4oWzEtOV18XFxkezIsfSl8KDY5fFs3LTldXFxkfFxcZHszLH0pXFwuXFxkK3w4MFxcLjB8ODBcXC4oWzEtOV18XFxkezIsfSl8KDhbMS05XXw5XFxkfFxcZHszLH0pXFwuXFxkKylcXC5cXGQrKXwoRmlyZWZveFxcLyg2OFxcLjB8NjhcXC4oWzEtOV18XFxkezIsfSl8KDY5fFs3LTldXFxkfFxcZHszLH0pXFwuXFxkK3w4MFxcLjB8ODBcXC4oWzEtOV18XFxkezIsfSl8KDhbMS05XXw5XFxkfFxcZHszLH0pXFwuXFxkKykocHJlfFthYl1cXGQrW2Etel0qKT8pLztcbiJdfQ==