barsa-sap-ui 1.0.357 → 1.0.359

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.
Files changed (58) hide show
  1. package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +12 -12
  2. package/esm2020/lib/barsa-sap-ui.module.mjs +118 -129
  3. package/esm2020/lib/barsa-table-column/barsa-table-column.component.mjs +3 -3
  4. package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +51 -18
  5. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +3 -3
  6. package/esm2020/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +11 -8
  7. package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +6 -7
  8. package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +7 -8
  9. package/esm2020/lib/card-item/card-item.component.mjs +3 -3
  10. package/esm2020/lib/column-renderer/column-renderer.component.mjs +9 -8
  11. package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +3 -3
  12. package/esm2020/lib/global-search/global-search.component.mjs +7 -6
  13. package/esm2020/lib/index.mjs +1 -3
  14. package/esm2020/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +4 -4
  15. package/esm2020/lib/layout-actions/layout-actions.component.mjs +3 -4
  16. package/esm2020/lib/list-item/list-item.component.mjs +3 -3
  17. package/esm2020/lib/models/grid-data-provider.mjs +3 -142
  18. package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +5 -6
  19. package/esm2020/lib/report-view-renderer.directive.mjs +8 -2
  20. package/esm2020/lib/sap-ui-report-base.component.mjs +2 -3
  21. package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +3 -3
  22. package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +3 -3
  23. package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +3 -3
  24. package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +3 -3
  25. package/esm2020/lib/ui-form-panel-toolbar/ui-form-panel-toolbar.component.mjs +5 -7
  26. package/esm2020/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +3 -3
  27. package/esm2020/lib/ui-grid/ui-grid.component.mjs +3 -3
  28. package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +3 -3
  29. package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +4 -5
  30. package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +4 -4
  31. package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +1 -1
  32. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +3 -3
  33. package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +57 -8
  34. package/esm2020/lib/ui-tree/ui-tree.component.mjs +8 -8
  35. package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +15 -13
  36. package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +13 -14
  37. package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +5 -6
  38. package/esm2020/public-api.mjs +1 -2
  39. package/fesm2015/barsa-sap-ui.mjs +351 -477
  40. package/fesm2015/barsa-sap-ui.mjs.map +1 -1
  41. package/fesm2020/barsa-sap-ui.mjs +351 -476
  42. package/fesm2020/barsa-sap-ui.mjs.map +1 -1
  43. package/lib/barsa-sap-ui.module.d.ts +124 -126
  44. package/lib/barsa-table-header/barsa-table-header.component.d.ts +13 -4
  45. package/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.d.ts +2 -2
  46. package/lib/global-search/global-search.component.d.ts +1 -2
  47. package/lib/index.d.ts +1 -2
  48. package/lib/models/grid-data-provider.d.ts +2 -6
  49. package/lib/report-view-renderer.directive.d.ts +3 -1
  50. package/lib/sap-ui-report-base.component.d.ts +1 -3
  51. package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +1 -1
  52. package/lib/ui-table-view/ui-table-view.component.d.ts +12 -3
  53. package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +2 -1
  54. package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +2 -4
  55. package/package.json +1 -1
  56. package/public-api.d.ts +0 -1
  57. package/esm2020/lib/page-with-header/page-with-header.component.mjs +0 -75
  58. package/lib/page-with-header/page-with-header.component.d.ts +0 -29
@@ -16,9 +16,8 @@ import * as i9 from "@fundamental-ngx/core/title";
16
16
  import * as i10 from "@fundamental-ngx/core/utils";
17
17
  import * as i11 from "@fundamental-ngx/core/radio";
18
18
  import * as i12 from "@fundamental-ngx/core/table";
19
- import * as i13 from "@fundamental-ngx/platform/button";
20
- import * as i14 from "../mask/mask.component";
21
- import * as i15 from "barsa-novin-ray-core";
19
+ import * as i13 from "../mask/mask.component";
20
+ import * as i14 from "barsa-novin-ray-core";
22
21
  export class ReportSearchFieldsManageComponent extends BaseComponent {
23
22
  constructor(_dialogRef) {
24
23
  super();
@@ -88,12 +87,12 @@ export class ReportSearchFieldsManageComponent extends BaseComponent {
88
87
  }
89
88
  }
90
89
  ReportSearchFieldsManageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportSearchFieldsManageComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component });
91
- ReportSearchFieldsManageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportSearchFieldsManageComponent, selector: "bsu-report-search-fields-manage", viewQueries: [{ propertyName: "radioButtonsComponent", predicate: RadioButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <ng-template fdTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h4 fd-title [headerSize]=\"4\">\r\n {{ 'ManageSearchPanel' | bbbTranslate }}\r\n </h4>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-bar-element>\r\n <button fd-button [label]=\"'Reset' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\r\n </fd-bar-element>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"setting-wrapper\">\r\n <bsu-mask *ngIf=\"saveing\"></bsu-mask>\r\n <table fd-table [class.saveing-form]=\"saveing\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>{{ 'View' | bbbTranslate }}</th>\r\n <th fd-table-cell>{{ 'Share' | bbbTranslate }}</th>\r\n <th fd-table-cell>{{ 'Default' | bbbTranslate }}</th>\r\n <th fd-table-cell>{{ 'ApplyAutomatically' | bbbTranslate }}</th>\r\n <th fd-table-cell></th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody fd-table-body [noBorderX]=\"true\">\r\n <ng-container *ngFor=\"let row of allSearchPanelSettings; let i = index\">\r\n <tr fd-table-row *ngIf=\"!row.IsDeleted\">\r\n <td fd-table-cell>\r\n <strong *ngIf=\"row.IsPrimary\">{{ row.Title }}</strong>\r\n <input fd-form-control *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.Title\" />\r\n </td>\r\n <td fd-table-cell>\r\n {{ row.IsPublic ? ('Public' | bbbTranslate) : '' }}\r\n </td>\r\n <td fd-table-cell>\r\n <fd-radio-button\r\n [name]=\"'radio' + i\"\r\n [value]=\"row.Title\"\r\n [selectedValue]=\"row.IsDefault ? row.Title : null\"\r\n (click)=\"onDefault(row)\"\r\n >\r\n </fd-radio-button>\r\n </td>\r\n <td fd-table-cell>\r\n <fd-checkbox *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.ApplyAutomatically\"></fd-checkbox>\r\n </td>\r\n <td fd-table-cell [fitContent]=\"true\">\r\n <fdp-button\r\n *ngIf=\"!row.IsPrimary\"\r\n buttonType=\"transparent\"\r\n glyph=\"decline\"\r\n (click)=\"onDelete(row)\"\r\n ></fdp-button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdType=\"emphasized\"\r\n (click)=\"onOkClick()\"\r\n [label]=\"'OK' | bbbTranslate\"\r\n [disabled]=\"saveing\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n (click)=\"onCancelSettings()\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [disabled]=\"saveing\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i7.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class"] }, { kind: "directive", type: i7.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i8.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdTemplate]", inputs: ["fdTemplate"] }, { kind: "component", type: i11.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required"] }, { kind: "component", type: i12.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i12.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i12.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i12.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i12.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "component", type: i13.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i14.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "pipe", type: i15.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
+ ReportSearchFieldsManageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportSearchFieldsManageComponent, selector: "bsu-report-search-fields-manage", viewQueries: [{ propertyName: "radioButtonsComponent", predicate: RadioButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'ManageSearchPanel' | bbbTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button fd-button [label]=\"'Reset' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n <bsu-mask *ngIf=\"saveing\"></bsu-mask>\n <table fd-table [class.saveing-form]=\"saveing\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>{{ 'View' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'Share' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'Default' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'ApplyAutomatically' | bbbTranslate }}</th>\n <th fd-table-cell></th>\n </tr>\n </thead>\n\n <tbody fd-table-body [noBorderX]=\"true\">\n <ng-container *ngFor=\"let row of allSearchPanelSettings; let i = index\">\n <tr fd-table-row *ngIf=\"!row.IsDeleted\">\n <td fd-table-cell>\n <strong *ngIf=\"row.IsPrimary\">{{ row.Title }}</strong>\n <input fd-form-control *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.Title\" />\n </td>\n <td fd-table-cell>\n {{ row.IsPublic ? ('Public' | bbbTranslate) : '' }}\n </td>\n <td fd-table-cell>\n <fd-radio-button\n [name]=\"'radio' + i\"\n [value]=\"row.Title\"\n [selectedValue]=\"row.IsDefault ? row.Title : null\"\n (click)=\"onDefault(row)\"\n >\n </fd-radio-button>\n </td>\n <td fd-table-cell>\n <fd-checkbox *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.ApplyAutomatically\"></fd-checkbox>\n </td>\n <td fd-table-cell [fitContent]=\"true\">\n <button\n fd-button\n *ngIf=\"!row.IsPrimary\"\n fdType=\"transparent\"\n glyph=\"decline\"\n (click)=\"onDelete(row)\"\n ></button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n (click)=\"onOkClick()\"\n [label]=\"'OK' | bbbTranslate\"\n [disabled]=\"saveing\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n (click)=\"onCancelSettings()\"\n [label]=\"'Cancel' | bbbTranslate\"\n [disabled]=\"saveing\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i7.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class"] }, { kind: "directive", type: i7.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i8.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i8.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i8.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i8.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i8.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdTemplate]", inputs: ["fdTemplate"] }, { kind: "component", type: i11.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required"] }, { kind: "component", type: i12.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i12.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i12.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i12.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i12.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "component", type: i13.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "pipe", type: i14.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportSearchFieldsManageComponent, decorators: [{
93
92
  type: Component,
94
- args: [{ selector: 'bsu-report-search-fields-manage', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <ng-template fdTemplate=\"header\">\r\n <div fd-bar-left>\r\n <fd-bar-element>\r\n <h4 fd-title [headerSize]=\"4\">\r\n {{ 'ManageSearchPanel' | bbbTranslate }}\r\n </h4>\r\n </fd-bar-element>\r\n </div>\r\n <div fd-bar-right>\r\n <fd-bar-element>\r\n <button fd-button [label]=\"'Reset' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\r\n </fd-bar-element>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"setting-wrapper\">\r\n <bsu-mask *ngIf=\"saveing\"></bsu-mask>\r\n <table fd-table [class.saveing-form]=\"saveing\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>{{ 'View' | bbbTranslate }}</th>\r\n <th fd-table-cell>{{ 'Share' | bbbTranslate }}</th>\r\n <th fd-table-cell>{{ 'Default' | bbbTranslate }}</th>\r\n <th fd-table-cell>{{ 'ApplyAutomatically' | bbbTranslate }}</th>\r\n <th fd-table-cell></th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody fd-table-body [noBorderX]=\"true\">\r\n <ng-container *ngFor=\"let row of allSearchPanelSettings; let i = index\">\r\n <tr fd-table-row *ngIf=\"!row.IsDeleted\">\r\n <td fd-table-cell>\r\n <strong *ngIf=\"row.IsPrimary\">{{ row.Title }}</strong>\r\n <input fd-form-control *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.Title\" />\r\n </td>\r\n <td fd-table-cell>\r\n {{ row.IsPublic ? ('Public' | bbbTranslate) : '' }}\r\n </td>\r\n <td fd-table-cell>\r\n <fd-radio-button\r\n [name]=\"'radio' + i\"\r\n [value]=\"row.Title\"\r\n [selectedValue]=\"row.IsDefault ? row.Title : null\"\r\n (click)=\"onDefault(row)\"\r\n >\r\n </fd-radio-button>\r\n </td>\r\n <td fd-table-cell>\r\n <fd-checkbox *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.ApplyAutomatically\"></fd-checkbox>\r\n </td>\r\n <td fd-table-cell [fitContent]=\"true\">\r\n <fdp-button\r\n *ngIf=\"!row.IsPrimary\"\r\n buttonType=\"transparent\"\r\n glyph=\"decline\"\r\n (click)=\"onDelete(row)\"\r\n ></fdp-button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n fdType=\"emphasized\"\r\n (click)=\"onOkClick()\"\r\n [label]=\"'OK' | bbbTranslate\"\r\n [disabled]=\"saveing\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n <fd-dialog-footer-button>\r\n <button\r\n fd-button\r\n (click)=\"onCancelSettings()\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n [disabled]=\"saveing\"\r\n ></button>\r\n </fd-dialog-footer-button>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
93
+ args: [{ selector: 'bsu-report-search-fields-manage', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'ManageSearchPanel' | bbbTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button fd-button [label]=\"'Reset' | bbbTranslate\" [fdType]=\"'transparent'\"></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body class=\"setting-wrapper\">\n <bsu-mask *ngIf=\"saveing\"></bsu-mask>\n <table fd-table [class.saveing-form]=\"saveing\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>{{ 'View' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'Share' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'Default' | bbbTranslate }}</th>\n <th fd-table-cell>{{ 'ApplyAutomatically' | bbbTranslate }}</th>\n <th fd-table-cell></th>\n </tr>\n </thead>\n\n <tbody fd-table-body [noBorderX]=\"true\">\n <ng-container *ngFor=\"let row of allSearchPanelSettings; let i = index\">\n <tr fd-table-row *ngIf=\"!row.IsDeleted\">\n <td fd-table-cell>\n <strong *ngIf=\"row.IsPrimary\">{{ row.Title }}</strong>\n <input fd-form-control *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.Title\" />\n </td>\n <td fd-table-cell>\n {{ row.IsPublic ? ('Public' | bbbTranslate) : '' }}\n </td>\n <td fd-table-cell>\n <fd-radio-button\n [name]=\"'radio' + i\"\n [value]=\"row.Title\"\n [selectedValue]=\"row.IsDefault ? row.Title : null\"\n (click)=\"onDefault(row)\"\n >\n </fd-radio-button>\n </td>\n <td fd-table-cell>\n <fd-checkbox *ngIf=\"!row.IsPrimary\" [(ngModel)]=\"row.ApplyAutomatically\"></fd-checkbox>\n </td>\n <td fd-table-cell [fitContent]=\"true\">\n <button\n fd-button\n *ngIf=\"!row.IsPrimary\"\n fdType=\"transparent\"\n glyph=\"decline\"\n (click)=\"onDelete(row)\"\n ></button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n (click)=\"onOkClick()\"\n [label]=\"'OK' | bbbTranslate\"\n [disabled]=\"saveing\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n (click)=\"onCancelSettings()\"\n [label]=\"'Cancel' | bbbTranslate\"\n [disabled]=\"saveing\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n" }]
95
94
  }], ctorParameters: function () { return [{ type: i1.DialogRef }]; }, propDecorators: { radioButtonsComponent: [{
96
95
  type: ViewChildren,
97
96
  args: [RadioButtonComponent]
98
97
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBYSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQU9wRixNQUFNLE9BQU8saUNBQWtDLFNBQVEsYUFBYTtJQVFoRSxZQUFvQixVQUFxQjtRQUNyQyxLQUFLLEVBQUUsQ0FBQztRQURRLGVBQVUsR0FBVixVQUFVLENBQVc7UUFEakMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUcxRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMs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SSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNsQzthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxTQUFTLENBQUMsR0FBRztRQUNULElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvQyxDQUFDLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBQ0QsUUFBUSxDQUFDLEdBQUc7UUFDUixHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDOzs4SEFsRlEsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsaUhBQzVCLG9CQUFvQix1RUNidEMsdzBIQXNGQTsyRkQxRWEsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNJLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTTtnR0FJL0MscUJBQXFCO3NCQURwQixZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmaW5hbGl6ZSwgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGlhbG9nUmVmLCBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBCYXJzYUFwaSwgU2VhcmNoUGFuZWxTZXR0aW5ncyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGRyZW4oUmFkaW9CdXR0b25Db21wb25lbnQpXHJcbiAgICByYWRpb0J1dHRvbnNDb21wb25lbnQ6IFF1ZXJ5TGlzdDxSYWRpb0J1dHRvbkNvbXBvbmVudD47XHJcblxyXG4gICAgc2F2ZWluZzogYm9vbGVhbjtcclxuICAgIGFsbFNlYXJjaFBhbmVsU2V0dGluZ3M6IFNlYXJjaFBhbmVsU2V0dGluZ3NbXTtcclxuICAgIHJlcG9ydElkOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIF9zYXZlaW5nU291cmNlID0gbmV3IFN1YmplY3Q8U2VhcmNoUGFuZWxTZXR0aW5nc1tdPigpO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nUmVmOiBEaWFsb2dSZWYpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZGlhbG9nUmVmLmRhdGEuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncykpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fc2F2ZWluZ1NvdXJjZVxyXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gKHRoaXMuc2F2ZWluZyA9IHRydWUpKSxcclxuICAgICAgICAgICAgICAgIG1hcCgoc2V0dGluZ3M6IFNlYXJjaFBhbmVsU2V0dGluZ3NbXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3Q6IGFueVtdID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuZm9yRWFjaCgoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LnB1c2gobmV3IEJhcnNhQXBpLkNvbW1vbi5NZXRhT2JqZWN0V2ViKHNldHRpbmcpKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGlzdDtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgZXhoYXVzdE1hcCgoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhbGxTZWFyY2hQYW5lbFNldHRpbmdzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8U2VhcmNoUGFuZWxTZXR0aW5nc1tdPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZEFzeW5jKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcmFtZXRlcnM6IFthbGxTZWFyY2hQYW5lbFNldHRpbmdzXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZDogJ1NhdmVBcnJheVNlYXJjaFBhbmVsU2V0dGluZ3MnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VjY2Vzc0ZuOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhbGxTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWlsRm46ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKFtdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIHRhcCgoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncykgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncy5sZW5ndGggPiAwID8gdGhpcy5hbGxTZWFyY2hQYW5lbFNldHRpbmdzIDogW10pXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuc2F2ZWluZyA9IGZhbHNlKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBvbkNhbmNlbFNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gICAgb25Pa0NsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG1vZGlmaWVkU2V0dGluZ3M6IFNlYXJjaFBhbmVsU2V0dGluZ3NbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IGFsbFNldHRpbmdzID0gdGhpcy5fZGlhbG9nUmVmLmRhdGEuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncztcclxuICAgICAgICB0aGlzLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3MuZm9yRWFjaCgoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzID0gYWxsU2V0dGluZ3MuZmluZCgoYykgPT4gc2V0dGluZy5JZCA9PT0gYy5JZCk7XHJcbiAgICAgICAgICAgIGlmIChzICE9PSBzZXR0aW5nICYmIHNldHRpbmcuSWQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGlzTW9kaWZpZWQgPSBPYmplY3Qua2V5cyhzKS5zb21lKChjKSA9PiBzW2NdICE9PSBzZXR0aW5nW2NdKSB8fCBzZXR0aW5nLklzRGVsZXRlZDtcclxuICAgICAgICAgICAgICAgIGlmIChpc01vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRTZXR0aW5ncy5wdXNoKHNldHRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKG1vZGlmaWVkU2V0dGluZ3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5kaXNtaXNzKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc2F2ZWluZ1NvdXJjZS5uZXh0KG1vZGlmaWVkU2V0dGluZ3MpO1xyXG4gICAgfVxyXG4gICAgb25EZWZhdWx0KHJvdyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncy5maW5kKChjKSA9PiAoYy5Jc0RlZmF1bHQgPSBmYWxzZSkpO1xyXG5cclxuICAgICAgICB0aGlzLnJhZGlvQnV0dG9uc0NvbXBvbmVudC50b0FycmF5KCkuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICBjLnNlbGVjdGVkVmFsdWUgPSByb3cuQ2FwdGlvbjtcclxuICAgICAgICB9KTtcclxuICAgICAgICByb3cuSXNEZWZhdWx0ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIG9uRGVsZXRlKHJvdyk6IHZvaWQge1xyXG4gICAgICAgIHJvdy5Jc0RlbGV0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1kaWFsb2c+XHJcbiAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgZmRUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxyXG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNCBmZC10aXRsZSBbaGVhZGVyU2l6ZV09XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdNYW5hZ2VTZWFyY2hQYW5lbCcgfCBiYmJUcmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxyXG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gZmQtYnV0dG9uIFtsYWJlbF09XCInUmVzZXQnIHwgYmJiVHJhbnNsYXRlXCIgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgPGZkLWRpYWxvZy1ib2R5IGNsYXNzPVwic2V0dGluZy13cmFwcGVyXCI+XHJcbiAgICAgICAgPGJzdS1tYXNrICpuZ0lmPVwic2F2ZWluZ1wiPjwvYnN1LW1hc2s+XHJcbiAgICAgICAgPHRhYmxlIGZkLXRhYmxlIFtjbGFzcy5zYXZlaW5nLWZvcm1dPVwic2F2ZWluZ1wiPlxyXG4gICAgICAgICAgICA8dGhlYWQgZmQtdGFibGUtaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPHRyIGZkLXRhYmxlLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbD57eyAnVmlldycgfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPnt7ICdTaGFyZScgfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPnt7ICdEZWZhdWx0JyB8IGJiYlRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+e3sgJ0FwcGx5QXV0b21hdGljYWxseScgfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG5cclxuICAgICAgICAgICAgPHRib2R5IGZkLXRhYmxlLWJvZHkgW25vQm9yZGVyWF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgYWxsU2VhcmNoUGFuZWxTZXR0aW5nczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciBmZC10YWJsZS1yb3cgKm5nSWY9XCIhcm93LklzRGVsZXRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgZmQtdGFibGUtY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgKm5nSWY9XCJyb3cuSXNQcmltYXJ5XCI+e3sgcm93LlRpdGxlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZmQtZm9ybS1jb250cm9sICpuZ0lmPVwiIXJvdy5Jc1ByaW1hcnlcIiBbKG5nTW9kZWwpXT1cInJvdy5UaXRsZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBmZC10YWJsZS1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcm93LklzUHVibGljID8gKCdQdWJsaWMnIHwgYmJiVHJhbnNsYXRlKSA6ICcnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBmZC10YWJsZS1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXJhZGlvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidyYWRpbycgKyBpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicm93LlRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJyb3cuSXNEZWZhdWx0ID8gcm93LlRpdGxlIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVmYXVsdChyb3cpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgZmQtdGFibGUtY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveCAqbmdJZj1cIiFyb3cuSXNQcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJyb3cuQXBwbHlBdXRvbWF0aWNhbGx5XCI+PC9mZC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGZkLXRhYmxlLWNlbGwgW2ZpdENvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFyb3cuSXNQcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidHJhbnNwYXJlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKHJvdylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvZmQtZGlhbG9nLWJvZHk+XHJcblxyXG4gICAgPGZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT2tDbGljaygpXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT0snIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzYXZlaW5nXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XHJcbiAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNhbmNlbFNldHRpbmdzKClcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzYXZlaW5nXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XHJcbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XHJcbjwvZmQtZGlhbG9nPlxyXG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBYSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBT3BGLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxhQUFhO0lBUWhFLFlBQW9CLFVBQXFCO1FBQ3JDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQURqQyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUF5QixDQUFDO1FBRzFELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxD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LENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xDO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFNBQVMsQ0FBQyxHQUFHO1FBQ1QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9DLENBQUMsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxRQUFRLENBQUMsR0FBRztRQUNSLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OzhIQWxGUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyxpSEFDNUIsb0JBQW9CLHVFQ2J0QywyckhBdUZBOzJGRDNFYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0ksaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNO2dHQUkvQyxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZpbmFsaXplLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYsIFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIEJhcnNhQXBpLCBTZWFyY2hQYW5lbFNldHRpbmdzIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXJlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZHJlbihSYWRpb0J1dHRvbkNvbXBvbmVudClcclxuICAgIHJhZGlvQnV0dG9uc0NvbXBvbmVudDogUXVlcnlMaXN0PFJhZGlvQnV0dG9uQ29tcG9uZW50PjtcclxuXHJcbiAgICBzYXZlaW5nOiBib29sZWFuO1xyXG4gICAgYWxsU2VhcmNoUGFuZWxTZXR0aW5nczogU2VhcmNoUGFuZWxTZXR0aW5nc1tdO1xyXG4gICAgcmVwb3J0SWQ6IHN0cmluZztcclxuICAgIHByaXZhdGUgX3NhdmVpbmdTb3VyY2UgPSBuZXcgU3ViamVjdDxTZWFyY2hQYW5lbFNldHRpbmdzW10+KCk7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2dSZWY6IERpYWxvZ1JlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5hbGxTZWFyY2hQYW5lbFNldHRpbmdzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLl9kaWFsb2dSZWYuZGF0YS5hbGxTZWFyY2hQYW5lbFNldHRpbmdzKSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9zYXZlaW5nU291cmNlXHJcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiAodGhpcy5zYXZlaW5nID0gdHJ1ZSkpLFxyXG4gICAgICAgICAgICAgICAgbWFwKChzZXR0aW5nczogU2VhcmNoUGFuZWxTZXR0aW5nc1tdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlzdDogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QucHVzaChuZXcgQmFyc2FBcGkuQ29tbW9uLk1ldGFPYmplY3RXZWIoc2V0dGluZykpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsaXN0O1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBleGhhdXN0TWFwKChhbGxTZWFyY2hQYW5lbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxTZWFyY2hQYW5lbFNldHRpbmdzW10+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3LlJ1bkJsTWV0aG9kQXN5bmMoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVyczogW2FsbFNlYXJjaFBhbmVsU2V0dGluZ3NdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kOiAnU2F2ZUFycmF5U2VhcmNoUGFuZWxTZXR0aW5ncycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWNjZXNzRm46ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhaWxGbjogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoW10pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgdGFwKChhbGxTZWFyY2hQYW5lbFNldHRpbmdzKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShhbGxTZWFyY2hQYW5lbFNldHRpbmdzLmxlbmd0aCA+IDAgPyB0aGlzLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3MgOiBbXSlcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZlaW5nID0gZmFsc2UpKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIG9uQ2FuY2VsU2V0dGluZ3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgICBvbk9rQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbW9kaWZpZWRTZXR0aW5nczogU2VhcmNoUGFuZWxTZXR0aW5nc1tdID0gW107XHJcbiAgICAgICAgY29uc3QgYWxsU2V0dGluZ3MgPSB0aGlzLl9kaWFsb2dSZWYuZGF0YS5hbGxTZWFyY2hQYW5lbFNldHRpbmdzO1xyXG4gICAgICAgIHRoaXMuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncy5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHMgPSBhbGxTZXR0aW5ncy5maW5kKChjKSA9PiBzZXR0aW5nLklkID09PSBjLklkKTtcclxuICAgICAgICAgICAgaWYgKHMgIT09IHNldHRpbmcgJiYgc2V0dGluZy5JZCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXNNb2RpZmllZCA9IE9iamVjdC5rZXlzKHMpLnNvbWUoKGMpID0+IHNbY10gIT09IHNldHRpbmdbY10pIHx8IHNldHRpbmcuSXNEZWxldGVkO1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzTW9kaWZpZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBtb2RpZmllZFNldHRpbmdzLnB1c2goc2V0dGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAobW9kaWZpZWRTZXR0aW5ncy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmRpc21pc3MoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9zYXZlaW5nU291cmNlLm5leHQobW9kaWZpZWRTZXR0aW5ncyk7XHJcbiAgICB9XHJcbiAgICBvbkRlZmF1bHQocm93KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hbGxTZWFyY2hQYW5lbFNldHRpbmdzLmZpbmQoKGMpID0+IChjLklzRGVmYXVsdCA9IGZhbHNlKSk7XHJcblxyXG4gICAgICAgIHRoaXMucmFkaW9CdXR0b25zQ29tcG9uZW50LnRvQXJyYXkoKS5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgICAgIGMuc2VsZWN0ZWRWYWx1ZSA9IHJvdy5DYXB0aW9uO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJvdy5Jc0RlZmF1bHQgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgb25EZWxldGUocm93KTogdm9pZCB7XHJcbiAgICAgICAgcm93LklzRGVsZXRlZCA9IHRydWU7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWRpYWxvZz5cbiAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGZkVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8aDQgZmQtdGl0bGUgW2hlYWRlclNpemVdPVwiNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ01hbmFnZVNlYXJjaFBhbmVsJyB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gW2xhYmVsXT1cIidSZXNldCcgfCBiYmJUcmFuc2xhdGVcIiBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgIDxmZC1kaWFsb2ctYm9keSBjbGFzcz1cInNldHRpbmctd3JhcHBlclwiPlxuICAgICAgICA8YnN1LW1hc2sgKm5nSWY9XCJzYXZlaW5nXCI+PC9ic3UtbWFzaz5cbiAgICAgICAgPHRhYmxlIGZkLXRhYmxlIFtjbGFzcy5zYXZlaW5nLWZvcm1dPVwic2F2ZWluZ1wiPlxuICAgICAgICAgICAgPHRoZWFkIGZkLXRhYmxlLWhlYWRlcj5cbiAgICAgICAgICAgICAgICA8dHIgZmQtdGFibGUtcm93PlxuICAgICAgICAgICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbD57eyAnVmlldycgfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbD57eyAnU2hhcmUnIHwgYmJiVHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+e3sgJ0RlZmF1bHQnIHwgYmJiVHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+e3sgJ0FwcGx5QXV0b21hdGljYWxseScgfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbD48L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuXG4gICAgICAgICAgICA8dGJvZHkgZmQtdGFibGUtYm9keSBbbm9Cb3JkZXJYXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgYWxsU2VhcmNoUGFuZWxTZXR0aW5nczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8dHIgZmQtdGFibGUtcm93ICpuZ0lmPVwiIXJvdy5Jc0RlbGV0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBmZC10YWJsZS1jZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgKm5nSWY9XCJyb3cuSXNQcmltYXJ5XCI+e3sgcm93LlRpdGxlIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZkLWZvcm0tY29udHJvbCAqbmdJZj1cIiFyb3cuSXNQcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJyb3cuVGl0bGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBmZC10YWJsZS1jZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJvdy5Jc1B1YmxpYyA/ICgnUHVibGljJyB8IGJiYlRyYW5zbGF0ZSkgOiAnJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBmZC10YWJsZS1jZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1yYWRpby1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ3JhZGlvJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicm93LlRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwicm93LklzRGVmYXVsdCA/IHJvdy5UaXRsZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWZhdWx0KHJvdylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgZmQtdGFibGUtY2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3ggKm5nSWY9XCIhcm93LklzUHJpbWFyeVwiIFsobmdNb2RlbCldPVwicm93LkFwcGx5QXV0b21hdGljYWxseVwiPjwvZmQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGZkLXRhYmxlLWNlbGwgW2ZpdENvbnRlbnRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJvdy5Jc1ByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShyb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuXG4gICAgPGZkLWRpYWxvZy1mb290ZXI+XG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Pa0NsaWNrKClcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT0snIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2F2ZWluZ1wiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWxTZXR0aW5ncygpXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NhbmNlbCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzYXZlaW5nXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cbiJdfQ==
@@ -76,6 +76,7 @@ export class ReportViewRendererDirective extends BaseDirective {
76
76
  instance.contextView = this.contextView;
77
77
  instance.isCheckList = this.isCheckList;
78
78
  instance.columns = this.columns;
79
+ instance.gridFreeColumnSizing = this.gridFreeColumnSizing;
79
80
  instance.inDialog = this.inDialog;
80
81
  instance.isMultiSelect = this.isMultiSelect;
81
82
  instance.columnsCount = this.columnsCount;
@@ -107,6 +108,7 @@ export class ReportViewRendererDirective extends BaseDirective {
107
108
  instance.navigationArrow = this.navigationArrow;
108
109
  instance.selectedMo = this.selectedMo;
109
110
  instance.hasSelected = this.hasSelected;
111
+ instance.rtl = this.rtl;
110
112
  instance.resetWorkflowState?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {
111
113
  this.resetWorkflowState.emit(mo);
112
114
  });
@@ -181,7 +183,7 @@ export class ReportViewRendererDirective extends BaseDirective {
181
183
  }
182
184
  }
183
185
  ReportViewRendererDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewRendererDirective, deps: [{ token: i1.PortalService }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
184
- ReportViewRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewRendererDirective, selector: "[reportViewRenderer]", inputs: { view: "view", moDataList: "moDataList", allChecked: "allChecked", groupby: "groupby", isCheckList: "isCheckList", selectedCount: "selectedCount", hasSummary: "hasSummary", relationList: "relationList", columns: "columns", columnsCount: "columnsCount", secondaryColumns: "secondaryColumns", contextMenuItems: "contextMenuItems", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", mobileOrTablet: "mobileOrTablet", access: "access", title: "title", customFieldInfo: "customFieldInfo", selectedMo: "selectedMo", allColumns: "allColumns", viewSetting: "viewSetting", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", allowInlineEdit: "allowInlineEdit", popin: "popin", hasSelected: "hasSelected", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", typeDefId: "typeDefId", containerWidth: "containerWidth", extraRelation: "extraRelation", contextView: "contextView", contentDensity: "contentDensity", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", inDialog: "inDialog", isMultiSelect: "isMultiSelect", disableResponsive: "disableResponsive", hideSearchpanel: "hideSearchpanel", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo" }, outputs: { editFormPanelCancel: "editFormPanelCancel", editFormPanelValueChange: "editFormPanelValueChange", resetWorkflowState: "resetWorkflowState", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter", deselectAll: "deselectAll", rowCheck: "rowCheck", rowClick: "rowClick", executeToolbarButton: "executeToolbarButton", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", hasDetailsInRow: "hasDetailsInRow", allCheckbox: "allCheckbox", mandatory: "mandatory", editFormPanelSave: "editFormPanelSave", columnResized: "columnResized", selectNextInlineRecord: "selectNextInlineRecord", workflowShareButtons: "workflowShareButtons" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
186
+ ReportViewRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewRendererDirective, selector: "[reportViewRenderer]", inputs: { view: "view", moDataList: "moDataList", allChecked: "allChecked", groupby: "groupby", isCheckList: "isCheckList", selectedCount: "selectedCount", hasSummary: "hasSummary", relationList: "relationList", columns: "columns", columnsCount: "columnsCount", secondaryColumns: "secondaryColumns", contextMenuItems: "contextMenuItems", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", mobileOrTablet: "mobileOrTablet", access: "access", title: "title", customFieldInfo: "customFieldInfo", selectedMo: "selectedMo", allColumns: "allColumns", viewSetting: "viewSetting", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", allowInlineEdit: "allowInlineEdit", popin: "popin", hasSelected: "hasSelected", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", typeDefId: "typeDefId", containerWidth: "containerWidth", extraRelation: "extraRelation", contextView: "contextView", contentDensity: "contentDensity", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", inDialog: "inDialog", isMultiSelect: "isMultiSelect", rtl: "rtl", disableResponsive: "disableResponsive", hideSearchpanel: "hideSearchpanel", gridFreeColumnSizing: "gridFreeColumnSizing", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo" }, outputs: { editFormPanelCancel: "editFormPanelCancel", editFormPanelValueChange: "editFormPanelValueChange", resetWorkflowState: "resetWorkflowState", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter", deselectAll: "deselectAll", rowCheck: "rowCheck", rowClick: "rowClick", executeToolbarButton: "executeToolbarButton", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", hasDetailsInRow: "hasDetailsInRow", allCheckbox: "allCheckbox", mandatory: "mandatory", editFormPanelSave: "editFormPanelSave", columnResized: "columnResized", selectNextInlineRecord: "selectNextInlineRecord", workflowShareButtons: "workflowShareButtons" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
185
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewRendererDirective, decorators: [{
186
188
  type: Directive,
187
189
  args: [{
@@ -265,10 +267,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
265
267
  type: Input
266
268
  }], isMultiSelect: [{
267
269
  type: Input
270
+ }], rtl: [{
271
+ type: Input
268
272
  }], disableResponsive: [{
269
273
  type: Input
270
274
  }], hideSearchpanel: [{
271
275
  type: Input
276
+ }], gridFreeColumnSizing: [{
277
+ type: Input
272
278
  }], cartableTemplates: [{
273
279
  type: Input
274
280
  }], cartableChildsMo: [{
@@ -320,4 +326,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
320
326
  }], workflowShareButtons: [{
321
327
  type: Output
322
328
  }] } });
323
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvcmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVILGFBQWEsRUFlaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQXVFMUQsWUFDWSxjQUE2QixFQUM3QixJQUFzQixFQUN0QixTQUFtQixFQUNqQixHQUFlO1FBRXpCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxILG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQTlCbkIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFbkUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM3QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF5QixD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O2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQge1xuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBCYXNlRGlyZWN0aXZlLFxuICAgIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzLFxuICAgIERlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICBEZXZpY2VTaXplLFxuICAgIEZvcm1TZXR0aW5nLFxuICAgIE1lbnVJdGVtLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBSZWxhdGlvbkl0ZW1UeXBlLFxuICAgIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgU29ydFNldHRpbmcsXG4gICAgVWlSZXBvcnRWaWV3QmFzZSxcbiAgICBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyxcbiAgICBTaGFyZUJ1dHRvbnNDaG9pY2VEZWZcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZXBvcnRWaWV3UmVuZGVyZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdmlldzogVWlSZXBvcnRWaWV3QmFzZTtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgQElucHV0KCkgYWxsQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBncm91cGJ5OiBTb3J0U2V0dGluZ1tdO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkQ291bnQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSBoYXNTdW1tYXJ5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJlbGF0aW9uTGlzdDogQXJyYXk8UmVsYXRpb25JdGVtVHlwZT47XG4gICAgQElucHV0KCkgY29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xuICAgIEBJbnB1dCgpIGNvbHVtbnNDb3VudDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNlY29uZGFyeUNvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXTtcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudUl0ZW1zOiBNZW51SXRlbVtdO1xuICAgIEBJbnB1dCgpIGNvbmRpdGlvbmFsRm9ybWF0czogYW55W107XG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgbW9iaWxlT3JUYWJsZXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWNjZXNzOiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBjdXN0b21GaWVsZEluZm86IE1ldGFvYmplY3REYXRhTW9kZWwgfCBhbnk7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgQElucHV0KCkgdmlld1NldHRpbmc6IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9ubHlJbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFsbG93SW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwb3BpbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoYXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmb3JtU2V0dGluZzogRm9ybVNldHRpbmc7XG4gICAgQElucHV0KCkgZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbmF2aWdhdGlvbkFycm93OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgY29udGFpbmVyV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBleHRyYVJlbGF0aW9uOiBhbnk7XG4gICAgQElucHV0KCkgY29udGV4dFZpZXc6IGFueTtcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XG4gICAgQElucHV0KCkgaGlkZU9wZW5JY29uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9wZW5PbkNsaWNrOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVNlYXJjaHBhbmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhcnRhYmxlVGVtcGxhdGVzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1TZXR0aW5nIH07XG4gICAgQElucHV0KCkgY2FydGFibGVDaGlsZHNNbzogeyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH07XG5cbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuXG4gICAgQE91dHB1dCgpIHJlc2V0V29ya2Zsb3dTdGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB1bHZDb21tYW5kQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZGVzZWxlY3RBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleDsgY2F1c2U/IH0+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xuICAgIEBPdXRwdXQoKSBleGVjdXRlVG9vbGJhckJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSWQ6IHN0cmluZzsgb3B0aW9ucz86IGFueSB9PigpO1xuICAgIEBPdXRwdXQoKSBleHBhbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgdHJhY2tCeVNlbGVjdGVkRm4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5kZXg7IHJlY29yZCB9PigpO1xuICAgIEBPdXRwdXQoKSBjYXJ0YWJsZUZvcm1DbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5kZXg7IG1vIH0+KCk7XG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ld01vID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSB1cGRhdGVNbyA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgaGFzRGV0YWlsc0luUm93ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBhbGxDaGVja2JveCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgbWFuZGF0b3J5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgY29sdW1uUmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8Y29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3M+KCk7XG4gICAgQE91dHB1dCgpIHNlbGVjdE5leHRJbmxpbmVSZWNvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93U2hhcmVCdXR0b25zID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZUJ1dHRvbnNDaG9pY2VEZWY+KCk7XG5cbiAgICBfcmVwb3J0Vmlld1JlZjogQ29tcG9uZW50UmVmPFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPj47XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3ZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9lbCk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB2aWV3IH0gPSBjaGFuZ2VzO1xuXG4gICAgICAgIGlmICh2aWV3ICYmICF2aWV3LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXBvcnRWaWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX3Zjci5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5faW5zZXJ0Vmlldyh2aWV3LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcmVwb3J0Vmlld1JlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlcG9ydFZpZXdSZWYuaW5zdGFuY2UubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX2luc2VydFZpZXcodGhpcy52aWV3KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3JlcG9ydFZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaW5zZXJ0Vmlldyh2aWV3KTogdm9pZCB7XG4gICAgICAgIGlmICghdmlldykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgTW9kdWxlLCBNb2R1bGVGaWxlTmFtZSwgTmFtZSwgU2VsZWN0b3IgfSA9IHZpZXcuVWlDb21wb25lbnQ7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoTW9kdWxlLCBNb2R1bGVGaWxlTmFtZSwgTmFtZSwgU2VsZWN0b3IsIHRoaXMuX2luamVjdG9yKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8UmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNhcnRhYmxlVGVtcGxhdGVzID0gdGhpcy5jYXJ0YWJsZVRlbXBsYXRlcztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jYXJ0YWJsZUNoaWxkc01vID0gdGhpcy5jYXJ0YWJsZUNoaWxkc01vO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3Q7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZ3JvdXBieSA9IHRoaXMuZ3JvdXBieTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oaWRlU2VhcmNocGFuZWwgPSB0aGlzLmhpZGVTZWFyY2hwYW5lbDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jdXN0b21GaWVsZEluZm8gPSB0aGlzLmN1c3RvbUZpZWxkSW5mbztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kaXNhYmxlUmVzcG9uc2l2ZSA9IHRoaXMuZGlzYWJsZVJlc3BvbnNpdmU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucG9waW4gPSB0aGlzLnBvcGluO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbnRleHRWaWV3ID0gdGhpcy5jb250ZXh0VmlldztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5pc0NoZWNrTGlzdCA9IHRoaXMuaXNDaGVja0xpc3Q7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29sdW1ucyA9IHRoaXMuY29sdW1ucztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5pbkRpYWxvZyA9IHRoaXMuaW5EaWFsb2c7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaXNNdWx0aVNlbGVjdCA9IHRoaXMuaXNNdWx0aVNlbGVjdDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb2x1bW5zQ291bnQgPSB0aGlzLmNvbHVtbnNDb3VudDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5leHRyYVJlbGF0aW9uID0gdGhpcy5leHRyYVJlbGF0aW9uO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnNlY29uZGFyeUNvbHVtbnMgPSB0aGlzLnNlY29uZGFyeUNvbHVtbnM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGV4dE1lbnVJdGVtcyA9IHRoaXMuY29udGV4dE1lbnVJdGVtcztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb25kaXRpb25hbEZvcm1hdHMgPSB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0cztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudSA9IHRoaXMuZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UudHlwZURlZklkID0gdGhpcy50eXBlRGVmSWQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGV2aWNlTmFtZSA9IHRoaXMuZGV2aWNlTmFtZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZXZpY2VTaXplID0gdGhpcy5kZXZpY2VTaXplO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm1vYmlsZU9yVGFibGV0ID0gdGhpcy5tb2JpbGVPclRhYmxldDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb250YWluZXJXaWR0aCA9IHRoaXMuY29udGFpbmVyV2lkdGg7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29sdW1uc0NvdW50ID0gdGhpcy5jb2x1bW5zQ291bnQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uuc2VsZWN0ZWRDb3VudCA9IHRoaXMuc2VsZWN0ZWRDb3VudDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oaWRlT3Blbkljb24gPSB0aGlzLmhpZGVPcGVuSWNvbjtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5vcGVuT25DbGljayA9IHRoaXMub3Blbk9uQ2xpY2s7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuYWNjZXNzID0gdGhpcy5hY2Nlc3M7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UudGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmhhc1N1bW1hcnkgPSB0aGlzLmhhc1N1bW1hcnk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGVudERlbnNpdHkgPSB0aGlzLmNvbnRlbnREZW5zaXR5O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnJlbGF0aW9uTGlzdCA9IHRoaXMucmVsYXRpb25MaXN0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbENvbHVtbnMgPSB0aGlzLmFsbENvbHVtbnMgPz8gdGhpcy5jb2x1bW5zO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnZpZXdTZXR0aW5nID0gdmlldy5VaUNvbXBvbmVudC5TZXR0aW5ncztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5pbmxpbmVFZGl0TW9kZSA9IHRoaXMuaW5saW5lRWRpdE1vZGU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uub25seUlubGluZUVkaXQgPSB0aGlzLm9ubHlJbmxpbmVFZGl0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbG93SW5saW5lRWRpdCA9IHRoaXMuYWxsb3dJbmxpbmVFZGl0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmZvcm1TZXR0aW5nID0gdGhpcy5mb3JtU2V0dGluZztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5uYXZpZ2F0aW9uQXJyb3cgPSB0aGlzLm5hdmlnYXRpb25BcnJvdztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zZWxlY3RlZE1vID0gdGhpcy5zZWxlY3RlZE1vO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmhhc1NlbGVjdGVkID0gdGhpcy5oYXNTZWxlY3RlZDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5yZXNldFdvcmtmbG93U3RhdGU/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRXb3JrZmxvd1N0YXRlLmVtaXQobW8pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZT8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UuZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uuc2VsZWN0TmV4dElubGluZVJlY29yZD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQobW8pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmVkaXRGb3JtUGFuZWxDYW5jZWw/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbENhbmNlbC5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS51bHZDb21tYW5kQ2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51bHZDb21tYW5kQ2xpY2suZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zb3J0QXNjZW5kaW5nPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydEFzY2VuZGluZy5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnNvcnREZXNjZW5kaW5nPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydERlc2NlbmRpbmcuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5maWx0ZXI/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbHVtblJlc2l6ZWQ/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5SZXNpemVkLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5yb3dDaGVjaz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZTogeyBtbzsgaW5kZXg7IGNhdXNlPyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93Q2hlY2suZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZXNlbGVjdEFsbD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzZWxlY3RBbGwuZW1pdCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnJvd0NsaWNrPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlOiB7IG1vOyBpbmRleCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93Q2xpY2suZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5leHBhbmRDbGljaz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZTogTWV0YW9iamVjdERhdGFNb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZENsaWNrLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuYWxsQ2hlY2tib3g/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxDaGVja2JveC5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmVkaXRGb3JtUGFuZWxTYXZlPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxTYXZlLmVtaXQobW8pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNhcnRhYmxlRm9ybUNsb3NlZD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZTogeyBtbzsgaW5kZXggfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcnRhYmxlRm9ybUNsb3NlZC5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNyZWF0ZU5ld01vPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVOZXdNby5lbWl0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaGFzRGV0YWlsc0luUm93Py5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc0RldGFpbHNJblJvdy5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS51cGRhdGVNbz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVNby5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5tYW5kYXRvcnk/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGlzVmFsaWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYW5kYXRvcnkuZW1pdChpc1ZhbGlkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5leGVjdXRlVG9vbGJhckJ1dHRvbj8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGVUb29sYmFyQnV0dG9uLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uud29ya2Zsb3dTaGFyZUJ1dHRvbnNcbiAgICAgICAgICAgICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZTogU2hhcmVCdXR0b25zQ2hvaWNlRGVmKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndvcmtmbG93U2hhcmVCdXR0b25zLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zjci5pbnNlcnQoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXBvcnRWaWV3UmVmID0gY29tcG9uZW50UmVmO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
329
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvcmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVILGFBQWEsRUFlaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQXlFMUQsWUFDWSxjQUE2QixFQUM3QixJQUFzQixFQUN0QixTQUFtQixFQUNqQixHQUFlO1FBRXpCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxILG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQTlCbkIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFbkUsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM3QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF5QixD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TTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIEJhc2VEaXJlY3RpdmUsXG4gICAgY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MsXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxuICAgIERldmljZVNpemUsXG4gICAgRm9ybVNldHRpbmcsXG4gICAgTWVudUl0ZW0sXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIFJlbGF0aW9uSXRlbVR5cGUsXG4gICAgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcbiAgICBTb3J0U2V0dGluZyxcbiAgICBVaVJlcG9ydFZpZXdCYXNlLFxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nLFxuICAgIFNoYXJlQnV0dG9uc0Nob2ljZURlZlxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JlcG9ydFZpZXdSZW5kZXJlcl0nXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdSZW5kZXJlckRpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB2aWV3OiBVaVJlcG9ydFZpZXdCYXNlO1xuICAgIEBJbnB1dCgpIG1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBASW5wdXQoKSBhbGxDaGVja2VkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGdyb3VwYnk6IFNvcnRTZXR0aW5nW107XG4gICAgQElucHV0KCkgaXNDaGVja0xpc3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDb3VudDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcmVsYXRpb25MaXN0OiBBcnJheTxSZWxhdGlvbkl0ZW1UeXBlPjtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgQElucHV0KCkgY29sdW1uc0NvdW50OiBudW1iZXI7XG4gICAgQElucHV0KCkgc2Vjb25kYXJ5Q29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xuICAgIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IE1lbnVJdGVtW107XG4gICAgQElucHV0KCkgY29uZGl0aW9uYWxGb3JtYXRzOiBhbnlbXTtcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBEZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBtb2JpbGVPclRhYmxldDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhY2Nlc3M6IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkSW5mbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IGFueTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIGFsbENvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXTtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc7XG4gICAgQElucHV0KCkgaW5saW5lRWRpdE1vZGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgb25seUlubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWxsb3dJbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHBvcGluOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhhc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGZvcm1TZXR0aW5nOiBGb3JtU2V0dGluZztcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBuYXZpZ2F0aW9uQXJyb3c6IHN0cmluZztcbiAgICBASW5wdXQoKSB0eXBlRGVmSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBjb250YWluZXJXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGV4dHJhUmVsYXRpb246IGFueTtcbiAgICBASW5wdXQoKSBjb250ZXh0VmlldzogYW55O1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XG4gICAgQElucHV0KCkgb3Blbk9uQ2xpY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBydGw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVNlYXJjaHBhbmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGdyaWRGcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNhcnRhYmxlVGVtcGxhdGVzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1TZXR0aW5nIH07XG4gICAgQElucHV0KCkgY2FydGFibGVDaGlsZHNNbzogeyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH07XG5cbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuXG4gICAgQE91dHB1dCgpIHJlc2V0V29ya2Zsb3dTdGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB1bHZDb21tYW5kQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZGVzZWxlY3RBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleDsgY2F1c2U/IH0+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xuICAgIEBPdXRwdXQoKSBleGVjdXRlVG9vbGJhckJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSWQ6IHN0cmluZzsgb3B0aW9ucz86IGFueSB9PigpO1xuICAgIEBPdXRwdXQoKSBleHBhbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgdHJhY2tCeVNlbGVjdGVkRm4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5kZXg7IHJlY29yZCB9PigpO1xuICAgIEBPdXRwdXQoKSBjYXJ0YWJsZUZvcm1DbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5kZXg7IG1vIH0+KCk7XG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ld01vID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSB1cGRhdGVNbyA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgaGFzRGV0YWlsc0luUm93ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBhbGxDaGVja2JveCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgbWFuZGF0b3J5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgY29sdW1uUmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8Y29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3M+KCk7XG4gICAgQE91dHB1dCgpIHNlbGVjdE5leHRJbmxpbmVSZWNvcmQgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93U2hhcmVCdXR0b25zID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZUJ1dHRvbnNDaG9pY2VEZWY+KCk7XG5cbiAgICBfcmVwb3J0Vmlld1JlZjogQ29tcG9uZW50UmVmPFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPj47XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3ZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9lbCk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB2aWV3IH0gPSBjaGFuZ2VzO1xuXG4gICAgICAgIGlmICh2aWV3ICYmICF2aWV3LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXBvcnRWaWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX3Zjci5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5faW5zZXJ0Vmlldyh2aWV3LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcmVwb3J0Vmlld1JlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlcG9ydFZpZXdSZWYuaW5zdGFuY2UubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX2luc2VydFZpZXcodGhpcy52aWV3KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3JlcG9ydFZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaW5zZXJ0Vmlldyh2aWV3KTogdm9pZCB7XG4gICAgICAgIGlmICghdmlldykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgTW9kdWxlLCBNb2R1bGVGaWxlTmFtZSwgTmFtZSwgU2VsZWN0b3IgfSA9IHZpZXcuVWlDb21wb25lbnQ7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoTW9kdWxlLCBNb2R1bGVGaWxlTmFtZSwgTmFtZSwgU2VsZWN0b3IsIHRoaXMuX2luamVjdG9yKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8UmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNhcnRhYmxlVGVtcGxhdGVzID0gdGhpcy5jYXJ0YWJsZVRlbXBsYXRlcztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jYXJ0YWJsZUNoaWxkc01vID0gdGhpcy5jYXJ0YWJsZUNoaWxkc01vO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3Q7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZ3JvdXBieSA9IHRoaXMuZ3JvdXBieTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oaWRlU2VhcmNocGFuZWwgPSB0aGlzLmhpZGVTZWFyY2hwYW5lbDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jdXN0b21GaWVsZEluZm8gPSB0aGlzLmN1c3RvbUZpZWxkSW5mbztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kaXNhYmxlUmVzcG9uc2l2ZSA9IHRoaXMuZGlzYWJsZVJlc3BvbnNpdmU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucG9waW4gPSB0aGlzLnBvcGluO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbnRleHRWaWV3ID0gdGhpcy5jb250ZXh0VmlldztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5pc0NoZWNrTGlzdCA9IHRoaXMuaXNDaGVja0xpc3Q7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29sdW1ucyA9IHRoaXMuY29sdW1ucztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5ncmlkRnJlZUNvbHVtblNpemluZyA9IHRoaXMuZ3JpZEZyZWVDb2x1bW5TaXppbmc7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaW5EaWFsb2cgPSB0aGlzLmluRGlhbG9nO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmlzTXVsdGlTZWxlY3QgPSB0aGlzLmlzTXVsdGlTZWxlY3Q7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29sdW1uc0NvdW50ID0gdGhpcy5jb2x1bW5zQ291bnQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZXh0cmFSZWxhdGlvbiA9IHRoaXMuZXh0cmFSZWxhdGlvbjtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zZWNvbmRhcnlDb2x1bW5zID0gdGhpcy5zZWNvbmRhcnlDb2x1bW5zO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbnRleHRNZW51SXRlbXMgPSB0aGlzLmNvbnRleHRNZW51SXRlbXM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29uZGl0aW9uYWxGb3JtYXRzID0gdGhpcy5jb25kaXRpb25hbEZvcm1hdHM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnUgPSB0aGlzLmRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnR5cGVEZWZJZCA9IHRoaXMudHlwZURlZklkO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmRldmljZU5hbWUgPSB0aGlzLmRldmljZU5hbWU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGV2aWNlU2l6ZSA9IHRoaXMuZGV2aWNlU2l6ZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5tb2JpbGVPclRhYmxldCA9IHRoaXMubW9iaWxlT3JUYWJsZXQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGFpbmVyV2lkdGggPSB0aGlzLmNvbnRhaW5lcldpZHRoO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbHVtbnNDb3VudCA9IHRoaXMuY29sdW1uc0NvdW50O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnNlbGVjdGVkQ291bnQgPSB0aGlzLnNlbGVjdGVkQ291bnQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaGlkZU9wZW5JY29uID0gdGhpcy5oaWRlT3Blbkljb247XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uub3Blbk9uQ2xpY2sgPSB0aGlzLm9wZW5PbkNsaWNrO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmFjY2VzcyA9IHRoaXMuYWNjZXNzO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnRpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oYXNTdW1tYXJ5ID0gdGhpcy5oYXNTdW1tYXJ5O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbnRlbnREZW5zaXR5ID0gdGhpcy5jb250ZW50RGVuc2l0eTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5yZWxhdGlvbkxpc3QgPSB0aGlzLnJlbGF0aW9uTGlzdDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5hbGxDb2x1bW5zID0gdGhpcy5hbGxDb2x1bW5zID8/IHRoaXMuY29sdW1ucztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS52aWV3U2V0dGluZyA9IHZpZXcuVWlDb21wb25lbnQuU2V0dGluZ3M7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaW5saW5lRWRpdE1vZGUgPSB0aGlzLmlubGluZUVkaXRNb2RlO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm9ubHlJbmxpbmVFZGl0ID0gdGhpcy5vbmx5SW5saW5lRWRpdDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5hbGxvd0lubGluZUVkaXQgPSB0aGlzLmFsbG93SW5saW5lRWRpdDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5mb3JtU2V0dGluZyA9IHRoaXMuZm9ybVNldHRpbmc7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UubmF2aWdhdGlvbkFycm93ID0gdGhpcy5uYXZpZ2F0aW9uQXJyb3c7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uuc2VsZWN0ZWRNbyA9IHRoaXMuc2VsZWN0ZWRNbztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oYXNTZWxlY3RlZCA9IHRoaXMuaGFzU2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucnRsID0gdGhpcy5ydGw7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucmVzZXRXb3JrZmxvd1N0YXRlPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0V29ya2Zsb3dTdGF0ZS5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2U/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlLmVtaXQobW8pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnNlbGVjdE5leHRJbmxpbmVSZWNvcmQ/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0TmV4dElubGluZVJlY29yZC5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5lZGl0Rm9ybVBhbmVsQ2FuY2VsPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UudWx2Q29tbWFuZENsaWNrPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudWx2Q29tbWFuZENsaWNrLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uuc29ydEFzY2VuZGluZz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNvcnRBc2NlbmRpbmcuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zb3J0RGVzY2VuZGluZz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNvcnREZXNjZW5kaW5nLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZmlsdGVyPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb2x1bW5SZXNpemVkPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1uUmVzaXplZC5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uucm93Q2hlY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGU6IHsgbW87IGluZGV4OyBjYXVzZT8gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVzZWxlY3RBbGw/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc2VsZWN0QWxsLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5yb3dDbGljaz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZTogeyBtbzsgaW5kZXggfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZXhwYW5kQ2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGU6IE1ldGFvYmplY3REYXRhTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBhbmRDbGljay5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbENoZWNrYm94Py5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5lZGl0Rm9ybVBhbmVsU2F2ZT8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsU2F2ZS5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jYXJ0YWJsZUZvcm1DbG9zZWQ/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGU6IHsgbW87IGluZGV4IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJ0YWJsZUZvcm1DbG9zZWQuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jcmVhdGVOZXdNbz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTmV3TW8uZW1pdCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmhhc0RldGFpbHNJblJvdz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNEZXRhaWxzSW5Sb3cuZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UudXBkYXRlTW8/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW8uZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UubWFuZGF0b3J5Py5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChpc1ZhbGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFuZGF0b3J5LmVtaXQoaXNWYWxpZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZXhlY3V0ZVRvb2xiYXJCdXR0b24/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlVG9vbGJhckJ1dHRvbi5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLndvcmtmbG93U2hhcmVCdXR0b25zXG4gICAgICAgICAgICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGU6IFNoYXJlQnV0dG9uc0Nob2ljZURlZikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KGUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLl92Y3IuaW5zZXJ0KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVwb3J0Vmlld1JlZiA9IGNvbXBvbmVudFJlZjtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==