barsa-sap-ui 2.2.48 → 2.2.50

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 (40) hide show
  1. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +6 -150
  2. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +2 -2
  3. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +6 -5
  4. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +6 -5
  5. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +3 -2
  6. package/esm2022/lib/barsa-sap-ui.module.mjs +6 -5
  7. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +5 -4
  8. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +3 -2
  9. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +3 -3
  10. package/esm2022/lib/column-renderer/column-renderer.component.mjs +2 -2
  11. package/esm2022/lib/contentDensity.directive.mjs +25 -0
  12. package/esm2022/lib/form-wizard/form-wizard.component.mjs +5 -4
  13. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +3 -2
  14. package/esm2022/lib/index.mjs +8 -2
  15. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +4 -3
  16. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +4 -3
  17. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +15 -13
  18. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +4 -3
  19. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +4 -3
  20. package/esm2022/lib/ui-grid/ui-grid.component.mjs +4 -3
  21. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +3 -2
  22. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +4 -3
  23. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +3 -2
  24. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +4 -3
  25. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +5 -4
  26. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +7 -14
  27. package/esm2022/lib/ui-tree/ui-tree.component.mjs +3 -2
  28. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +4 -3
  29. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +3 -2
  30. package/esm2022/public-api.mjs +2 -1
  31. package/fesm2022/barsa-sap-ui.mjs +141 -265
  32. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  33. package/lib/barsa-chat/barsa-chat.component.d.ts +0 -30
  34. package/lib/barsa-sap-ui.module.d.ts +18 -17
  35. package/lib/contentDensity.directive.d.ts +9 -0
  36. package/lib/index.d.ts +2 -1
  37. package/lib/ui-text-area/ui-text-area.component.d.ts +2 -0
  38. package/lib/ui-tinymce/ui-tinymce.component.d.ts +1 -4
  39. package/package.json +1 -1
  40. package/public-api.d.ts +1 -0
@@ -6,7 +6,8 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "../ulv-toolbar/ulv-toolbar.component";
8
8
  import * as i3 from "../gantt-dhtml-chart-view/gantt-dhtml-chart-view.component";
9
- import * as i4 from "barsa-novin-ray-core";
9
+ import * as i4 from "../contentDensity.directive";
10
+ import * as i5 from "barsa-novin-ray-core";
10
11
  export class UiGanttChartComponent extends SapUiReportBaseComponent {
11
12
  constructor() {
12
13
  super(...arguments);
@@ -23,10 +24,10 @@ export class UiGanttChartComponent extends SapUiReportBaseComponent {
23
24
  this._modeSource.next(mode);
24
25
  }
25
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiGanttChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiGanttChartComponent, selector: "bsu-ui-gantt-chart", usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: moDataList$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async) ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formLayout: layout$ | async,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n mode: mode$ | async,\n ganttFields: context.Setting.View.GanttFields,\n ganttChartHelper: context._ganttChartHelper\n }\n \"\n></ng-container>\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formLayout=\"formLayout\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-mode=\"mode\"\n let-ganttFields=\"ganttFields\"\n let-ganttChartHelper=\"ganttChartHelper\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n ></bsu-ulv-toolbar>\n <bsu-gantt-dhtml-chart-view\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [mode]=\"mode\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [ganttFields]=\"ganttFields\"\n [ganttChartHelper]=\"ganttChartHelper\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n >\n </bsu-gantt-dhtml-chart-view>\n</ng-template>\n", styles: [":host{display:block}:host.gantt_rtl{direction:ltr}::ng-deep .gantt_rtl>.gantt_layout_root>.gantt_layout{display:flex;flex-direction:row-reverse}::ng-deep .gantt-fix-grid{direction:ltr}::ng-deep .gantt_grid_scale{direction:ltr}::ng-deep .gantt_tree_content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .gantt_container,::ng-deep .gantt_tooltip{font-family:var(--sapFontFamily)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.GanttDhtmlChartViewComponent, selector: "bsu-gantt-dhtml-chart-view", inputs: ["mode", "ganttFields", "ganttChartHelper"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i4.ContextMenuPipe, name: "contextMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiGanttChartComponent, selector: "bsu-ui-gantt-chart", usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: moDataList$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async) ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formLayout: layout$ | async,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n mode: mode$ | async,\n ganttFields: context.Setting.View.GanttFields,\n ganttChartHelper: context._ganttChartHelper\n }\n \"\n></ng-container>\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formLayout=\"formLayout\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-mode=\"mode\"\n let-ganttFields=\"ganttFields\"\n let-ganttChartHelper=\"ganttChartHelper\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n ></bsu-ulv-toolbar>\n <bsu-gantt-dhtml-chart-view\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [mode]=\"mode\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [ganttFields]=\"ganttFields\"\n [ganttChartHelper]=\"ganttChartHelper\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n >\n </bsu-gantt-dhtml-chart-view>\n</ng-template>\n", styles: [":host{display:block}:host.gantt_rtl{direction:ltr}::ng-deep .gantt_rtl>.gantt_layout_root>.gantt_layout{display:flex;flex-direction:row-reverse}::ng-deep .gantt-fix-grid{direction:ltr}::ng-deep .gantt_grid_scale{direction:ltr}::ng-deep .gantt_tree_content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .gantt_container,::ng-deep .gantt_tooltip{font-family:var(--sapFontFamily)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.GanttDhtmlChartViewComponent, selector: "bsu-gantt-dhtml-chart-view", inputs: ["mode", "ganttFields", "ganttChartHelper"] }, { kind: "directive", type: i4.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i5.ContextMenuPipe, name: "contextMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
28
  }
28
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiGanttChartComponent, decorators: [{
29
30
  type: Component,
30
31
  args: [{ selector: 'bsu-ui-gantt-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: moDataList$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async) ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formLayout: layout$ | async,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n mode: mode$ | async,\n ganttFields: context.Setting.View.GanttFields,\n ganttChartHelper: context._ganttChartHelper\n }\n \"\n></ng-container>\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formLayout=\"formLayout\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-mode=\"mode\"\n let-ganttFields=\"ganttFields\"\n let-ganttChartHelper=\"ganttChartHelper\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [moDataListCount]=\"moDataList.length\"\n ></bsu-ulv-toolbar>\n <bsu-gantt-dhtml-chart-view\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"false\"\n [allowInlineEdit]=\"false\"\n [mode]=\"mode\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [ganttFields]=\"ganttFields\"\n [ganttChartHelper]=\"ganttChartHelper\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n >\n </bsu-gantt-dhtml-chart-view>\n</ng-template>\n", styles: [":host{display:block}:host.gantt_rtl{direction:ltr}::ng-deep .gantt_rtl>.gantt_layout_root>.gantt_layout{display:flex;flex-direction:row-reverse}::ng-deep .gantt-fix-grid{direction:ltr}::ng-deep .gantt_grid_scale{direction:ltr}::ng-deep .gantt_tree_content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .gantt_container,::ng-deep .gantt_tooltip{font-family:var(--sapFontFamily)!important}\n"] }]
31
32
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ2FudHQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ2FudHQtY2hhcnQvdWktZ2FudHQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ2FudHQtY2hhcnQvdWktZ2FudHQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBUzNFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx3QkFBaUQ7SUFQNUY7O1FBU1ksZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBWSxLQUFLLENBQUMsQ0FBQztLQVkvRDtJQVZHLFFBQVE7UUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNaLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDM0MsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNTLFlBQVksQ0FBQyxJQUFlO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBYlEscUJBQXFCO21HQUFyQixxQkFBcUIsaUZDYmxDLG0wSUE2R0E7OzRGRGhHYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xyXG5kZWNsYXJlIHR5cGUgR2FudHRNb2RlID0gJ2RheScgfCAnbW9udGgnIHwgJ3llYXInO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWdhbnR0LWNoYXJ0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1nYW50dC1jaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1nYW50dC1jaGFydC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlHYW50dENoYXJ0Q29tcG9uZW50IGV4dGVuZHMgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBtb2RlJDogT2JzZXJ2YWJsZTxHYW50dE1vZGU+O1xyXG4gICAgcHJpdmF0ZSBfbW9kZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R2FudHRNb2RlPignZGF5Jyk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tb2RlJCA9IHRoaXMuX21vZGVTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcclxuICAgICAgICAgICAgTW9kZUNoYW5nZTogdGhpcy5fbW9kZUNoYW5nZWQuYmluZCh0aGlzKVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9tb2RlQ2hhbmdlZChtb2RlOiBHYW50dE1vZGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9tb2RlU291cmNlLm5leHQobW9kZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIHJlbmRlckNvbnRhaW5lcjtcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgJGltcGxpY2l0OiBtb0RhdGFMaXN0JCB8IGFzeW5jLFxuICAgICAgICAgICAgYWxsQ2hlY2tlZDogYWxsQ2hlY2tlZCQgfCBhc3luYyxcbiAgICAgICAgICAgIGdyb3VwYnk6IGdyb3VwYnkkIHwgYXN5bmMsXG4gICAgICAgICAgICBpc0NoZWNrTGlzdDogY29udGV4dC5TZXR0aW5nLlZpZXc/LklzQ2hlY2tMaXN0LFxuICAgICAgICAgICAgY29sdW1uczogY29sdW1ucyQgfCBhc3luYyxcbiAgICAgICAgICAgIGNvbHVtbnNDb3VudDogY29sdW1uc0NvdW50JCB8IGFzeW5jLFxuICAgICAgICAgICAgYWxsb3dJbmxpbmVFZGl0OiBhbGxvd0lubGluZUVkaXQkIHwgYXN5bmMsXG4gICAgICAgICAgICBpbmxpbmVFZGl0TW9kZTogaW5saW5lRWRpdE1vZGUkIHwgYXN5bmMsXG4gICAgICAgICAgICBvbmx5SW5saW5lRWRpdDogb25seUlubGluZUVkaXQkIHwgYXN5bmMsXG4gICAgICAgICAgICBzZWNvbmRhcnlDb2x1bW5zOiBzZWNvbmRhcnlDb2x1bW5zJCB8IGFzeW5jLFxuICAgICAgICAgICAgdG9vbGJhckJ1dHRvbnM6ICh0b29sYmFyQnV0dG9ucyQgfCBhc3luYykhISB8IHNlcGVyYXRvckZpeCxcbiAgICAgICAgICAgIHBvcGluOiAobW9iaWxlT3JUYWJsZXQkIHwgYXN5bmMpIHx8IChzZWNvbmRhcnlDb2x1bW5zQ291bnQkIHwgYXN5bmMpID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgY29udGV4dE1lbnVJdGVtczogbWVudUl0ZW1zJCB8IGFzeW5jIHwgY29udGV4dE1lbnU6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29uZGl0aW9uYWxGb3JtYXRzJCB8IGFzeW5jLFxuICAgICAgICAgICAgZGV2aWNlTmFtZTogZGV2aWNlTmFtZSQgfCBhc3luYyxcbiAgICAgICAgICAgIGRldmljZVNpemU6IGRldmljZVNpemUkIHwgYXN5bmMsXG4gICAgICAgICAgICBtb2JpbGVPclRhYmxldDogbW9iaWxlT3JUYWJsZXQkIHwgYXN5bmMsXG4gICAgICAgICAgICBhY2Nlc3M6IGNvbnRleHQuU2V0dGluZy5FeHRyYT8uRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlJCB8IGFzeW5jLFxuICAgICAgICAgICAgcnRsOiBydGwkIHwgYXN5bmMsXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogaGlkZVRvb2xiYXIkIHwgYXN5bmMsXG4gICAgICAgICAgICBhbGxDb2x1bW5zOiBhbGxDb2x1bW5zLFxuICAgICAgICAgICAgZ3JpZFNldHRpbmc6IGdyaWRTZXR0aW5nJCB8IGFzeW5jLFxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxuICAgICAgICAgICAgZm9ybUxheW91dDogbGF5b3V0JCB8IGFzeW5jLFxuICAgICAgICAgICAgaGFzU2VsZWN0ZWQ6IGhhc1NlbGVjdGVkJCB8IGFzeW5jLFxuICAgICAgICAgICAgc2hvd09rQ2FuY2VsQnV0dG9uczogc2hvd09rQ2FuY2VsQnV0dG9ucyxcbiAgICAgICAgICAgIGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51OiB2aWV3U2V0dGluZz8uRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnUsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uQXJyb3c6IG5hdmlnYXRpb25BcnJvdyQgfCBhc3luYyxcbiAgICAgICAgICAgIG1vZGU6IG1vZGUkIHwgYXN5bmMsXG4gICAgICAgICAgICBnYW50dEZpZWxkczogY29udGV4dC5TZXR0aW5nLlZpZXcuR2FudHRGaWVsZHMsXG4gICAgICAgICAgICBnYW50dENoYXJ0SGVscGVyOiBjb250ZXh0Ll9nYW50dENoYXJ0SGVscGVyXG4gICAgICAgIH1cbiAgICBcIlxuPjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlXG4gICAgI3JlbmRlckNvbnRhaW5lclxuICAgIGxldC1tb0RhdGFMaXN0XG4gICAgbGV0LWFsbENoZWNrZWQ9XCJhbGxDaGVja2VkXCJcbiAgICBsZXQtaXNDaGVja0xpc3Q9XCJpc0NoZWNrTGlzdFwiXG4gICAgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCJcbiAgICBsZXQtY29sdW1uc0NvdW50PVwiY29sdW1uc0NvdW50XCJcbiAgICBsZXQtZ3JvdXBieT1cImdyb3VwYnlcIlxuICAgIGxldC1zZWNvbmRhcnlDb2x1bW5zPVwic2Vjb25kYXJ5Q29sdW1uc1wiXG4gICAgbGV0LWNvbnRleHRNZW51SXRlbXM9XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxuICAgIGxldC1kZXZpY2VTaXplPVwiZGV2aWNlU2l6ZVwiXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXG4gICAgbGV0LXRvb2xiYXJCdXR0b25zPVwidG9vbGJhckJ1dHRvbnNcIlxuICAgIGxldC1wb3Bpbj1cInBvcGluXCJcbiAgICBsZXQtbW9iaWxlT3JUYWJsZXQ9XCJtb2JpbGVPclRhYmxldFwiXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxuICAgIGxldC1pbmxpbmVFZGl0TW9kZT1cImlubGluZUVkaXRNb2RlXCJcbiAgICBsZXQtYWxsb3dJbmxpbmVFZGl0PVwiYWxsb3dJbmxpbmVFZGl0XCJcbiAgICBsZXQtaGlkZVRvb2xiYXI9XCJoaWRlVG9vbGJhclwiXG4gICAgbGV0LWdyaWRTZXR0aW5nPVwiZ3JpZFNldHRpbmdcIlxuICAgIGxldC1jb250ZW50RGVuc2l0eT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICBsZXQtZm9ybUxheW91dD1cImZvcm1MYXlvdXRcIlxuICAgIGxldC1oYXNTZWxlY3RlZD1cImhhc1NlbGVjdGVkXCJcbiAgICBsZXQtc2hvd09rQ2FuY2VsQnV0dG9ucz1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgIGxldC1kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcbiAgICBsZXQtbW9kZT1cIm1vZGVcIlxuICAgIGxldC1nYW50dEZpZWxkcz1cImdhbnR0RmllbGRzXCJcbiAgICBsZXQtZ2FudHRDaGFydEhlbHBlcj1cImdhbnR0Q2hhcnRIZWxwZXJcIlxuPlxuICAgIDxic3UtdWx2LXRvb2xiYXJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxuICAgICAgICBbZ3JpZFNldHRpbmddPVwiZ3JpZFNldHRpbmdcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJmYWxzZVwiXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiZmFsc2VcIlxuICAgICAgICBbbW9EYXRhTGlzdENvdW50XT1cIm1vRGF0YUxpc3QubGVuZ3RoXCJcbiAgICA+PC9ic3UtdWx2LXRvb2xiYXI+XG4gICAgPGJzdS1nYW50dC1kaHRtbC1jaGFydC12aWV3XG4gICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXG4gICAgICAgIFthbGxDaGVja2VkXT1cImFsbENoZWNrZWRcIlxuICAgICAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW21vYmlsZU9yVGFibGV0XT1cIm1vYmlsZU9yVGFibGV0XCJcbiAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJmYWxzZVwiXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiZmFsc2VcIlxuICAgICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICAgICAgW3Nob3dPa0NhbmNlbEJ1dHRvbnNdPVwic2hvd09rQ2FuY2VsQnV0dG9uc1wiXG4gICAgICAgIFtnYW50dEZpZWxkc109XCJnYW50dEZpZWxkc1wiXG4gICAgICAgIFtnYW50dENoYXJ0SGVscGVyXT1cImdhbnR0Q2hhcnRIZWxwZXJcIlxuICAgICAgICAodWx2Q29tbWFuZENsaWNrKT1cIm9uVWx2Q29tbWFuZCgkZXZlbnQpXCJcbiAgICAgICAgKGZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxuICAgID5cbiAgICA8L2JzdS1nYW50dC1kaHRtbC1jaGFydC12aWV3PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ2FudHQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ2FudHQtY2hhcnQvdWktZ2FudHQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ2FudHQtY2hhcnQvdWktZ2FudHQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQVMzRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsd0JBQWlEO0lBUDVGOztRQVNZLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVksS0FBSyxDQUFDLENBQUM7S0FZL0Q7SUFWRyxRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN2RyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzNDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDUyxZQUFZLENBQUMsSUFBZTtRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQWJRLHFCQUFxQjttR0FBckIscUJBQXFCLGlGQ2JsQyxtMElBNkdBOzs0RkRoR2EscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9zYXAtdWktcmVwb3J0LWJhc2UuY29tcG9uZW50JztcclxuZGVjbGFyZSB0eXBlIEdhbnR0TW9kZSA9ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1nYW50dC1jaGFydCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZ2FudHQtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZ2FudHQtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpR2FudHRDaGFydENvbXBvbmVudCBleHRlbmRzIFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgbW9kZSQ6IE9ic2VydmFibGU8R2FudHRNb2RlPjtcclxuICAgIHByaXZhdGUgX21vZGVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdhbnR0TW9kZT4oJ2RheScpO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubW9kZSQgPSB0aGlzLl9tb2RlU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5vbih7XHJcbiAgICAgICAgICAgIE1vZGVDaGFuZ2U6IHRoaXMuX21vZGVDaGFuZ2VkLmJpbmQodGhpcylcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfbW9kZUNoYW5nZWQobW9kZTogR2FudHRNb2RlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbW9kZVNvdXJjZS5uZXh0KG1vZGUpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICByZW5kZXJDb250YWluZXI7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogbW9EYXRhTGlzdCQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbENoZWNrZWQ6IGFsbENoZWNrZWQkIHwgYXN5bmMsXG4gICAgICAgICAgICBncm91cGJ5OiBncm91cGJ5JCB8IGFzeW5jLFxuICAgICAgICAgICAgaXNDaGVja0xpc3Q6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnMkIHwgYXN5bmMsXG4gICAgICAgICAgICBjb2x1bW5zQ291bnQ6IGNvbHVtbnNDb3VudCQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgb25seUlubGluZUVkaXQ6IG9ubHlJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgc2Vjb25kYXJ5Q29sdW1uczogc2Vjb25kYXJ5Q29sdW1ucyQgfCBhc3luYyxcbiAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zOiAodG9vbGJhckJ1dHRvbnMkIHwgYXN5bmMpISEgfCBzZXBlcmF0b3JGaXgsXG4gICAgICAgICAgICBwb3BpbjogKG1vYmlsZU9yVGFibGV0JCB8IGFzeW5jKSB8fCAoc2Vjb25kYXJ5Q29sdW1uc0NvdW50JCB8IGFzeW5jKSA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IG1lbnVJdGVtcyQgfCBhc3luYyB8IGNvbnRleHRNZW51OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXG4gICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbmRpdGlvbmFsRm9ybWF0cyQgfCBhc3luYyxcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxuICAgICAgICAgICAgbW9iaWxlT3JUYWJsZXQ6IG1vYmlsZU9yVGFibGV0JCB8IGFzeW5jLFxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSQgfCBhc3luYyxcbiAgICAgICAgICAgIHJ0bDogcnRsJCB8IGFzeW5jLFxuICAgICAgICAgICAgaGlkZVRvb2xiYXI6IGhpZGVUb29sYmFyJCB8IGFzeW5jLFxuICAgICAgICAgICAgYWxsQ29sdW1uczogYWxsQ29sdW1ucyxcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nOiBncmlkU2V0dGluZyQgfCBhc3luYyxcbiAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5OiBjb250ZW50RGVuc2l0eSQgfCBhc3luYyxcbiAgICAgICAgICAgIGZvcm1MYXlvdXQ6IGxheW91dCQgfCBhc3luYyxcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcbiAgICAgICAgICAgIHNob3dPa0NhbmNlbEJ1dHRvbnM6IHNob3dPa0NhbmNlbEJ1dHRvbnMsXG4gICAgICAgICAgICBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogdmlld1NldHRpbmc/LkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxuICAgICAgICAgICAgbmF2aWdhdGlvbkFycm93OiBuYXZpZ2F0aW9uQXJyb3ckIHwgYXN5bmMsXG4gICAgICAgICAgICBtb2RlOiBtb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgZ2FudHRGaWVsZHM6IGNvbnRleHQuU2V0dGluZy5WaWV3LkdhbnR0RmllbGRzLFxuICAgICAgICAgICAgZ2FudHRDaGFydEhlbHBlcjogY29udGV4dC5fZ2FudHRDaGFydEhlbHBlclxuICAgICAgICB9XG4gICAgXCJcbj48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZVxuICAgICNyZW5kZXJDb250YWluZXJcbiAgICBsZXQtbW9EYXRhTGlzdFxuICAgIGxldC1hbGxDaGVja2VkPVwiYWxsQ2hlY2tlZFwiXG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxuICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXG4gICAgbGV0LWNvbHVtbnNDb3VudD1cImNvbHVtbnNDb3VudFwiXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcbiAgICBsZXQtc2Vjb25kYXJ5Q29sdW1ucz1cInNlY29uZGFyeUNvbHVtbnNcIlxuICAgIGxldC1jb250ZXh0TWVudUl0ZW1zPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxuICAgIGxldC1hY2Nlc3M9XCJhY2Nlc3NcIlxuICAgIGxldC10b29sYmFyQnV0dG9ucz1cInRvb2xiYXJCdXR0b25zXCJcbiAgICBsZXQtcG9waW49XCJwb3BpblwiXG4gICAgbGV0LW1vYmlsZU9yVGFibGV0PVwibW9iaWxlT3JUYWJsZXRcIlxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcbiAgICBsZXQtaW5saW5lRWRpdE1vZGU9XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxuICAgIGxldC1ncmlkU2V0dGluZz1cImdyaWRTZXR0aW5nXCJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXG4gICAgbGV0LWZvcm1MYXlvdXQ9XCJmb3JtTGF5b3V0XCJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXG4gICAgbGV0LXNob3dPa0NhbmNlbEJ1dHRvbnM9XCJzaG93T2tDYW5jZWxCdXR0b25zXCJcbiAgICBsZXQtZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU9XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXG4gICAgbGV0LW5hdmlnYXRpb25BcnJvdz1cIm5hdmlnYXRpb25BcnJvd1wiXG4gICAgbGV0LW1vZGU9XCJtb2RlXCJcbiAgICBsZXQtZ2FudHRGaWVsZHM9XCJnYW50dEZpZWxkc1wiXG4gICAgbGV0LWdhbnR0Q2hhcnRIZWxwZXI9XCJnYW50dENoYXJ0SGVscGVyXCJcbj5cbiAgICA8YnN1LXVsdi10b29sYmFyXG4gICAgICAgIFtoaWRlVG9vbGJhcl09XCJoaWRlVG9vbGJhclwiXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW3Rvb2xiYXJCdXR0b25zXT1cInRvb2xiYXJCdXR0b25zXCJcbiAgICAgICAgW2dyaWRTZXR0aW5nXT1cImdyaWRTZXR0aW5nXCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW2hhc1NlbGVjdGVkXT1cImhhc1NlbGVjdGVkXCJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiZmFsc2VcIlxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImZhbHNlXCJcbiAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Lmxlbmd0aFwiXG4gICAgPjwvYnN1LXVsdi10b29sYmFyPlxuICAgIDxic3UtZ2FudHQtZGh0bWwtY2hhcnQtdmlld1xuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxuICAgICAgICBbYWxsQ2hlY2tlZF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFttb2JpbGVPclRhYmxldF09XCJtb2JpbGVPclRhYmxldFwiXG4gICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiZmFsc2VcIlxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImZhbHNlXCJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAgIFtzaG93T2tDYW5jZWxCdXR0b25zXT1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgICAgICBbZ2FudHRGaWVsZHNdPVwiZ2FudHRGaWVsZHNcIlxuICAgICAgICBbZ2FudHRDaGFydEhlbHBlcl09XCJnYW50dENoYXJ0SGVscGVyXCJcbiAgICAgICAgKHVsdkNvbW1hbmRDbGljayk9XCJvblVsdkNvbW1hbmQoJGV2ZW50KVwiXG4gICAgICAgIChmaWx0ZXIpPVwib25GaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxuICAgICAgICAocm93Q2hlY2spPVwib25Sb3dDaGVjaygkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9ic3UtZ2FudHQtZGh0bWwtY2hhcnQtdmlldz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -5,7 +5,8 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "../ulv-toolbar/ulv-toolbar.component";
7
7
  import * as i3 from "../ui-table-view/ui-table-view.component";
8
- import * as i4 from "barsa-novin-ray-core";
8
+ import * as i4 from "../contentDensity.directive";
9
+ import * as i5 from "barsa-novin-ray-core";
9
10
  export class UiGridComponent extends SapUiReportBaseComponent {
10
11
  constructor() {
11
12
  super(...arguments);
@@ -14,7 +15,7 @@ export class UiGridComponent extends SapUiReportBaseComponent {
14
15
  this.widthTypeEnum = WidthTypeEnum;
15
16
  }
16
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiGridComponent, selector: "bsu-ui-grid", inputs: { showOkCancelButtons: "showOkCancelButtons" }, usesInheritance: true, ngImport: i0, template: "<!--render container-->\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n renderContainer;\r\n context: {\r\n $implicit: gridDataSource.data$ | async,\r\n allChecked: allChecked$ | async,\r\n groupby: groupby$ | async,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n hasSummary: context.Setting.View?.HasSummaryRow,\r\n columns: columns$ | async,\r\n columnsCount: columnsCount$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n onlyInlineEdit: onlyInlineEdit$ | async,\r\n secondaryColumns: secondaryColumns$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n popin: (secondaryColumnsCount$ | async)!! > 0 ? true : false,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n mobileOrTablet: mobileOrTablet$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n extraRelation: context.Setting.Extra?.Relation,\r\n title: title$ | async,\r\n rtl: rtl$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n allColumns: allColumns,\r\n gridSetting: gridSetting$ | async,\r\n contentDensity: contentDensity$ | async,\r\n formSetting: context.Setting.FormTemplate,\r\n hasSelected: hasSelected$ | async,\r\n showOkCancelButtons: showOkCancelButtons,\r\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\r\n navigationArrow: navigationArrow$ | async,\r\n containerWidth: containerWidth$ | async,\r\n newInlineEditMo: newInlineEditMo$ | async,\r\n typeDefId: context.Setting.Extra.Report.TypeDefId,\r\n reportId: context.Setting.Extra.Report.Id,\r\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\r\n typeViewId: context.Setting.Extra.Report.TypeViewId,\r\n contextView: context.Setting.View,\r\n cartableTemplates: cartableTemplates$ | async,\r\n cartableChildsMo: cartableChildsMo$ | async,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n disableResponsive: disableResponsive$ | async,\r\n fullscreen: fullscreen$ | async,\r\n selectedMo: selectedMo$ | async,\r\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\r\n allowGridColumnSort: context.ViewSetting?.AllowGridColumnSort,\r\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\r\n pagingSetting: pagingSetting$ | async,\r\n simpleInlineEdit: simpleInlineEdit,\r\n groupSummary: groupSummary\r\n }\r\n \"\r\n></ng-container>\r\n<!--render container -->\r\n<ng-template\r\n #renderContainer\r\n let-moDataList\r\n let-allChecked=\"allChecked\"\r\n let-isCheckList=\"isCheckList\"\r\n let-columns=\"columns\"\r\n let-columnsCount=\"columnsCount\"\r\n let-groupby=\"groupby\"\r\n let-secondaryColumns=\"secondaryColumns\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-access=\"access\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-popin=\"popin\"\r\n let-mobileOrTablet=\"mobileOrTablet\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-formSetting=\"formSetting\"\r\n let-hasSelected=\"hasSelected\"\r\n let-showOkCancelButtons=\"showOkCancelButtons\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-containerWidth=\"containerWidth\"\r\n let-newInlineEditMo=\"newInlineEditMo\"\r\n let-hasSummary=\"hasSummary\"\r\n let-extraRelation=\"extraRelation\"\r\n let-typeDefId=\"typeDefId\"\r\n let-contextView=\"contextView\"\r\n let-cartableTemplates=\"cartableTemplates\"\r\n let-cartableChildsMo=\"cartableChildsMo\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-fullscreen=\"fullscreen\"\r\n let-selectedMo=\"selectedMo\"\r\n let-disableResponsive=\"disableResponsive\"\r\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\r\n let-reportId=\"reportId\"\r\n let-listEditViewId=\"listEditViewId\"\r\n let-typeViewId=\"typeViewId\"\r\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\r\n let-rtl=\"rtl\"\r\n let-allColumns=\"allColumns\"\r\n let-allowGridColumnSort=\"allowGridColumnSort\"\r\n let-pagingSetting=\"pagingSetting\"\r\n let-simpleInlineEdit=\"simpleInlineEdit\"\r\n let-groupSummary=\"groupSummary\"\r\n>\r\n <bsu-ulv-toolbar\r\n [cls]=\"contextView.Grid_HideHeader ? null : 'border-b-0'\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [hideTitle]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [access]=\"access\"\r\n [disableResponsive]=\"disableResponsive\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit && formSetting\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\r\n (columnClick)=\"onColumnSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\r\n ></bsu-ulv-toolbar>\r\n <bsu-ui-table-view\r\n [groupSummary]=\"groupSummary\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [simpleInlineEdit]=\"simpleInlineEdit\"\r\n [cartableTemplates]=\"cartableTemplates\"\r\n [pagingSetting]=\"pagingSetting\"\r\n [parentHeight]=\"parentHeight\"\r\n [fullscreen]=\"fullscreen\"\r\n [selectedMo]=\"selectedMo\"\r\n [rtl]=\"rtl\"\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [allColumns]=\"allColumns\"\r\n [cartableChildsMo]=\"cartableChildsMo\"\r\n [contextView]=\"contextView\"\r\n [containerWidth]=\"containerWidth\"\r\n [isCheckList]=\"isCheckList\"\r\n [allChecked]=\"allChecked\"\r\n [moDataList]=\"moDataList\"\r\n [access]=\"access\"\r\n [groupby]=\"groupby\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [title]=\"title\"\r\n [mobileOrTablet]=\"mobileOrTablet\"\r\n [disableResponsive]=\"disableResponsive\"\r\n [popin]=\"popin\"\r\n [secondaryColumns]=\"secondaryColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [columns]=\"columns\"\r\n [columnWidth]=\"100 / columns.length\"\r\n [columnsCount]=\"columnsCount\"\r\n [rowHoverable]=\"rowHoverable\"\r\n [rowActivable]=\"rowActivable\"\r\n [formSetting]=\"formSetting\"\r\n [typeDefId]=\"typeDefId\"\r\n [reportId]=\"reportId\"\r\n [listEditViewId]=\"listEditViewId\"\r\n [typeViewId]=\"typeViewId\"\r\n [extraRelation]=\"extraRelation\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n [fitWidth]=\"false\"\r\n [hasSummary]=\"hasSummary\"\r\n [rowResizer]=\"rowResizer\"\r\n [enableResizing]=\"enableResizing\"\r\n [newInlineEditMo]=\"newInlineEditMo\"\r\n (columnSummary)=\"onColumnSummary($event)\"\r\n (escapeKey)=\"onEscapeKey($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (ulvCommandClick)=\"onUlvCommand($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n (sortAscending)=\"onSortAscending($event)\"\r\n (sortDescending)=\"onSortDescending($event)\"\r\n (filter)=\"onFilter($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\r\n (resetGridSettings)=\"onResetGridSettings()\"\r\n >\r\n </bsu-ui-table-view>\r\n</ng-template>\r\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.UiTableViewComponent, selector: "bsu-ui-table-view", inputs: ["columnWidth", "minWidth", "minHeight", "disableResize", "disableHeaderContextMenu", "rowResizer", "enableResizing", "disableFixedTableLayout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i4.ContextMenuPipe, name: "contextMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UiGridComponent, selector: "bsu-ui-grid", inputs: { showOkCancelButtons: "showOkCancelButtons" }, usesInheritance: true, ngImport: i0, template: "<!--render container-->\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n renderContainer;\r\n context: {\r\n $implicit: gridDataSource.data$ | async,\r\n allChecked: allChecked$ | async,\r\n groupby: groupby$ | async,\r\n isCheckList: context.Setting.View?.IsCheckList,\r\n hasSummary: context.Setting.View?.HasSummaryRow,\r\n columns: columns$ | async,\r\n columnsCount: columnsCount$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n onlyInlineEdit: onlyInlineEdit$ | async,\r\n secondaryColumns: secondaryColumns$ | async,\r\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\r\n popin: (secondaryColumnsCount$ | async)!! > 0 ? true : false,\r\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n mobileOrTablet: mobileOrTablet$ | async,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n extraRelation: context.Setting.Extra?.Relation,\r\n title: title$ | async,\r\n rtl: rtl$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n allColumns: allColumns,\r\n gridSetting: gridSetting$ | async,\r\n contentDensity: contentDensity$ | async,\r\n formSetting: context.Setting.FormTemplate,\r\n hasSelected: hasSelected$ | async,\r\n showOkCancelButtons: showOkCancelButtons,\r\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\r\n navigationArrow: navigationArrow$ | async,\r\n containerWidth: containerWidth$ | async,\r\n newInlineEditMo: newInlineEditMo$ | async,\r\n typeDefId: context.Setting.Extra.Report.TypeDefId,\r\n reportId: context.Setting.Extra.Report.Id,\r\n listEditViewId: context.Setting.Extra.Report.ListEditViewId,\r\n typeViewId: context.Setting.Extra.Report.TypeViewId,\r\n contextView: context.Setting.View,\r\n cartableTemplates: cartableTemplates$ | async,\r\n cartableChildsMo: cartableChildsMo$ | async,\r\n inDialog: inDialog$ | async,\r\n isMultiSelect: isMultiSelect$ | async,\r\n disableResponsive: disableResponsive$ | async,\r\n fullscreen: fullscreen$ | async,\r\n selectedMo: selectedMo$ | async,\r\n gridFreeColumnSizing: gridFreeColumnSizing$ | async,\r\n allowGridColumnSort: context.ViewSetting?.AllowGridColumnSort,\r\n UlvMainCtrlr: context.Adapter?.UlvMainCtrlr,\r\n pagingSetting: pagingSetting$ | async,\r\n simpleInlineEdit: simpleInlineEdit,\r\n groupSummary: groupSummary\r\n }\r\n \"\r\n></ng-container>\r\n<!--render container -->\r\n<ng-template\r\n #renderContainer\r\n let-moDataList\r\n let-allChecked=\"allChecked\"\r\n let-isCheckList=\"isCheckList\"\r\n let-columns=\"columns\"\r\n let-columnsCount=\"columnsCount\"\r\n let-groupby=\"groupby\"\r\n let-secondaryColumns=\"secondaryColumns\"\r\n let-contextMenuItems=\"contextMenuItems\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-access=\"access\"\r\n let-toolbarButtons=\"toolbarButtons\"\r\n let-popin=\"popin\"\r\n let-mobileOrTablet=\"mobileOrTablet\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-gridSetting=\"gridSetting\"\r\n let-contentDensity=\"contentDensity\"\r\n let-formSetting=\"formSetting\"\r\n let-hasSelected=\"hasSelected\"\r\n let-showOkCancelButtons=\"showOkCancelButtons\"\r\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\r\n let-navigationArrow=\"navigationArrow\"\r\n let-containerWidth=\"containerWidth\"\r\n let-newInlineEditMo=\"newInlineEditMo\"\r\n let-hasSummary=\"hasSummary\"\r\n let-extraRelation=\"extraRelation\"\r\n let-typeDefId=\"typeDefId\"\r\n let-contextView=\"contextView\"\r\n let-cartableTemplates=\"cartableTemplates\"\r\n let-cartableChildsMo=\"cartableChildsMo\"\r\n let-inDialog=\"inDialog\"\r\n let-isMultiSelect=\"isMultiSelect\"\r\n let-fullscreen=\"fullscreen\"\r\n let-selectedMo=\"selectedMo\"\r\n let-disableResponsive=\"disableResponsive\"\r\n let-gridFreeColumnSizing=\"gridFreeColumnSizing\"\r\n let-reportId=\"reportId\"\r\n let-listEditViewId=\"listEditViewId\"\r\n let-typeViewId=\"typeViewId\"\r\n let-UlvMainCtrlr=\"UlvMainCtrlr\"\r\n let-rtl=\"rtl\"\r\n let-allColumns=\"allColumns\"\r\n let-allowGridColumnSort=\"allowGridColumnSort\"\r\n let-pagingSetting=\"pagingSetting\"\r\n let-simpleInlineEdit=\"simpleInlineEdit\"\r\n let-groupSummary=\"groupSummary\"\r\n>\r\n <bsu-ulv-toolbar\r\n [cls]=\"contextView.Grid_HideHeader ? null : 'border-b-0'\"\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [hideTitle]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [toolbarButtons]=\"toolbarButtons\"\r\n [gridSetting]=\"gridSetting\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [access]=\"access\"\r\n [disableResponsive]=\"disableResponsive\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit && formSetting\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [moDataListCount]=\"moDataList.length\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\r\n (columnClick)=\"onColumnSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\r\n ></bsu-ulv-toolbar>\r\n <bsu-ui-table-view\r\n [groupSummary]=\"groupSummary\"\r\n [gridFreeColumnSizing]=\"gridFreeColumnSizing\"\r\n [UlvMainCtrlr]=\"UlvMainCtrlr\"\r\n [simpleInlineEdit]=\"simpleInlineEdit\"\r\n [cartableTemplates]=\"cartableTemplates\"\r\n [pagingSetting]=\"pagingSetting\"\r\n [parentHeight]=\"parentHeight\"\r\n [fullscreen]=\"fullscreen\"\r\n [selectedMo]=\"selectedMo\"\r\n [rtl]=\"rtl\"\r\n [allowGridColumnSort]=\"allowGridColumnSort\"\r\n [inDialog]=\"inDialog\"\r\n [isMultiSelect]=\"isMultiSelect\"\r\n [allColumns]=\"allColumns\"\r\n [cartableChildsMo]=\"cartableChildsMo\"\r\n [contextView]=\"contextView\"\r\n [containerWidth]=\"containerWidth\"\r\n [isCheckList]=\"isCheckList\"\r\n [allChecked]=\"allChecked\"\r\n [moDataList]=\"moDataList\"\r\n [access]=\"access\"\r\n [groupby]=\"groupby\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [title]=\"title\"\r\n [mobileOrTablet]=\"mobileOrTablet\"\r\n [disableResponsive]=\"disableResponsive\"\r\n [popin]=\"popin\"\r\n [secondaryColumns]=\"secondaryColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\r\n [allowInlineEdit]=\"allowInlineEdit && formSetting\"\r\n [columns]=\"columns\"\r\n [columnWidth]=\"100 / columns.length\"\r\n [columnsCount]=\"columnsCount\"\r\n [rowHoverable]=\"rowHoverable\"\r\n [rowActivable]=\"rowActivable\"\r\n [formSetting]=\"formSetting\"\r\n [typeDefId]=\"typeDefId\"\r\n [reportId]=\"reportId\"\r\n [listEditViewId]=\"listEditViewId\"\r\n [typeViewId]=\"typeViewId\"\r\n [extraRelation]=\"extraRelation\"\r\n [showOkCancelButtons]=\"showOkCancelButtons\"\r\n [fitWidth]=\"false\"\r\n [hasSummary]=\"hasSummary\"\r\n [rowResizer]=\"rowResizer\"\r\n [enableResizing]=\"enableResizing\"\r\n [newInlineEditMo]=\"newInlineEditMo\"\r\n (columnSummary)=\"onColumnSummary($event)\"\r\n (escapeKey)=\"onEscapeKey($event)\"\r\n (deselectAll)=\"onDeselectAll()\"\r\n (ulvCommandClick)=\"onUlvCommand($event)\"\r\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\r\n (sortAscending)=\"onSortAscending($event)\"\r\n (sortDescending)=\"onSortDescending($event)\"\r\n (filter)=\"onFilter($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (allCheckbox)=\"onAllCheckbox($event)\"\r\n (expandClick)=\"onExpandClick($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\r\n (resetGridSettings)=\"onResetGridSettings()\"\r\n >\r\n </bsu-ui-table-view>\r\n</ng-template>\r\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "icon", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "cls", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.UiTableViewComponent, selector: "bsu-ui-table-view", inputs: ["columnWidth", "minWidth", "minHeight", "disableResize", "disableHeaderContextMenu", "rowResizer", "enableResizing", "disableFixedTableLayout"] }, { kind: "directive", type: i4.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i5.ContextMenuPipe, name: "contextMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
19
  }
19
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiGridComponent, decorators: [{
20
21
  type: Component,
@@ -22,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
22
23
  }], propDecorators: { showOkCancelButtons: [{
23
24
  type: Input
24
25
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JpZC91aS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7O0FBUy9FLE1BQU0sT0FBTyxlQUFnQixTQUFRLHdCQUFpRDtJQVB0Rjs7UUFTSSxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBQ2pDOytHQUxZLGVBQWU7bUdBQWYsZUFBZSxrSUNiNUIsd3JUQXNOQTs7NEZEek1hLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR1IsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9zYXAtdWktcmVwb3J0LWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2lkdGhUeXBlRW51bSB9IGZyb20gJy4uL3VpLWVkaXRhYmxlLWdyaWQvdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1ncmlkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1ncmlkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLWdyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpR3JpZENvbXBvbmVudCBleHRlbmRzIFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4ge1xyXG4gICAgQElucHV0KCkgc2hvd09rQ2FuY2VsQnV0dG9ucztcclxuICAgIGVuYWJsZVJlc2l6aW5nID0gdHJ1ZTtcclxuICAgIHJvd1Jlc2l6ZXIgPSBmYWxzZTtcclxuICAgIHdpZHRoVHlwZUVudW0gPSBXaWR0aFR5cGVFbnVtO1xyXG59XHJcbiIsIjwhLS1yZW5kZXIgY29udGFpbmVyLS0+XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgcmVuZGVyQ29udGFpbmVyO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBncmlkRGF0YVNvdXJjZS5kYXRhJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhbGxDaGVja2VkOiBhbGxDaGVja2VkJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBncm91cGJ5OiBncm91cGJ5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpc0NoZWNrTGlzdDogY29udGV4dC5TZXR0aW5nLlZpZXc/LklzQ2hlY2tMaXN0LFxyXG4gICAgICAgICAgICBoYXNTdW1tYXJ5OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSGFzU3VtbWFyeVJvdyxcclxuICAgICAgICAgICAgY29sdW1uczogY29sdW1ucyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29sdW1uc0NvdW50OiBjb2x1bW5zQ291bnQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpbmxpbmVFZGl0TW9kZTogaW5saW5lRWRpdE1vZGUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIG9ubHlJbmxpbmVFZGl0OiBvbmx5SW5saW5lRWRpdCQgfCBhc3luYyxcclxuICAgICAgICAgICAgc2Vjb25kYXJ5Q29sdW1uczogc2Vjb25kYXJ5Q29sdW1ucyQgfCBhc3luYyxcclxuICAgICAgICAgICAgdG9vbGJhckJ1dHRvbnM6ICh0b29sYmFyQnV0dG9ucyQgfCBhc3luYykhISB8IHNlcGVyYXRvckZpeCxcclxuICAgICAgICAgICAgcG9waW46IChzZWNvbmRhcnlDb2x1bW5zQ291bnQkIHwgYXN5bmMpISEgPiAwID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICAgICAgICBjb250ZXh0TWVudUl0ZW1zOiBtZW51SXRlbXMkIHwgYXN5bmMgfCBjb250ZXh0TWVudTogY29udGV4dC5TZXR0aW5nLlZpZXc/LklzQ2hlY2tMaXN0LFxyXG4gICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbmRpdGlvbmFsRm9ybWF0cyQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGV2aWNlTmFtZTogZGV2aWNlTmFtZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgZGV2aWNlU2l6ZTogZGV2aWNlU2l6ZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgbW9iaWxlT3JUYWJsZXQ6IG1vYmlsZU9yVGFibGV0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhY2Nlc3M6IGNvbnRleHQuU2V0dGluZy5FeHRyYT8uRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxyXG4gICAgICAgICAgICBleHRyYVJlbGF0aW9uOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LlJlbGF0aW9uLFxyXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHJ0bDogcnRsJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogaGlkZVRvb2xiYXIkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGFsbENvbHVtbnM6IGFsbENvbHVtbnMsXHJcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nOiBncmlkU2V0dGluZyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBmb3JtU2V0dGluZzogY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZSxcclxuICAgICAgICAgICAgaGFzU2VsZWN0ZWQ6IGhhc1NlbGVjdGVkJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBzaG93T2tDYW5jZWxCdXR0b25zOiBzaG93T2tDYW5jZWxCdXR0b25zLFxyXG4gICAgICAgICAgICBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogdmlld1NldHRpbmc/LkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxyXG4gICAgICAgICAgICBuYXZpZ2F0aW9uQXJyb3c6IG5hdmlnYXRpb25BcnJvdyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29udGFpbmVyV2lkdGg6IGNvbnRhaW5lcldpZHRoJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBuZXdJbmxpbmVFZGl0TW86IG5ld0lubGluZUVkaXRNbyQgfCBhc3luYyxcclxuICAgICAgICAgICAgdHlwZURlZklkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0LlR5cGVEZWZJZCxcclxuICAgICAgICAgICAgcmVwb3J0SWQ6IGNvbnRleHQuU2V0dGluZy5FeHRyYS5SZXBvcnQuSWQsXHJcbiAgICAgICAgICAgIGxpc3RFZGl0Vmlld0lkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0Lkxpc3RFZGl0Vmlld0lkLFxyXG4gICAgICAgICAgICB0eXBlVmlld0lkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0LlR5cGVWaWV3SWQsXHJcbiAgICAgICAgICAgIGNvbnRleHRWaWV3OiBjb250ZXh0LlNldHRpbmcuVmlldyxcclxuICAgICAgICAgICAgY2FydGFibGVUZW1wbGF0ZXM6IGNhcnRhYmxlVGVtcGxhdGVzJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBjYXJ0YWJsZUNoaWxkc01vOiBjYXJ0YWJsZUNoaWxkc01vJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpbkRpYWxvZzogaW5EaWFsb2ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlzTXVsdGlTZWxlY3Q6IGlzTXVsdGlTZWxlY3QkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGRpc2FibGVSZXNwb25zaXZlOiBkaXNhYmxlUmVzcG9uc2l2ZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgZnVsbHNjcmVlbjogZnVsbHNjcmVlbiQgfCBhc3luYyxcclxuICAgICAgICAgICAgc2VsZWN0ZWRNbzogc2VsZWN0ZWRNbyQgfCBhc3luYyxcclxuICAgICAgICAgICAgZ3JpZEZyZWVDb2x1bW5TaXppbmc6IGdyaWRGcmVlQ29sdW1uU2l6aW5nJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhbGxvd0dyaWRDb2x1bW5Tb3J0OiBjb250ZXh0LlZpZXdTZXR0aW5nPy5BbGxvd0dyaWRDb2x1bW5Tb3J0LFxyXG4gICAgICAgICAgICBVbHZNYWluQ3RybHI6IGNvbnRleHQuQWRhcHRlcj8uVWx2TWFpbkN0cmxyLFxyXG4gICAgICAgICAgICBwYWdpbmdTZXR0aW5nOiBwYWdpbmdTZXR0aW5nJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBzaW1wbGVJbmxpbmVFZGl0OiBzaW1wbGVJbmxpbmVFZGl0LFxyXG4gICAgICAgICAgICBncm91cFN1bW1hcnk6IGdyb3VwU3VtbWFyeVxyXG4gICAgICAgIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLXJlbmRlciBjb250YWluZXIgLS0+XHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI3JlbmRlckNvbnRhaW5lclxyXG4gICAgbGV0LW1vRGF0YUxpc3RcclxuICAgIGxldC1hbGxDaGVja2VkPVwiYWxsQ2hlY2tlZFwiXHJcbiAgICBsZXQtaXNDaGVja0xpc3Q9XCJpc0NoZWNrTGlzdFwiXHJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxyXG4gICAgbGV0LWNvbHVtbnNDb3VudD1cImNvbHVtbnNDb3VudFwiXHJcbiAgICBsZXQtZ3JvdXBieT1cImdyb3VwYnlcIlxyXG4gICAgbGV0LXNlY29uZGFyeUNvbHVtbnM9XCJzZWNvbmRhcnlDb2x1bW5zXCJcclxuICAgIGxldC1jb250ZXh0TWVudUl0ZW1zPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgIGxldC1kZXZpY2VOYW1lPVwiZGV2aWNlTmFtZVwiXHJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxyXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXHJcbiAgICBsZXQtdG9vbGJhckJ1dHRvbnM9XCJ0b29sYmFyQnV0dG9uc1wiXHJcbiAgICBsZXQtcG9waW49XCJwb3BpblwiXHJcbiAgICBsZXQtbW9iaWxlT3JUYWJsZXQ9XCJtb2JpbGVPclRhYmxldFwiXHJcbiAgICBsZXQtdGl0bGU9XCJ0aXRsZVwiXHJcbiAgICBsZXQtaW5saW5lRWRpdE1vZGU9XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICBsZXQtYWxsb3dJbmxpbmVFZGl0PVwiYWxsb3dJbmxpbmVFZGl0XCJcclxuICAgIGxldC1oaWRlVG9vbGJhcj1cImhpZGVUb29sYmFyXCJcclxuICAgIGxldC1ncmlkU2V0dGluZz1cImdyaWRTZXR0aW5nXCJcclxuICAgIGxldC1jb250ZW50RGVuc2l0eT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgIGxldC1mb3JtU2V0dGluZz1cImZvcm1TZXR0aW5nXCJcclxuICAgIGxldC1oYXNTZWxlY3RlZD1cImhhc1NlbGVjdGVkXCJcclxuICAgIGxldC1zaG93T2tDYW5jZWxCdXR0b25zPVwic2hvd09rQ2FuY2VsQnV0dG9uc1wiXHJcbiAgICBsZXQtZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU9XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgIGxldC1jb250YWluZXJXaWR0aD1cImNvbnRhaW5lcldpZHRoXCJcclxuICAgIGxldC1uZXdJbmxpbmVFZGl0TW89XCJuZXdJbmxpbmVFZGl0TW9cIlxyXG4gICAgbGV0LWhhc1N1bW1hcnk9XCJoYXNTdW1tYXJ5XCJcclxuICAgIGxldC1leHRyYVJlbGF0aW9uPVwiZXh0cmFSZWxhdGlvblwiXHJcbiAgICBsZXQtdHlwZURlZklkPVwidHlwZURlZklkXCJcclxuICAgIGxldC1jb250ZXh0Vmlldz1cImNvbnRleHRWaWV3XCJcclxuICAgIGxldC1jYXJ0YWJsZVRlbXBsYXRlcz1cImNhcnRhYmxlVGVtcGxhdGVzXCJcclxuICAgIGxldC1jYXJ0YWJsZUNoaWxkc01vPVwiY2FydGFibGVDaGlsZHNNb1wiXHJcbiAgICBsZXQtaW5EaWFsb2c9XCJpbkRpYWxvZ1wiXHJcbiAgICBsZXQtaXNNdWx0aVNlbGVjdD1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgbGV0LWZ1bGxzY3JlZW49XCJmdWxsc2NyZWVuXCJcclxuICAgIGxldC1zZWxlY3RlZE1vPVwic2VsZWN0ZWRNb1wiXHJcbiAgICBsZXQtZGlzYWJsZVJlc3BvbnNpdmU9XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXHJcbiAgICBsZXQtZ3JpZEZyZWVDb2x1bW5TaXppbmc9XCJncmlkRnJlZUNvbHVtblNpemluZ1wiXHJcbiAgICBsZXQtcmVwb3J0SWQ9XCJyZXBvcnRJZFwiXHJcbiAgICBsZXQtbGlzdEVkaXRWaWV3SWQ9XCJsaXN0RWRpdFZpZXdJZFwiXHJcbiAgICBsZXQtdHlwZVZpZXdJZD1cInR5cGVWaWV3SWRcIlxyXG4gICAgbGV0LVVsdk1haW5DdHJscj1cIlVsdk1haW5DdHJsclwiXHJcbiAgICBsZXQtcnRsPVwicnRsXCJcclxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXHJcbiAgICBsZXQtYWxsb3dHcmlkQ29sdW1uU29ydD1cImFsbG93R3JpZENvbHVtblNvcnRcIlxyXG4gICAgbGV0LXBhZ2luZ1NldHRpbmc9XCJwYWdpbmdTZXR0aW5nXCJcclxuICAgIGxldC1zaW1wbGVJbmxpbmVFZGl0PVwic2ltcGxlSW5saW5lRWRpdFwiXHJcbiAgICBsZXQtZ3JvdXBTdW1tYXJ5PVwiZ3JvdXBTdW1tYXJ5XCJcclxuPlxyXG4gICAgPGJzdS11bHYtdG9vbGJhclxyXG4gICAgICAgIFtjbHNdPVwiY29udGV4dFZpZXcuR3JpZF9IaWRlSGVhZGVyID8gbnVsbCA6ICdib3JkZXItYi0wJ1wiXHJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbaGlkZVRpdGxlXT1cInRydWVcIlxyXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgIFt0b29sYmFyQnV0dG9uc109XCJ0b29sYmFyQnV0dG9uc1wiXHJcbiAgICAgICAgW2dyaWRTZXR0aW5nXT1cImdyaWRTZXR0aW5nXCJcclxuICAgICAgICBbVWx2TWFpbkN0cmxyXT1cIlVsdk1haW5DdHJsclwiXHJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxyXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcclxuICAgICAgICBbZGlzYWJsZVJlc3BvbnNpdmVdPVwiZGlzYWJsZVJlc3BvbnNpdmVcIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGUgJiYgYWxsb3dJbmxpbmVFZGl0ICYmIGZvcm1TZXR0aW5nXCJcclxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdCAmJiBmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Lmxlbmd0aFwiXHJcbiAgICAgICAgW2dyaWRGcmVlQ29sdW1uU2l6aW5nXT1cImdyaWRGcmVlQ29sdW1uU2l6aW5nXCJcclxuICAgICAgICBbYWxsb3dHcmlkQ29sdW1uU29ydF09XCJhbGxvd0dyaWRDb2x1bW5Tb3J0XCJcclxuICAgICAgICAoc29ydENsaWNrKT1cIm9uU29ydFNldHRpbmdzKGRldmljZU5hbWUpXCJcclxuICAgICAgICAoZ3JvdXBieUNsaWNrKT1cIm9uR3JvdXBieVNldHRpbmdzKGRldmljZU5hbWUpXCJcclxuICAgICAgICAoY29sdW1uQ2xpY2spPVwib25Db2x1bW5TZXR0aW5ncyhkZXZpY2VOYW1lKVwiXHJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcclxuICAgICAgICAoY3JlYXRlTmV3SW5saW5lTW8pPVwib25Ub29sYmFyQ3JlYXRlTmV3SW5saW5lTW8oKVwiXHJcbiAgICA+PC9ic3UtdWx2LXRvb2xiYXI+XHJcbiAgICA8YnN1LXVpLXRhYmxlLXZpZXdcclxuICAgICAgICBbZ3JvdXBTdW1tYXJ5XT1cImdyb3VwU3VtbWFyeVwiXHJcbiAgICAgICAgW2dyaWRGcmVlQ29sdW1uU2l6aW5nXT1cImdyaWRGcmVlQ29sdW1uU2l6aW5nXCJcclxuICAgICAgICBbVWx2TWFpbkN0cmxyXT1cIlVsdk1haW5DdHJsclwiXHJcbiAgICAgICAgW3NpbXBsZUlubGluZUVkaXRdPVwic2ltcGxlSW5saW5lRWRpdFwiXHJcbiAgICAgICAgW2NhcnRhYmxlVGVtcGxhdGVzXT1cImNhcnRhYmxlVGVtcGxhdGVzXCJcclxuICAgICAgICBbcGFnaW5nU2V0dGluZ109XCJwYWdpbmdTZXR0aW5nXCJcclxuICAgICAgICBbcGFyZW50SGVpZ2h0XT1cInBhcmVudEhlaWdodFwiXHJcbiAgICAgICAgW2Z1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiXHJcbiAgICAgICAgW3NlbGVjdGVkTW9dPVwic2VsZWN0ZWRNb1wiXHJcbiAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgIFthbGxvd0dyaWRDb2x1bW5Tb3J0XT1cImFsbG93R3JpZENvbHVtblNvcnRcIlxyXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXHJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXHJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgW2NhcnRhYmxlQ2hpbGRzTW9dPVwiY2FydGFibGVDaGlsZHNNb1wiXHJcbiAgICAgICAgW2NvbnRleHRWaWV3XT1cImNvbnRleHRWaWV3XCJcclxuICAgICAgICBbY29udGFpbmVyV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxyXG4gICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXHJcbiAgICAgICAgW2FsbENoZWNrZWRdPVwiYWxsQ2hlY2tlZFwiXHJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXHJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgIFtncm91cGJ5XT1cImdyb3VwYnlcIlxyXG4gICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgIFttb2JpbGVPclRhYmxldF09XCJtb2JpbGVPclRhYmxldFwiXHJcbiAgICAgICAgW2Rpc2FibGVSZXNwb25zaXZlXT1cImRpc2FibGVSZXNwb25zaXZlXCJcclxuICAgICAgICBbcG9waW5dPVwicG9waW5cIlxyXG4gICAgICAgIFtzZWNvbmRhcnlDb2x1bW5zXT1cInNlY29uZGFyeUNvbHVtbnNcIlxyXG4gICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZSAmJiBhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0ICYmIGZvcm1TZXR0aW5nXCJcclxuICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICBbY29sdW1uV2lkdGhdPVwiMTAwIC8gY29sdW1ucy5sZW5ndGhcIlxyXG4gICAgICAgIFtjb2x1bW5zQ291bnRdPVwiY29sdW1uc0NvdW50XCJcclxuICAgICAgICBbcm93SG92ZXJhYmxlXT1cInJvd0hvdmVyYWJsZVwiXHJcbiAgICAgICAgW3Jvd0FjdGl2YWJsZV09XCJyb3dBY3RpdmFibGVcIlxyXG4gICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW3R5cGVEZWZJZF09XCJ0eXBlRGVmSWRcIlxyXG4gICAgICAgIFtyZXBvcnRJZF09XCJyZXBvcnRJZFwiXHJcbiAgICAgICAgW2xpc3RFZGl0Vmlld0lkXT1cImxpc3RFZGl0Vmlld0lkXCJcclxuICAgICAgICBbdHlwZVZpZXdJZF09XCJ0eXBlVmlld0lkXCJcclxuICAgICAgICBbZXh0cmFSZWxhdGlvbl09XCJleHRyYVJlbGF0aW9uXCJcclxuICAgICAgICBbc2hvd09rQ2FuY2VsQnV0dG9uc109XCJzaG93T2tDYW5jZWxCdXR0b25zXCJcclxuICAgICAgICBbZml0V2lkdGhdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtoYXNTdW1tYXJ5XT1cImhhc1N1bW1hcnlcIlxyXG4gICAgICAgIFtyb3dSZXNpemVyXT1cInJvd1Jlc2l6ZXJcIlxyXG4gICAgICAgIFtlbmFibGVSZXNpemluZ109XCJlbmFibGVSZXNpemluZ1wiXHJcbiAgICAgICAgW25ld0lubGluZUVkaXRNb109XCJuZXdJbmxpbmVFZGl0TW9cIlxyXG4gICAgICAgIChjb2x1bW5TdW1tYXJ5KT1cIm9uQ29sdW1uU3VtbWFyeSgkZXZlbnQpXCJcclxuICAgICAgICAoZXNjYXBlS2V5KT1cIm9uRXNjYXBlS2V5KCRldmVudClcIlxyXG4gICAgICAgIChkZXNlbGVjdEFsbCk9XCJvbkRlc2VsZWN0QWxsKClcIlxyXG4gICAgICAgICh1bHZDb21tYW5kQ2xpY2spPVwib25VbHZDb21tYW5kKCRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3ROZXh0SW5saW5lUmVjb3JkKT1cIm9uU2VsZWN0TmV4dElubGluZVJlY29yZCgkZXZlbnQpXCJcclxuICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxTYXZlKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSk9XCJvbkVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAoc29ydEFzY2VuZGluZyk9XCJvblNvcnRBc2NlbmRpbmcoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNvcnREZXNjZW5kaW5nKT1cIm9uU29ydERlc2NlbmRpbmcoJGV2ZW50KVwiXHJcbiAgICAgICAgKGZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAocm93Q2hlY2spPVwib25Sb3dDaGVjaygkZXZlbnQpXCJcclxuICAgICAgICAoYWxsQ2hlY2tib3gpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcclxuICAgICAgICAoZXhwYW5kQ2xpY2spPVwib25FeHBhbmRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoY29sdW1uUmVzaXplZCk9XCJvbkNvbHVtblJlc2l6ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHdvcmtmbG93U2hhcmVCdXR0b25zKT1cIm9uV29ya2Zsb3dTaGFyZUJ1dHRvbnMoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJlc2V0R3JpZFNldHRpbmdzKT1cIm9uUmVzZXRHcmlkU2V0dGluZ3MoKVwiXHJcbiAgICA+XHJcbiAgICA8L2JzdS11aS10YWJsZS12aWV3PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JpZC91aS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7OztBQVMvRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx3QkFBaUQ7SUFQdEY7O1FBU0ksbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztLQUNqQzsrR0FMWSxlQUFlO21HQUFmLGVBQWUsa0lDYjVCLHdyVEFzTkE7OzRGRHpNYSxlQUFlO2tCQVAzQixTQUFTOytCQUNJLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdSLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2FwLXVpLXJlcG9ydC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdpZHRoVHlwZUVudW0gfSBmcm9tICcuLi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktZ3JpZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZ3JpZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1ncmlkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUdyaWRDb21wb25lbnQgZXh0ZW5kcyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IHtcclxuICAgIEBJbnB1dCgpIHNob3dPa0NhbmNlbEJ1dHRvbnM7XHJcbiAgICBlbmFibGVSZXNpemluZyA9IHRydWU7XHJcbiAgICByb3dSZXNpemVyID0gZmFsc2U7XHJcbiAgICB3aWR0aFR5cGVFbnVtID0gV2lkdGhUeXBlRW51bTtcclxufVxyXG4iLCI8IS0tcmVuZGVyIGNvbnRhaW5lci0tPlxyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIHJlbmRlckNvbnRhaW5lcjtcclxuICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICRpbXBsaWNpdDogZ3JpZERhdGFTb3VyY2UuZGF0YSQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWxsQ2hlY2tlZDogYWxsQ2hlY2tlZCQgfCBhc3luYyxcclxuICAgICAgICAgICAgZ3JvdXBieTogZ3JvdXBieSQgfCBhc3luYyxcclxuICAgICAgICAgICAgaXNDaGVja0xpc3Q6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcclxuICAgICAgICAgICAgaGFzU3VtbWFyeTogY29udGV4dC5TZXR0aW5nLlZpZXc/Lkhhc1N1bW1hcnlSb3csXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnMkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbHVtbnNDb3VudDogY29sdW1uc0NvdW50JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhbGxvd0lubGluZUVkaXQ6IGFsbG93SW5saW5lRWRpdCQgfCBhc3luYyxcclxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBvbmx5SW5saW5lRWRpdDogb25seUlubGluZUVkaXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNlY29uZGFyeUNvbHVtbnM6IHNlY29uZGFyeUNvbHVtbnMkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zOiAodG9vbGJhckJ1dHRvbnMkIHwgYXN5bmMpISEgfCBzZXBlcmF0b3JGaXgsXHJcbiAgICAgICAgICAgIHBvcGluOiAoc2Vjb25kYXJ5Q29sdW1uc0NvdW50JCB8IGFzeW5jKSEhID4gMCA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAgICAgY29udGV4dE1lbnVJdGVtczogbWVudUl0ZW1zJCB8IGFzeW5jIHwgY29udGV4dE1lbnU6IGNvbnRleHQuU2V0dGluZy5WaWV3Py5Jc0NoZWNrTGlzdCxcclxuICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXRzOiBjb25kaXRpb25hbEZvcm1hdHMkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGRldmljZVNpemU6IGRldmljZVNpemUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIG1vYmlsZU9yVGFibGV0OiBtb2JpbGVPclRhYmxldCQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcclxuICAgICAgICAgICAgZXh0cmFSZWxhdGlvbjogY29udGV4dC5TZXR0aW5nLkV4dHJhPy5SZWxhdGlvbixcclxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBydGw6IHJ0bCQgfCBhc3luYyxcclxuICAgICAgICAgICAgaGlkZVRvb2xiYXI6IGhpZGVUb29sYmFyJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhbGxDb2x1bW5zOiBhbGxDb2x1bW5zLFxyXG4gICAgICAgICAgICBncmlkU2V0dGluZzogZ3JpZFNldHRpbmckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5OiBjb250ZW50RGVuc2l0eSQgfCBhc3luYyxcclxuICAgICAgICAgICAgZm9ybVNldHRpbmc6IGNvbnRleHQuU2V0dGluZy5Gb3JtVGVtcGxhdGUsXHJcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcclxuICAgICAgICAgICAgc2hvd09rQ2FuY2VsQnV0dG9uczogc2hvd09rQ2FuY2VsQnV0dG9ucyxcclxuICAgICAgICAgICAgZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU6IHZpZXdTZXR0aW5nPy5EaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudSxcclxuICAgICAgICAgICAgbmF2aWdhdGlvbkFycm93OiBuYXZpZ2F0aW9uQXJyb3ckIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGNvbnRhaW5lcldpZHRoOiBjb250YWluZXJXaWR0aCQgfCBhc3luYyxcclxuICAgICAgICAgICAgbmV3SW5saW5lRWRpdE1vOiBuZXdJbmxpbmVFZGl0TW8kIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHR5cGVEZWZJZDogY29udGV4dC5TZXR0aW5nLkV4dHJhLlJlcG9ydC5UeXBlRGVmSWQsXHJcbiAgICAgICAgICAgIHJlcG9ydElkOiBjb250ZXh0LlNldHRpbmcuRXh0cmEuUmVwb3J0LklkLFxyXG4gICAgICAgICAgICBsaXN0RWRpdFZpZXdJZDogY29udGV4dC5TZXR0aW5nLkV4dHJhLlJlcG9ydC5MaXN0RWRpdFZpZXdJZCxcclxuICAgICAgICAgICAgdHlwZVZpZXdJZDogY29udGV4dC5TZXR0aW5nLkV4dHJhLlJlcG9ydC5UeXBlVmlld0lkLFxyXG4gICAgICAgICAgICBjb250ZXh0VmlldzogY29udGV4dC5TZXR0aW5nLlZpZXcsXHJcbiAgICAgICAgICAgIGNhcnRhYmxlVGVtcGxhdGVzOiBjYXJ0YWJsZVRlbXBsYXRlcyQgfCBhc3luYyxcclxuICAgICAgICAgICAgY2FydGFibGVDaGlsZHNNbzogY2FydGFibGVDaGlsZHNNbyQgfCBhc3luYyxcclxuICAgICAgICAgICAgaW5EaWFsb2c6IGluRGlhbG9nJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBpc011bHRpU2VsZWN0OiBpc011bHRpU2VsZWN0JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkaXNhYmxlUmVzcG9uc2l2ZTogZGlzYWJsZVJlc3BvbnNpdmUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGZ1bGxzY3JlZW46IGZ1bGxzY3JlZW4kIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkTW86IHNlbGVjdGVkTW8kIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGdyaWRGcmVlQ29sdW1uU2l6aW5nOiBncmlkRnJlZUNvbHVtblNpemluZyQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWxsb3dHcmlkQ29sdW1uU29ydDogY29udGV4dC5WaWV3U2V0dGluZz8uQWxsb3dHcmlkQ29sdW1uU29ydCxcclxuICAgICAgICAgICAgVWx2TWFpbkN0cmxyOiBjb250ZXh0LkFkYXB0ZXI/LlVsdk1haW5DdHJscixcclxuICAgICAgICAgICAgcGFnaW5nU2V0dGluZzogcGFnaW5nU2V0dGluZyQgfCBhc3luYyxcclxuICAgICAgICAgICAgc2ltcGxlSW5saW5lRWRpdDogc2ltcGxlSW5saW5lRWRpdCxcclxuICAgICAgICAgICAgZ3JvdXBTdW1tYXJ5OiBncm91cFN1bW1hcnlcclxuICAgICAgICB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS1yZW5kZXIgY29udGFpbmVyIC0tPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNyZW5kZXJDb250YWluZXJcclxuICAgIGxldC1tb0RhdGFMaXN0XHJcbiAgICBsZXQtYWxsQ2hlY2tlZD1cImFsbENoZWNrZWRcIlxyXG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxyXG4gICAgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCJcclxuICAgIGxldC1jb2x1bW5zQ291bnQ9XCJjb2x1bW5zQ291bnRcIlxyXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcclxuICAgIGxldC1zZWNvbmRhcnlDb2x1bW5zPVwic2Vjb25kYXJ5Q29sdW1uc1wiXHJcbiAgICBsZXQtY29udGV4dE1lbnVJdGVtcz1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxyXG4gICAgbGV0LWRldmljZVNpemU9XCJkZXZpY2VTaXplXCJcclxuICAgIGxldC1hY2Nlc3M9XCJhY2Nlc3NcIlxyXG4gICAgbGV0LXRvb2xiYXJCdXR0b25zPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgbGV0LXBvcGluPVwicG9waW5cIlxyXG4gICAgbGV0LW1vYmlsZU9yVGFibGV0PVwibW9iaWxlT3JUYWJsZXRcIlxyXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxyXG4gICAgbGV0LWlubGluZUVkaXRNb2RlPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXHJcbiAgICBsZXQtaGlkZVRvb2xiYXI9XCJoaWRlVG9vbGJhclwiXHJcbiAgICBsZXQtZ3JpZFNldHRpbmc9XCJncmlkU2V0dGluZ1wiXHJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICBsZXQtZm9ybVNldHRpbmc9XCJmb3JtU2V0dGluZ1wiXHJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXHJcbiAgICBsZXQtc2hvd09rQ2FuY2VsQnV0dG9ucz1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxyXG4gICAgbGV0LWRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51PVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgbGV0LW5hdmlnYXRpb25BcnJvdz1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICBsZXQtY29udGFpbmVyV2lkdGg9XCJjb250YWluZXJXaWR0aFwiXHJcbiAgICBsZXQtbmV3SW5saW5lRWRpdE1vPVwibmV3SW5saW5lRWRpdE1vXCJcclxuICAgIGxldC1oYXNTdW1tYXJ5PVwiaGFzU3VtbWFyeVwiXHJcbiAgICBsZXQtZXh0cmFSZWxhdGlvbj1cImV4dHJhUmVsYXRpb25cIlxyXG4gICAgbGV0LXR5cGVEZWZJZD1cInR5cGVEZWZJZFwiXHJcbiAgICBsZXQtY29udGV4dFZpZXc9XCJjb250ZXh0Vmlld1wiXHJcbiAgICBsZXQtY2FydGFibGVUZW1wbGF0ZXM9XCJjYXJ0YWJsZVRlbXBsYXRlc1wiXHJcbiAgICBsZXQtY2FydGFibGVDaGlsZHNNbz1cImNhcnRhYmxlQ2hpbGRzTW9cIlxyXG4gICAgbGV0LWluRGlhbG9nPVwiaW5EaWFsb2dcIlxyXG4gICAgbGV0LWlzTXVsdGlTZWxlY3Q9XCJpc011bHRpU2VsZWN0XCJcclxuICAgIGxldC1mdWxsc2NyZWVuPVwiZnVsbHNjcmVlblwiXHJcbiAgICBsZXQtc2VsZWN0ZWRNbz1cInNlbGVjdGVkTW9cIlxyXG4gICAgbGV0LWRpc2FibGVSZXNwb25zaXZlPVwiZGlzYWJsZVJlc3BvbnNpdmVcIlxyXG4gICAgbGV0LWdyaWRGcmVlQ29sdW1uU2l6aW5nPVwiZ3JpZEZyZWVDb2x1bW5TaXppbmdcIlxyXG4gICAgbGV0LXJlcG9ydElkPVwicmVwb3J0SWRcIlxyXG4gICAgbGV0LWxpc3RFZGl0Vmlld0lkPVwibGlzdEVkaXRWaWV3SWRcIlxyXG4gICAgbGV0LXR5cGVWaWV3SWQ9XCJ0eXBlVmlld0lkXCJcclxuICAgIGxldC1VbHZNYWluQ3RybHI9XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgbGV0LXJ0bD1cInJ0bFwiXHJcbiAgICBsZXQtYWxsQ29sdW1ucz1cImFsbENvbHVtbnNcIlxyXG4gICAgbGV0LWFsbG93R3JpZENvbHVtblNvcnQ9XCJhbGxvd0dyaWRDb2x1bW5Tb3J0XCJcclxuICAgIGxldC1wYWdpbmdTZXR0aW5nPVwicGFnaW5nU2V0dGluZ1wiXHJcbiAgICBsZXQtc2ltcGxlSW5saW5lRWRpdD1cInNpbXBsZUlubGluZUVkaXRcIlxyXG4gICAgbGV0LWdyb3VwU3VtbWFyeT1cImdyb3VwU3VtbWFyeVwiXHJcbj5cclxuICAgIDxic3UtdWx2LXRvb2xiYXJcclxuICAgICAgICBbY2xzXT1cImNvbnRleHRWaWV3LkdyaWRfSGlkZUhlYWRlciA/IG51bGwgOiAnYm9yZGVyLWItMCdcIlxyXG4gICAgICAgIFtoaWRlVG9vbGJhcl09XCJoaWRlVG9vbGJhclwiXHJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgW2hpZGVUaXRsZV09XCJ0cnVlXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxyXG4gICAgICAgIFtncmlkU2V0dGluZ109XCJncmlkU2V0dGluZ1wiXHJcbiAgICAgICAgW1Vsdk1haW5DdHJscl09XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICAgICAgW2hhc1NlbGVjdGVkXT1cImhhc1NlbGVjdGVkXCJcclxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXHJcbiAgICAgICAgW2Rpc2FibGVSZXNwb25zaXZlXT1cImRpc2FibGVSZXNwb25zaXZlXCJcclxuICAgICAgICBbaW5EaWFsb2ddPVwiaW5EaWFsb2dcIlxyXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlICYmIGFsbG93SW5saW5lRWRpdCAmJiBmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXQgJiYgZm9ybVNldHRpbmdcIlxyXG4gICAgICAgIFttb0RhdGFMaXN0Q291bnRdPVwibW9EYXRhTGlzdC5sZW5ndGhcIlxyXG4gICAgICAgIFtncmlkRnJlZUNvbHVtblNpemluZ109XCJncmlkRnJlZUNvbHVtblNpemluZ1wiXHJcbiAgICAgICAgW2FsbG93R3JpZENvbHVtblNvcnRdPVwiYWxsb3dHcmlkQ29sdW1uU29ydFwiXHJcbiAgICAgICAgKHNvcnRDbGljayk9XCJvblNvcnRTZXR0aW5ncyhkZXZpY2VOYW1lKVwiXHJcbiAgICAgICAgKGdyb3VwYnlDbGljayk9XCJvbkdyb3VwYnlTZXR0aW5ncyhkZXZpY2VOYW1lKVwiXHJcbiAgICAgICAgKGNvbHVtbkNsaWNrKT1cIm9uQ29sdW1uU2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxyXG4gICAgICAgIChlZGl0TW9kZUNsaWNrKT1cIm9uRWRpdE1vZGUoKVwiXHJcbiAgICAgICAgKGNyZWF0ZU5ld0lubGluZU1vKT1cIm9uVG9vbGJhckNyZWF0ZU5ld0lubGluZU1vKClcIlxyXG4gICAgPjwvYnN1LXVsdi10b29sYmFyPlxyXG4gICAgPGJzdS11aS10YWJsZS12aWV3XHJcbiAgICAgICAgW2dyb3VwU3VtbWFyeV09XCJncm91cFN1bW1hcnlcIlxyXG4gICAgICAgIFtncmlkRnJlZUNvbHVtblNpemluZ109XCJncmlkRnJlZUNvbHVtblNpemluZ1wiXHJcbiAgICAgICAgW1Vsdk1haW5DdHJscl09XCJVbHZNYWluQ3RybHJcIlxyXG4gICAgICAgIFtzaW1wbGVJbmxpbmVFZGl0XT1cInNpbXBsZUlubGluZUVkaXRcIlxyXG4gICAgICAgIFtjYXJ0YWJsZVRlbXBsYXRlc109XCJjYXJ0YWJsZVRlbXBsYXRlc1wiXHJcbiAgICAgICAgW3BhZ2luZ1NldHRpbmddPVwicGFnaW5nU2V0dGluZ1wiXHJcbiAgICAgICAgW3BhcmVudEhlaWdodF09XCJwYXJlbnRIZWlnaHRcIlxyXG4gICAgICAgIFtmdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIlxyXG4gICAgICAgIFtzZWxlY3RlZE1vXT1cInNlbGVjdGVkTW9cIlxyXG4gICAgICAgIFtydGxdPVwicnRsXCJcclxuICAgICAgICBbYWxsb3dHcmlkQ29sdW1uU29ydF09XCJhbGxvd0dyaWRDb2x1bW5Tb3J0XCJcclxuICAgICAgICBbaW5EaWFsb2ddPVwiaW5EaWFsb2dcIlxyXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxyXG4gICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgIFtjYXJ0YWJsZUNoaWxkc01vXT1cImNhcnRhYmxlQ2hpbGRzTW9cIlxyXG4gICAgICAgIFtjb250ZXh0Vmlld109XCJjb250ZXh0Vmlld1wiXHJcbiAgICAgICAgW2NvbnRhaW5lcldpZHRoXT1cImNvbnRhaW5lcldpZHRoXCJcclxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgIFthbGxDaGVja2VkXT1cImFsbENoZWNrZWRcIlxyXG4gICAgICAgIFttb0RhdGFMaXN0XT1cIm1vRGF0YUxpc3RcIlxyXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcclxuICAgICAgICBbZ3JvdXBieV09XCJncm91cGJ5XCJcclxuICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgICAgICBbbW9iaWxlT3JUYWJsZXRdPVwibW9iaWxlT3JUYWJsZXRcIlxyXG4gICAgICAgIFtkaXNhYmxlUmVzcG9uc2l2ZV09XCJkaXNhYmxlUmVzcG9uc2l2ZVwiXHJcbiAgICAgICAgW3BvcGluXT1cInBvcGluXCJcclxuICAgICAgICBbc2Vjb25kYXJ5Q29sdW1uc109XCJzZWNvbmRhcnlDb2x1bW5zXCJcclxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGUgJiYgYWxsb3dJbmxpbmVFZGl0XCJcclxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdCAmJiBmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgW2NvbHVtbldpZHRoXT1cIjEwMCAvIGNvbHVtbnMubGVuZ3RoXCJcclxuICAgICAgICBbY29sdW1uc0NvdW50XT1cImNvbHVtbnNDb3VudFwiXHJcbiAgICAgICAgW3Jvd0hvdmVyYWJsZV09XCJyb3dIb3ZlcmFibGVcIlxyXG4gICAgICAgIFtyb3dBY3RpdmFibGVdPVwicm93QWN0aXZhYmxlXCJcclxuICAgICAgICBbZm9ybVNldHRpbmddPVwiZm9ybVNldHRpbmdcIlxyXG4gICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcclxuICAgICAgICBbcmVwb3J0SWRdPVwicmVwb3J0SWRcIlxyXG4gICAgICAgIFtsaXN0RWRpdFZpZXdJZF09XCJsaXN0RWRpdFZpZXdJZFwiXHJcbiAgICAgICAgW3R5cGVWaWV3SWRdPVwidHlwZVZpZXdJZFwiXHJcbiAgICAgICAgW2V4dHJhUmVsYXRpb25dPVwiZXh0cmFSZWxhdGlvblwiXHJcbiAgICAgICAgW3Nob3dPa0NhbmNlbEJ1dHRvbnNdPVwic2hvd09rQ2FuY2VsQnV0dG9uc1wiXHJcbiAgICAgICAgW2ZpdFdpZHRoXT1cImZhbHNlXCJcclxuICAgICAgICBbaGFzU3VtbWFyeV09XCJoYXNTdW1tYXJ5XCJcclxuICAgICAgICBbcm93UmVzaXplcl09XCJyb3dSZXNpemVyXCJcclxuICAgICAgICBbZW5hYmxlUmVzaXppbmddPVwiZW5hYmxlUmVzaXppbmdcIlxyXG4gICAgICAgIFtuZXdJbmxpbmVFZGl0TW9dPVwibmV3SW5saW5lRWRpdE1vXCJcclxuICAgICAgICAoY29sdW1uU3VtbWFyeSk9XCJvbkNvbHVtblN1bW1hcnkoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVzY2FwZUtleSk9XCJvbkVzY2FwZUtleSgkZXZlbnQpXCJcclxuICAgICAgICAoZGVzZWxlY3RBbGwpPVwib25EZXNlbGVjdEFsbCgpXCJcclxuICAgICAgICAodWx2Q29tbWFuZENsaWNrKT1cIm9uVWx2Q29tbWFuZCgkZXZlbnQpXCJcclxuICAgICAgICAoc2VsZWN0TmV4dElubGluZVJlY29yZCk9XCJvblNlbGVjdE5leHRJbmxpbmVSZWNvcmQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxDYW5jZWwpPVwib25FZGl0Rm9ybVBhbmVsQ2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgIChlZGl0Rm9ybVBhbmVsU2F2ZSk9XCJvbkVkaXRGb3JtUGFuZWxTYXZlKCRldmVudClcIlxyXG4gICAgICAgIChlZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UpPVwib25FZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNvcnRBc2NlbmRpbmcpPVwib25Tb3J0QXNjZW5kaW5nKCRldmVudClcIlxyXG4gICAgICAgIChzb3J0RGVzY2VuZGluZyk9XCJvblNvcnREZXNjZW5kaW5nKCRldmVudClcIlxyXG4gICAgICAgIChmaWx0ZXIpPVwib25GaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKHJvd0NoZWNrKT1cIm9uUm93Q2hlY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGFsbENoZWNrYm94KT1cIm9uQWxsQ2hlY2tib3goJGV2ZW50KVwiXHJcbiAgICAgICAgKGV4cGFuZENsaWNrKT1cIm9uRXhwYW5kQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKGNvbHVtblJlc2l6ZWQpPVwib25Db2x1bW5SZXNpemVkKCRldmVudClcIlxyXG4gICAgICAgICh3b3JrZmxvd1NoYXJlQnV0dG9ucyk9XCJvbldvcmtmbG93U2hhcmVCdXR0b25zKCRldmVudClcIlxyXG4gICAgICAgIChyZXNldEdyaWRTZXR0aW5ncyk9XCJvblJlc2V0R3JpZFNldHRpbmdzKClcIlxyXG4gICAgPlxyXG4gICAgPC9ic3UtdWktdGFibGUtdmlldz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -16,6 +16,7 @@ import * as i12 from "@fundamental-ngx/core/toolbar";
16
16
  import * as i13 from "@fundamental-ngx/core/token";
17
17
  import * as i14 from "../no-data/no-data.component";
18
18
  import * as i15 from "../list-item/list-item.component";
19
+ import * as i16 from "../contentDensity.directive";
19
20
  export class UiListViewComponent extends ReportViewBaseComponent {
20
21
  constructor() {
21
22
  super(...arguments);
@@ -66,7 +67,7 @@ export class UiListViewComponent extends ReportViewBaseComponent {
66
67
  }
67
68
  }
68
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiListViewComponent, selector: "bsu-ui-list-view", viewQueries: [{ propertyName: "popupModeTemplateRef", first: true, predicate: ["popupModeTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultModeTemplateRef", first: true, predicate: ["defaultMode"], descendants: true, read: TemplateRef, static: true }, { propertyName: "_menu", first: true, predicate: ["menu"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"selectedPresentaionTemplate\"></ng-container>\r\n\r\n<ng-template #popupModeTemplate>\r\n <ng-container *ngTemplateOutlet=\"deviceSize === 's' ? mobileTpl : desktopTpl\"></ng-container>\r\n\r\n <!-- <fd-menu [appendTo]=\"_el\"\r\n #menu [mobile]=\"deviceSize === 's'\" >\r\n</fd-menu> -->\r\n</ng-template>\r\n<ng-template #mobileTpl>\r\n <div class=\"popup-mode\">\r\n <ng-container *ngTemplateOutlet=\"buttonDropDown; context: { menu: menu }\"></ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"tokensTpl\"></ng-container>\r\n <fd-menu #menu [mobile]=\"true\" [mobileConfig]=\"{ title: title | bbbTranslate, hasCloseButton: true }\">\r\n <ng-container *ngTemplateOutlet=\"defaultMode; context: { popover: menu, popupMode: true }\"></ng-container>\r\n </fd-menu>\r\n</ng-template>\r\n<ng-template #desktopTpl>\r\n <fd-popover #popover fillControlMode=\"equal\">\r\n <fd-popover-control class=\"popup-mode\">\r\n <ng-container *ngTemplateOutlet=\"buttonDropDown\"></ng-container>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ng-container\r\n *ngTemplateOutlet=\"defaultMode; context: { popover: popover, popupMode: true }\"\r\n ></ng-container>\r\n </fd-popover-body>\r\n </fd-popover>\r\n <ng-container *ngTemplateOutlet=\"tokensTpl\"></ng-container>\r\n</ng-template>\r\n<ng-template #buttonDropDown let-menu=\"menu\">\r\n <button\r\n class=\"drop-down\"\r\n fd-button\r\n [label]=\"selectedMo ? (selectedMo.$Caption | bbbTranslate) : (title | bbbTranslate)\"\r\n [fdMenu]=\"true\"\r\n [fdMenuTrigger]=\"menu\"\r\n >\r\n @if (selectedCount > 0 && isCheckList) {\r\n <span fd-object-status [inverted]=\"true\" [label]=\"selectedCount\" [title]=\"selectedCount\"></span>\r\n }\r\n </button>\r\n</ng-template>\r\n<ng-template #tokensTpl>\r\n @if (isCheckList && hasSelected) {\r\n <div style=\"padding: 5px; display: flex; flex-wrap: wrap; row-gap: 5px; column-gap: 5px\">\r\n @for (mo of moDataList; track mo; let index = $index) { @if (mo.$IsChecked) {\r\n <fd-token fdCozy [readOnly]=\"false\" (onCloseClick)=\"onRowCheck({mo, index})\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n } }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #defaultMode let-popover=\"popover\" let-popupMode=\"popupMode\">\r\n <fd-layout-panel [class.popup-mode]=\"popupMode\" [ngClass]=\"'size-' + deviceSize\">\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h4 fd-layout-panel-title>{{ title | bbbTranslate }}</h4>\r\n @if (selectedCount > 0) {\r\n <span fd-object-status [inverted]=\"true\" [label]=\"selectedCount\" [title]=\"selectedCount\"></span>\r\n }\r\n </fd-layout-panel-head>\r\n <fd-layout-panel-actions>\r\n @if (deviceSize !== 's') {\r\n <button\r\n style=\"margin-top: 5px\"\r\n fd-button\r\n glyph=\"decline\"\r\n fdType=\"transparent\"\r\n (click)=\"popover.close()\"\r\n ></button>\r\n }\r\n </fd-layout-panel-actions>\r\n </fd-layout-panel-header>\r\n @if (isCheckList && moDataList.length) {\r\n <fd-layout-panel-filters>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <a class=\"clearCheckAll\" (click)=\"onAllCheckbox($event)\" fd-link [aria-label]=\"'All' | bbbTranslate\">{{\r\n 'All' | bbbTranslate\r\n }}</a>\r\n <label fd-toolbar-label style=\"font-size: 1rem; font-weight: bold\">.</label>\r\n <a\r\n (click)=\"onClearCheckbox()\"\r\n fd-toolbar-item\r\n class=\"clearCheckAll\"\r\n fd-link\r\n [aria-label]=\"'Clear' | bbbTranslate\"\r\n >{{ 'Clear' | bbbTranslate }}</a\r\n >\r\n </fd-toolbar>\r\n </fd-layout-panel-filters>\r\n }\r\n\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n isDisplayType ? displayListTemplate : standardListTemplate;\r\n context: {\r\n $implicit: moDataList,\r\n isCheckList: isCheckList,\r\n groupby: groupby,\r\n conditionalFormats: conditionalFormats,\r\n deviceName: deviceName,\r\n viewSetting: viewSetting,\r\n allColumns: allColumns,\r\n access: access,\r\n rtl: rtl,\r\n popover: popover\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </fd-layout-panel-body>\r\n </fd-layout-panel>\r\n</ng-template>\r\n\r\n<!--display list-->\r\n<ng-template\r\n #displayListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-allColumns=\"allColumns\"\r\n let-viewSetting=\"viewSetting\"\r\n let-access=\"access\"\r\n let-rtl=\"rtl\"\r\n>\r\n @if (moDataList && moDataList.length > 0) {\r\n <ul fd-list class=\"display-list fd-list--navigation\" ellipsify>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if\r\n (!mo.parent || mo.parent?.expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n ></ng-container>\r\n } }\r\n </ul>\r\n } @else {\r\n <bsu-no-data [simple]=\"popupMode\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<!--standard list-->\r\n<ng-template\r\n #standardListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-allColumns=\"allColumns\"\r\n let-deviceName=\"deviceName\"\r\n let-access=\"access\"\r\n let-viewSetting=\"viewSetting\"\r\n let-rtl=\"rtl\"\r\n let-last=\"last\"\r\n>\r\n @if (moDataList && moDataList.length > 0) {\r\n <ul class=\"fd-list--navigation\" [class.fd-list--byline]=\"!isDisplayType\" fd-list [byline]=\"true\" ellipsify>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (!mo.parent ||\r\n mo.parent?.expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n ></ng-container>\r\n } }\r\n </ul>\r\n } @else {\r\n <bsu-no-data [simple]=\"popupMode\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n\r\n<!--noData-->\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n @if (mo.group || mo.group === '') {\r\n <li\r\n fd-list-group-header\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.level\"\r\n [class.root-group]=\"mo.level === 0\"\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.group }}</span>\r\n </li>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n hasRowOlgo ? dynamicItemTemplate : defaultItem;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-template\r\n #defaultItem\r\n let-mo\r\n let-index=\"index\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n >\r\n @if (!hasRowOlgo) {\r\n <bsu-list-item\r\n [isDisplayType]=\"isDisplayType\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [last]=\"last\"\r\n [setting]=\"listSetting\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [allColumns]=\"allColumns\"\r\n [contentDensity]=\"contentDensity\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n >\r\n </bsu-list-item>\r\n } @else {\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.RowOlgo\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [moDataList]=\"moDataList\"\r\n [showDetailsInRow]=\"showDetailsInRow\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\r\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\r\n [cartableMo]=\"mo.RelatedMo\"\r\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\r\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\r\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [moDataListCount]=\"moDataListCount\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [typeDefId]=\"typeDefId\"\r\n [extraRelation]=\"extraRelation\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"index\"\r\n [last]=\"last\"\r\n [setting]=\"viewSetting\"\r\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns:false\"\r\n [columns]=\"columns | filterColumnsByDetails: detailsColumns:false\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [access]=\"access\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\r\n (events)=\"onOlgoEvents($event)\"\r\n >\r\n </bnrc-dynamic-item-component>\r\n }\r\n </ng-template>\r\n <ng-template\r\n #dynamicItemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n >\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.RowOlgo\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [moDataList]=\"moDataList\"\r\n [showDetailsInRow]=\"showDetailsInRow\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\r\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\r\n [cartableMo]=\"mo.RelatedMo\"\r\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\r\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\r\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [moDataListCount]=\"moDataListCount\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [typeDefId]=\"typeDefId\"\r\n [extraRelation]=\"extraRelation\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"index\"\r\n [last]=\"last\"\r\n [setting]=\"viewSetting\"\r\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns:false\"\r\n [columns]=\"columns | filterColumnsByDetails: detailsColumns:false\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [access]=\"access\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\r\n (events)=\"onOlgoEvents($event)\"\r\n >\r\n </bnrc-dynamic-item-component>\r\n </ng-template>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block}.fd-list__group-header{column-gap:10px;align-items:center}.header th{border-left:none!important;border-right:none!important}.clearCheckAll{text-decoration:none!important}.fd-list--navigation-indication .fd-list__item:after{min-width:0!important}li.standard-list-row{padding-top:.2rem;padding-bottom:.2rem;min-height:4rem;justify-content:space-evenly;column-gap:10px}li.standard-list-row:hover:not(.selected){background-color:var(--sapBackgroundColor, #f7f7f7)}li.standard-list-row .fd-list__content{row-gap:.4rem}li.standard-list-row .fd-list__content .fd-list__byline{padding:0;font-size:.775rem}li.standard-list-row ::ng-deep .fd-form-item{position:static}li.standard-list-row ::ng-deep .fd-form-item .fd-checkbox__label--compact{padding:0;margin-left:0}li.standard-list-row ::ng-deep fd-icon{font-size:.75rem!important}fd-layout-panel{height:100%}.li-link.checklink[rtl=true]{padding-right:0!important}.li-link.checklist[rtl=false]{padding-left:0!important}.standard-list-group-label{padding-top:10px;padding-bottom:3px}fd-layout-panel-header{display:none}fd-layout-panel.popup-mode.size-s{box-shadow:none!important}fd-layout-panel.popup-mode.size-s fd-layout-panel-header{display:none!important}.popup-mode fd-layout-panel-header{display:flex;min-height:1rem;height:1rem;border:none!important}.popup-mode fd-layout-panel-header h4{font-weight:700;font-size:1rem}.popup-mode fd-layout-panel-head{display:flex;column-gap:5px;align-items:center;justify-content:center}.popup-mode ::ng-deep li{border:none!important}.popup-mode fd-layout-panel-body{margin-top:.3rem}.popup-mode fd-layout-panel-filters{border:none!important;padding:0 1rem}.popup-mode .drop-down{width:100%;max-width:100%;max-height:2rem!important;height:2rem!important;background:var(--sapButton_Background)!important;border:1px solid #ccc!important}.popup-mode .drop-down ::ng-deep span{font-size:1rem!important;line-height:1.2rem!important}.popup-mode .drop-down ::ng-deep fd-icon{position:absolute;left:10px}fd-popover{width:100%;max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i3.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "directive", type: i4.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i7.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i7.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i7.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i7.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i7.LayoutPanelFiltersComponent, selector: "fd-layout-panel-filters" }, { kind: "component", type: i7.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i9.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i9.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i10.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i11.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i11.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i11.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i12.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i12.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i12.ToolbarLabelDirective, selector: "[fd-toolbar-label]" }, { kind: "component", type: i13.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "component", type: i14.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "component", type: i15.ListItemComponent, selector: "bsu-list-item", inputs: ["setting", "isDisplayType"] }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.FilterColumnsByDetailsPipe, name: "filterColumnsByDetails" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UiListViewComponent, selector: "bsu-ui-list-view", viewQueries: [{ propertyName: "popupModeTemplateRef", first: true, predicate: ["popupModeTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultModeTemplateRef", first: true, predicate: ["defaultMode"], descendants: true, read: TemplateRef, static: true }, { propertyName: "_menu", first: true, predicate: ["menu"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"selectedPresentaionTemplate\"></ng-container>\r\n\r\n<ng-template #popupModeTemplate>\r\n <ng-container *ngTemplateOutlet=\"deviceSize === 's' ? mobileTpl : desktopTpl\"></ng-container>\r\n\r\n <!-- <fd-menu [appendTo]=\"_el\"\r\n #menu [mobile]=\"deviceSize === 's'\" >\r\n</fd-menu> -->\r\n</ng-template>\r\n<ng-template #mobileTpl>\r\n <div class=\"popup-mode\">\r\n <ng-container *ngTemplateOutlet=\"buttonDropDown; context: { menu: menu }\"></ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"tokensTpl\"></ng-container>\r\n <fd-menu #menu [mobile]=\"true\" [mobileConfig]=\"{ title: title | bbbTranslate, hasCloseButton: true }\">\r\n <ng-container *ngTemplateOutlet=\"defaultMode; context: { popover: menu, popupMode: true }\"></ng-container>\r\n </fd-menu>\r\n</ng-template>\r\n<ng-template #desktopTpl>\r\n <fd-popover #popover fillControlMode=\"equal\">\r\n <fd-popover-control class=\"popup-mode\">\r\n <ng-container *ngTemplateOutlet=\"buttonDropDown\"></ng-container>\r\n </fd-popover-control>\r\n <fd-popover-body>\r\n <ng-container\r\n *ngTemplateOutlet=\"defaultMode; context: { popover: popover, popupMode: true }\"\r\n ></ng-container>\r\n </fd-popover-body>\r\n </fd-popover>\r\n <ng-container *ngTemplateOutlet=\"tokensTpl\"></ng-container>\r\n</ng-template>\r\n<ng-template #buttonDropDown let-menu=\"menu\">\r\n <button\r\n class=\"drop-down\"\r\n fd-button\r\n [label]=\"selectedMo ? (selectedMo.$Caption | bbbTranslate) : (title | bbbTranslate)\"\r\n [fdMenu]=\"true\"\r\n [fdMenuTrigger]=\"menu\"\r\n >\r\n @if (selectedCount > 0 && isCheckList) {\r\n <span fd-object-status [inverted]=\"true\" [label]=\"selectedCount\" [title]=\"selectedCount\"></span>\r\n }\r\n </button>\r\n</ng-template>\r\n<ng-template #tokensTpl>\r\n @if (isCheckList && hasSelected) {\r\n <div style=\"padding: 5px; display: flex; flex-wrap: wrap; row-gap: 5px; column-gap: 5px\">\r\n @for (mo of moDataList; track mo; let index = $index) { @if (mo.$IsChecked) {\r\n <fd-token fdCozy [readOnly]=\"false\" (onCloseClick)=\"onRowCheck({mo, index})\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n } }\r\n </div>\r\n }\r\n</ng-template>\r\n<ng-template #defaultMode let-popover=\"popover\" let-popupMode=\"popupMode\">\r\n <fd-layout-panel [class.popup-mode]=\"popupMode\" [ngClass]=\"'size-' + deviceSize\">\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h4 fd-layout-panel-title>{{ title | bbbTranslate }}</h4>\r\n @if (selectedCount > 0) {\r\n <span fd-object-status [inverted]=\"true\" [label]=\"selectedCount\" [title]=\"selectedCount\"></span>\r\n }\r\n </fd-layout-panel-head>\r\n <fd-layout-panel-actions>\r\n @if (deviceSize !== 's') {\r\n <button\r\n style=\"margin-top: 5px\"\r\n fd-button\r\n glyph=\"decline\"\r\n fdType=\"transparent\"\r\n (click)=\"popover.close()\"\r\n ></button>\r\n }\r\n </fd-layout-panel-actions>\r\n </fd-layout-panel-header>\r\n @if (isCheckList && moDataList.length) {\r\n <fd-layout-panel-filters>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <a class=\"clearCheckAll\" (click)=\"onAllCheckbox($event)\" fd-link [aria-label]=\"'All' | bbbTranslate\">{{\r\n 'All' | bbbTranslate\r\n }}</a>\r\n <label fd-toolbar-label style=\"font-size: 1rem; font-weight: bold\">.</label>\r\n <a\r\n (click)=\"onClearCheckbox()\"\r\n fd-toolbar-item\r\n class=\"clearCheckAll\"\r\n fd-link\r\n [aria-label]=\"'Clear' | bbbTranslate\"\r\n >{{ 'Clear' | bbbTranslate }}</a\r\n >\r\n </fd-toolbar>\r\n </fd-layout-panel-filters>\r\n }\r\n\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n isDisplayType ? displayListTemplate : standardListTemplate;\r\n context: {\r\n $implicit: moDataList,\r\n isCheckList: isCheckList,\r\n groupby: groupby,\r\n conditionalFormats: conditionalFormats,\r\n deviceName: deviceName,\r\n viewSetting: viewSetting,\r\n allColumns: allColumns,\r\n access: access,\r\n rtl: rtl,\r\n popover: popover\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </fd-layout-panel-body>\r\n </fd-layout-panel>\r\n</ng-template>\r\n\r\n<!--display list-->\r\n<ng-template\r\n #displayListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-allColumns=\"allColumns\"\r\n let-viewSetting=\"viewSetting\"\r\n let-access=\"access\"\r\n let-rtl=\"rtl\"\r\n>\r\n @if (moDataList && moDataList.length > 0) {\r\n <ul fd-list class=\"display-list fd-list--navigation\" ellipsify>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if\r\n (!mo.parent || mo.parent?.expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n ></ng-container>\r\n } }\r\n </ul>\r\n } @else {\r\n <bsu-no-data [simple]=\"popupMode\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n<!--standard list-->\r\n<ng-template\r\n #standardListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-allColumns=\"allColumns\"\r\n let-deviceName=\"deviceName\"\r\n let-access=\"access\"\r\n let-viewSetting=\"viewSetting\"\r\n let-rtl=\"rtl\"\r\n let-last=\"last\"\r\n>\r\n @if (moDataList && moDataList.length > 0) {\r\n <ul class=\"fd-list--navigation\" [class.fd-list--byline]=\"!isDisplayType\" fd-list [byline]=\"true\" ellipsify>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (!mo.parent ||\r\n mo.parent?.expanded) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n ></ng-container>\r\n } }\r\n </ul>\r\n } @else {\r\n <bsu-no-data [simple]=\"popupMode\"></bsu-no-data>\r\n }\r\n</ng-template>\r\n\r\n<!--noData-->\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n @if (mo.group || mo.group === '') {\r\n <li\r\n fd-list-group-header\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.level\"\r\n [class.root-group]=\"mo.level === 0\"\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.group }}</span>\r\n </li>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n hasRowOlgo ? dynamicItemTemplate : defaultItem;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-template\r\n #defaultItem\r\n let-mo\r\n let-index=\"index\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n >\r\n @if (!hasRowOlgo) {\r\n <bsu-list-item\r\n [isDisplayType]=\"isDisplayType\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [last]=\"last\"\r\n [setting]=\"listSetting\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [allColumns]=\"allColumns\"\r\n [contentDensity]=\"contentDensity\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n >\r\n </bsu-list-item>\r\n } @else {\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.RowOlgo\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [moDataList]=\"moDataList\"\r\n [showDetailsInRow]=\"showDetailsInRow\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\r\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\r\n [cartableMo]=\"mo.RelatedMo\"\r\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\r\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\r\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [moDataListCount]=\"moDataListCount\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [typeDefId]=\"typeDefId\"\r\n [extraRelation]=\"extraRelation\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"index\"\r\n [last]=\"last\"\r\n [setting]=\"viewSetting\"\r\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns:false\"\r\n [columns]=\"columns | filterColumnsByDetails: detailsColumns:false\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [access]=\"access\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\r\n (events)=\"onOlgoEvents($event)\"\r\n >\r\n </bnrc-dynamic-item-component>\r\n }\r\n </ng-template>\r\n <ng-template\r\n #dynamicItemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n >\r\n <bnrc-dynamic-item-component\r\n [component]=\"viewSetting.RowOlgo\"\r\n [mo]=\"mo\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [moDataList]=\"moDataList\"\r\n [showDetailsInRow]=\"showDetailsInRow\"\r\n [hideOpenIcon]=\"hideOpenIcon\"\r\n [detailsColumns]=\"detailsColumns\"\r\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\r\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\r\n [cartableMo]=\"mo.RelatedMo\"\r\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\r\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\r\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\r\n [detailsComponent]=\"detailsComponent\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [visibility]=\"mo.$Visibility\"\r\n [expanded]=\"mo.$Expanded\"\r\n [level]=\"mo.$Level\"\r\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\r\n [moDataListCount]=\"moDataListCount\"\r\n [columnsCount]=\"columnsCount - detailsColumns.length\"\r\n [typeDefId]=\"typeDefId\"\r\n [extraRelation]=\"extraRelation\"\r\n [formSetting]=\"formSetting\"\r\n [index]=\"index\"\r\n [last]=\"last\"\r\n [setting]=\"viewSetting\"\r\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns:false\"\r\n [columns]=\"columns | filterColumnsByDetails: detailsColumns:false\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [access]=\"access\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [allColumns]=\"allColumns\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\r\n (events)=\"onOlgoEvents($event)\"\r\n >\r\n </bnrc-dynamic-item-component>\r\n </ng-template>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block}.fd-list__group-header{column-gap:10px;align-items:center}.header th{border-left:none!important;border-right:none!important}.clearCheckAll{text-decoration:none!important}.fd-list--navigation-indication .fd-list__item:after{min-width:0!important}li.standard-list-row{padding-top:.2rem;padding-bottom:.2rem;min-height:4rem;justify-content:space-evenly;column-gap:10px}li.standard-list-row:hover:not(.selected){background-color:var(--sapBackgroundColor, #f7f7f7)}li.standard-list-row .fd-list__content{row-gap:.4rem}li.standard-list-row .fd-list__content .fd-list__byline{padding:0;font-size:.775rem}li.standard-list-row ::ng-deep .fd-form-item{position:static}li.standard-list-row ::ng-deep .fd-form-item .fd-checkbox__label--compact{padding:0;margin-left:0}li.standard-list-row ::ng-deep fd-icon{font-size:.75rem!important}fd-layout-panel{height:100%}.li-link.checklink[rtl=true]{padding-right:0!important}.li-link.checklist[rtl=false]{padding-left:0!important}.standard-list-group-label{padding-top:10px;padding-bottom:3px}fd-layout-panel-header{display:none}fd-layout-panel.popup-mode.size-s{box-shadow:none!important}fd-layout-panel.popup-mode.size-s fd-layout-panel-header{display:none!important}.popup-mode fd-layout-panel-header{display:flex;min-height:1rem;height:1rem;border:none!important}.popup-mode fd-layout-panel-header h4{font-weight:700;font-size:1rem}.popup-mode fd-layout-panel-head{display:flex;column-gap:5px;align-items:center;justify-content:center}.popup-mode ::ng-deep li{border:none!important}.popup-mode fd-layout-panel-body{margin-top:.3rem}.popup-mode fd-layout-panel-filters{border:none!important;padding:0 1rem}.popup-mode .drop-down{width:100%;max-width:100%;max-height:2rem!important;height:2rem!important;background:var(--sapButton_Background)!important;border:1px solid #ccc!important}.popup-mode .drop-down ::ng-deep span{font-size:1rem!important;line-height:1.2rem!important}.popup-mode .drop-down ::ng-deep fd-icon{position:absolute;left:10px}fd-popover{width:100%;max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "hideOpenIcon", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i3.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "directive", type: i4.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i7.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i7.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i7.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i7.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i7.LayoutPanelFiltersComponent, selector: "fd-layout-panel-filters" }, { kind: "component", type: i7.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i9.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i9.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i10.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i11.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i11.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i11.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i12.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i12.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i12.ToolbarLabelDirective, selector: "[fd-toolbar-label]" }, { kind: "component", type: i13.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "component", type: i14.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "component", type: i15.ListItemComponent, selector: "bsu-list-item", inputs: ["setting", "isDisplayType"] }, { kind: "directive", type: i16.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.FilterColumnsByDetailsPipe, name: "filterColumnsByDetails" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
71
  }
71
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiListViewComponent, decorators: [{
72
73
  type: Component,
@@ -81,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
81
82
  type: ViewChild,
82
83
  args: ['menu']
83
84
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbGlzdC12aWV3L3VpLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUdILHVCQUF1QixFQUV2QixxQkFBcUIsRUFDeEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXOUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUEwQztJQVBuRjs7UUFjSSxtQkFBYyxHQUF1QixFQUFFLENBQUM7UUFJeEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIscUJBQWdCLEdBQW1FLEVBQUUsQ0FBQztRQUV0RixjQUFTLEdBQUcsS0FBSyxDQUFDO0tBZ0RyQjtJQS9DRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUM7UUFDeEYsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0csSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixLQUFLLFNBQVMsQ0FBQztRQUNyRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUNuQyxXQUFXLENBQUMsVUFBVSxFQUN0QixJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ3hDLENBQUM7UUFFVixJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsR0FBRyxXQUFXO1lBQ2QsVUFBVSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3BFLGFBQWEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDaEYsWUFBWSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUM5RSxXQUFXLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDdEUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRLElBQUksSUFBSTtZQUN0QyxXQUFXLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDdEUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUM7U0FDbkYsQ0FBQztJQUNOLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBZ0M7UUFDekMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsS0FBSztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsS0FBSztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxtQkFBbUI7UUFDZixRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkM7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7WUFDdkMsS0FBSyxHQUFHO2dCQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQzsrR0E3RFEsbUJBQW1CO21HQUFuQixtQkFBbUIsOEpBQzBCLFdBQVcsOEhBQ2pCLFdBQVcsa0pDckIvRCxxaGZBMlhBOzs0RkR4V2EsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR29ELG9CQUFvQjtzQkFBeEYsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDSixzQkFBc0I7c0JBQXBGLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUMxQyxLQUFLO3NCQUF2QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCwgU2l6ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBFanJheU9sZ28sXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsXHJcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxyXG4gICAgZW51bVZhbHVlVG9TdHJpbmdTaXplXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuaW1wb3J0IHsgVWlMaXN0Vmlld1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC12aWV3JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktbGlzdC12aWV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1saXN0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbGlzdC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUxpc3RWaWV3Q29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlMaXN0Vmlld1NldHRpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3BvcHVwTW9kZVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHBvcHVwTW9kZVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgnZGVmYXVsdE1vZGUnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgZGVmYXVsdE1vZGVUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ21lbnUnKSBfbWVudTogTWVudUNvbXBvbmVudDtcclxuICAgIGxpc3RTZXR0aW5nOiBVaUxpc3RWaWV3U2V0dGluZztcclxuICAgIGF2YXRhclNpemU6IFNpemU7XHJcbiAgICBpc0Rpc3BsYXlUeXBlOiBib29sZWFuO1xyXG4gICAgZGV0YWlsc0NvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXSA9IFtdO1xyXG4gICAgZGV0YWlsc0NvbXBvbmVudDogRWpyYXlPbGdvO1xyXG4gICAgc2hvd0RldGFpbHNJblJvdzogYm9vbGVhbjtcclxuICAgIGhhc1Jvd09sZ286IGJvb2xlYW47XHJcbiAgICBwb3BvdmVyT3BlbiA9IGZhbHNlO1xyXG4gICAgY29sdW1uQ29tcG9uZW50czogeyBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW47IGNvbXBvbmVudDogTWV0YW9iamVjdERhdGFNb2RlbCB9W10gPSBbXTtcclxuICAgIHNlbGVjdGVkUHJlc2VudGFpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIHBvcHVwTW9kZSA9IGZhbHNlO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnBvcHVwTW9kZSA9IHRoaXMudmlld1NldHRpbmcuTWVudUluU21hbGxEZXZpY2UgPT09IHRydWUgJiYgdGhpcy5kZXZpY2VTaXplID09PSAncyc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByZXNlbnRhaW9uVGVtcGxhdGUgPSB0aGlzLnBvcHVwTW9kZSA/IHRoaXMucG9wdXBNb2RlVGVtcGxhdGVSZWYgOiB0aGlzLl9nZXRQcmVzZW50YWlvbk1vZGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0Rpc3BsYXlUeXBlID0gdGhpcy52aWV3U2V0dGluZy5JdGVtVHlwZSRDYXB0aW9uID09PSAnRGlzcGxheSc7XHJcbiAgICAgICAgY29uc3Qgdmlld1NldHRpbmcgPSB0aGlzLnZpZXdTZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuaGFzUm93T2xnbyA9IHRoaXMudmlld1NldHRpbmc/LlJvd09sZ28/LlNlbGVjdG9yO1xyXG4gICAgICAgIGNvbnN0IGZpbmRDb2x1bW4gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWU7XHJcbiAgICAgICAgdGhpcy5hdmF0YXJTaXplID0gZW51bVZhbHVlVG9TdHJpbmdTaXplKFxyXG4gICAgICAgICAgICB2aWV3U2V0dGluZy5BdmF0YXJTaXplLFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnREZW5zaXR5ID09PSAnY29tcGFjdCcgPyAncycgOiAnbSdcclxuICAgICAgICApIGFzIFNpemU7XHJcblxyXG4gICAgICAgIHRoaXMubGlzdFNldHRpbmcgPSB7XHJcbiAgICAgICAgICAgIC4uLnZpZXdTZXR0aW5nLFxyXG4gICAgICAgICAgICBUaXRsZUZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlRpdGxlKSxcclxuICAgICAgICAgICAgU3VidGl0bGVGaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5TdWJ0aXRsZSkgPz8gJycsXHJcbiAgICAgICAgICAgIENvdW50ZXJGaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5Db3VudGVyKSA/PyAnJyxcclxuICAgICAgICAgICAgQXZhdGFyRmllbGQ6IGZpbmRDb2x1bW4udHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgdmlld1NldHRpbmcuQXZhdGFyKSxcclxuICAgICAgICAgICAgSWNvbkZvbnQ6IHZpZXdTZXR0aW5nLkljb25Gb250IHx8IG51bGwsXHJcbiAgICAgICAgICAgIFN0YXR1c0ZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlN0YXR1cyksXHJcbiAgICAgICAgICAgIERlc2NyaXB0aW9uRmllbGQ6IGZpbmRDb2x1bW4udHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgdmlld1NldHRpbmcuRGVzY3JpcHRpb24pXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIG9uT2xnb0V2ZW50cyhlOiB7IHRpdGxlOiBzdHJpbmc7IGRhdGE/OiBhbnkgfSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9tZW51KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21lbnUuY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3VwZXIub25PbGdvRXZlbnRzKGUpO1xyXG4gICAgfVxyXG4gICAgb25MaXN0Q2hlY2tib3hDbGljayhtbywgaW5kZXgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25MaXN0TmF2aWdhdGlvbkNsaWNrKG1vLCBpbmRleCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucm93Q2xpY2suZW1pdCh7IG1vLCBpbmRleCB9KTtcclxuICAgIH1cclxuICAgIF9nZXRQcmVzZW50YWlvbk1vZGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICAgICAgc3dpdGNoICh0aGlzLnZpZXdTZXR0aW5nLlByZXNlbnRhaW9uTW9kZSkge1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdE1vZGVUZW1wbGF0ZVJlZjtcclxuICAgICAgICAgICAgY2FzZSAnMic6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvcHVwTW9kZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb3B1cE1vZGVUZW1wbGF0ZVJlZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdGVkUHJlc2VudGFpb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNwb3B1cE1vZGVUZW1wbGF0ZT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZXZpY2VTaXplID09PSAncycgPyBtb2JpbGVUcGwgOiBkZXNrdG9wVHBsXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSA8ZmQtbWVudSBbYXBwZW5kVG9dPVwiX2VsXCJcclxuICAjbWVudSBbbW9iaWxlXT1cImRldmljZVNpemUgPT09ICdzJ1wiID5cclxuPC9mZC1tZW51PiAtLT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNtb2JpbGVUcGw+XHJcbiAgICA8ZGl2IGNsYXNzPVwicG9wdXAtbW9kZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25Ecm9wRG93bjsgY29udGV4dDogeyBtZW51OiBtZW51IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRva2Vuc1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPGZkLW1lbnUgI21lbnUgW21vYmlsZV09XCJ0cnVlXCIgW21vYmlsZUNvbmZpZ109XCJ7IHRpdGxlOiB0aXRsZSB8IGJiYlRyYW5zbGF0ZSwgaGFzQ2xvc2VCdXR0b246IHRydWUgfVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZWZhdWx0TW9kZTsgY29udGV4dDogeyBwb3BvdmVyOiBtZW51LCBwb3B1cE1vZGU6IHRydWUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9mZC1tZW51PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2Rlc2t0b3BUcGw+XHJcbiAgICA8ZmQtcG9wb3ZlciAjcG9wb3ZlciBmaWxsQ29udHJvbE1vZGU9XCJlcXVhbFwiPlxyXG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2wgY2xhc3M9XCJwb3B1cC1tb2RlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25Ecm9wRG93blwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdE1vZGU7IGNvbnRleHQ6IHsgcG9wb3ZlcjogcG9wb3ZlciwgcG9wdXBNb2RlOiB0cnVlIH1cIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICA8L2ZkLXBvcG92ZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9rZW5zVHBsXCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uRHJvcERvd24gbGV0LW1lbnU9XCJtZW51XCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJkcm9wLWRvd25cIlxyXG4gICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgIFtsYWJlbF09XCJzZWxlY3RlZE1vID8gKHNlbGVjdGVkTW8uJENhcHRpb24gfCBiYmJUcmFuc2xhdGUpIDogKHRpdGxlIHwgYmJiVHJhbnNsYXRlKVwiXHJcbiAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcclxuICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcclxuICAgID5cclxuICAgICAgICBAaWYgKHNlbGVjdGVkQ291bnQgPiAwICYmIGlzQ2hlY2tMaXN0KSB7XHJcbiAgICAgICAgPHNwYW4gZmQtb2JqZWN0LXN0YXR1cyBbaW52ZXJ0ZWRdPVwidHJ1ZVwiIFtsYWJlbF09XCJzZWxlY3RlZENvdW50XCIgW3RpdGxlXT1cInNlbGVjdGVkQ291bnRcIj48L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjdG9rZW5zVHBsPlxyXG4gICAgQGlmIChpc0NoZWNrTGlzdCAmJiBoYXNTZWxlY3RlZCkge1xyXG4gICAgPGRpdiBzdHlsZT1cInBhZGRpbmc6IDVweDsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyByb3ctZ2FwOiA1cHg7IGNvbHVtbi1nYXA6IDVweFwiPlxyXG4gICAgICAgIEBmb3IgKG1vIG9mIG1vRGF0YUxpc3Q7IHRyYWNrIG1vOyBsZXQgaW5kZXggPSAkaW5kZXgpIHsgQGlmIChtby4kSXNDaGVja2VkKSB7XHJcbiAgICAgICAgPGZkLXRva2VuIGZkQ296eSBbcmVhZE9ubHldPVwiZmFsc2VcIiAob25DbG9zZUNsaWNrKT1cIm9uUm93Q2hlY2soe21vLCBpbmRleH0pXCI+e3tcclxuICAgICAgICAgICAgY29sdW1uc1swXS5DYXB0aW9uIHwgcnZhbDogbW86Y29sdW1uczp0cnVlXHJcbiAgICAgICAgfX08L2ZkLXRva2VuPlxyXG4gICAgICAgIH0gfVxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE1vZGUgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCIgbGV0LXBvcHVwTW9kZT1cInBvcHVwTW9kZVwiPlxyXG4gICAgPGZkLWxheW91dC1wYW5lbCBbY2xhc3MucG9wdXAtbW9kZV09XCJwb3B1cE1vZGVcIiBbbmdDbGFzc109XCInc2l6ZS0nICsgZGV2aWNlU2l6ZVwiPlxyXG4gICAgICAgIDxmZC1sYXlvdXQtcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8aDQgZmQtbGF5b3V0LXBhbmVsLXRpdGxlPnt7IHRpdGxlIHwgYmJiVHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW9iamVjdC1zdGF0dXMgW2ludmVydGVkXT1cInRydWVcIiBbbGFiZWxdPVwic2VsZWN0ZWRDb3VudFwiIFt0aXRsZV09XCJzZWxlY3RlZENvdW50XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWxheW91dC1wYW5lbC1oZWFkPlxyXG4gICAgICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnM+XHJcbiAgICAgICAgICAgICAgICBAaWYgKGRldmljZVNpemUgIT09ICdzJykge1xyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogNXB4XCJcclxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicG9wb3Zlci5jbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1sYXlvdXQtcGFuZWwtYWN0aW9ucz5cclxuICAgICAgICA8L2ZkLWxheW91dC1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgQGlmIChpc0NoZWNrTGlzdCAmJiBtb0RhdGFMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgIDxmZC1sYXlvdXQtcGFuZWwtZmlsdGVycz5cclxuICAgICAgICAgICAgPGZkLXRvb2xiYXIgZmRUeXBlPVwidHJhbnNwYXJlbnRcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJjbGVhckNoZWNrQWxsXCIgKGNsaWNrKT1cIm9uQWxsQ2hlY2tib3goJGV2ZW50KVwiIGZkLWxpbmsgW2FyaWEtbGFiZWxdPVwiJ0FsbCcgfCBiYmJUcmFuc2xhdGVcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICdBbGwnIHwgYmJiVHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmZC10b29sYmFyLWxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogYm9sZFwiPi48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGVhckNoZWNrYm94KClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xlYXJDaGVja0FsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtbGlua1xyXG4gICAgICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cIidDbGVhcicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgID57eyAnQ2xlYXInIHwgYmJiVHJhbnNsYXRlIH19PC9hXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvZmQtdG9vbGJhcj5cclxuICAgICAgICA8L2ZkLWxheW91dC1wYW5lbC1maWx0ZXJzPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPGZkLWxheW91dC1wYW5lbC1ib2R5IFtibGVlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNwbGF5VHlwZSA/IGRpc3BsYXlMaXN0VGVtcGxhdGUgOiBzdGFuZGFyZExpc3RUZW1wbGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbW9EYXRhTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNDaGVja0xpc3Q6IGlzQ2hlY2tMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cGJ5OiBncm91cGJ5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbmRpdGlvbmFsRm9ybWF0cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlTmFtZTogZGV2aWNlTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld1NldHRpbmc6IHZpZXdTZXR0aW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxDb2x1bW5zOiBhbGxDb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3M6IGFjY2VzcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBydGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcG92ZXI6IHBvcG92ZXJcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWJvZHk+XHJcbiAgICA8L2ZkLWxheW91dC1wYW5lbD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS1kaXNwbGF5IGxpc3QtLT5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjZGlzcGxheUxpc3RUZW1wbGF0ZVxyXG4gICAgbGV0LW1vRGF0YUxpc3RcclxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcclxuICAgIGxldC1ncm91cGJ5PVwiZ3JvdXBieVwiXHJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgIGxldC1kZXZpY2VOYW1lPVwiZGV2aWNlTmFtZVwiXHJcbiAgICBsZXQtYWxsQ29sdW1ucz1cImFsbENvbHVtbnNcIlxyXG4gICAgbGV0LXZpZXdTZXR0aW5nPVwidmlld1NldHRpbmdcIlxyXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXHJcbiAgICBsZXQtcnRsPVwicnRsXCJcclxuPlxyXG4gICAgQGlmIChtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgPHVsIGZkLWxpc3QgY2xhc3M9XCJkaXNwbGF5LWxpc3QgZmQtbGlzdC0tbmF2aWdhdGlvblwiIGVsbGlwc2lmeT5cclxuICAgICAgICBAZm9yIChtbyBvZiBtb0RhdGFMaXN0IHwgbXVsdGlwbGVHcm91cEJ5OiBncm91cGJ5OyB0cmFjayBtbzsgbGV0IGluZGV4ID0gJGluZGV4OyBsZXQgbGFzdCA9ICRsYXN0KSB7IEBpZlxyXG4gICAgICAgICghbW8ucGFyZW50IHx8IG1vLnBhcmVudD8uZXhwYW5kZWQpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFzdDogbGFzdCxcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3Q6IG1vRGF0YUxpc3QsXHJcbiAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdENvdW50OiBtb0RhdGFMaXN0Lmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9IH1cclxuICAgIDwvdWw+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxic3Utbm8tZGF0YSBbc2ltcGxlXT1cInBvcHVwTW9kZVwiPjwvYnN1LW5vLWRhdGE+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbjwhLS1zdGFuZGFyZCBsaXN0LS0+XHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI3N0YW5kYXJkTGlzdFRlbXBsYXRlXHJcbiAgICBsZXQtbW9EYXRhTGlzdFxyXG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxyXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcclxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgbGV0LWFsbENvbHVtbnM9XCJhbGxDb2x1bW5zXCJcclxuICAgIGxldC1kZXZpY2VOYW1lPVwiZGV2aWNlTmFtZVwiXHJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcclxuICAgIGxldC12aWV3U2V0dGluZz1cInZpZXdTZXR0aW5nXCJcclxuICAgIGxldC1ydGw9XCJydGxcIlxyXG4gICAgbGV0LWxhc3Q9XCJsYXN0XCJcclxuPlxyXG4gICAgQGlmIChtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgPHVsIGNsYXNzPVwiZmQtbGlzdC0tbmF2aWdhdGlvblwiIFtjbGFzcy5mZC1saXN0LS1ieWxpbmVdPVwiIWlzRGlzcGxheVR5cGVcIiBmZC1saXN0IFtieWxpbmVdPVwidHJ1ZVwiIGVsbGlwc2lmeT5cclxuICAgICAgICBAZm9yIChtbyBvZiBtb0RhdGFMaXN0IHwgbXVsdGlwbGVHcm91cEJ5OiBncm91cGJ5OyB0cmFjayBtbzsgbGV0IGluZGV4ID0gJGluZGV4KSB7IEBpZiAoIW1vLnBhcmVudCB8fFxyXG4gICAgICAgIG1vLnBhcmVudD8uZXhwYW5kZWQpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcclxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFzdDogbGFzdCxcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3Q6IG1vRGF0YUxpc3QsXHJcbiAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdENvdW50OiBtb0RhdGFMaXN0Lmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9IH1cclxuICAgIDwvdWw+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxic3Utbm8tZGF0YSBbc2ltcGxlXT1cInBvcHVwTW9kZVwiPjwvYnN1LW5vLWRhdGE+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tbm9EYXRhLS0+XHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI2l0ZW1UZW1wbGF0ZVxyXG4gICAgbGV0LW1vXHJcbiAgICBsZXQtaW5kZXg9XCJpbmRleFwiXHJcbiAgICBsZXQtbGFzdD1cImxhc3RcIlxyXG4gICAgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCJcclxuICAgIGxldC1tb0RhdGFMaXN0Q291bnQ9XCJtb0RhdGFMaXN0Q291bnRcIlxyXG4gICAgbGV0LW1vRGF0YUxpc3Q9XCJtb0RhdGFMaXN0XCJcclxuPlxyXG4gICAgQGlmIChtby5ncm91cCB8fCBtby5ncm91cCA9PT0gJycpIHtcclxuICAgIDxsaVxyXG4gICAgICAgIGZkLWxpc3QtZ3JvdXAtaGVhZGVyXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctcmlnaHRdPVwiJ2NhbGMoIDFyZW0gKyAnICsgbW8ubGV2ZWwgKiAxMiArICdweCcgKyAnICknXCJcclxuICAgICAgICBbYXR0ci5sZXZlbF09XCJtby5sZXZlbFwiXHJcbiAgICAgICAgW2NsYXNzLnJvb3QtZ3JvdXBdPVwibW8ubGV2ZWwgPT09IDBcIlxyXG4gICAgPlxyXG4gICAgICAgIDxmZC1pY29uXHJcbiAgICAgICAgICAgIFtnbHlwaF09XCJtby5leHBhbmRlZCA/ICduYXZpZ2F0aW9uLWRvd24tYXJyb3cnIDogJ25hdmlnYXRpb24tbGVmdC1hcnJvdydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImNlbGwtZXhwYW5kXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kQ2xpY2sobW8pXCJcclxuICAgICAgICA+PC9mZC1pY29uPlxyXG4gICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgbW8uZ3JvdXAgfX08L3NwYW4+XHJcbiAgICA8L2xpPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgaGFzUm93T2xnbyA/IGR5bmFtaWNJdGVtVGVtcGxhdGUgOiBkZWZhdWx0SXRlbTtcclxuICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnMsXHJcbiAgICAgICAgICAgICAgICBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICAgICAgbW9EYXRhTGlzdENvdW50OiBtb0RhdGFMaXN0Lmxlbmd0aFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXCJcclxuICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICNkZWZhdWx0SXRlbVxyXG4gICAgICAgIGxldC1tb1xyXG4gICAgICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgICAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxyXG4gICAgICAgIGxldC1tb0RhdGFMaXN0Q291bnQ9XCJtb0RhdGFMaXN0Q291bnRcIlxyXG4gICAgICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXHJcbiAgICA+XHJcbiAgICAgICAgQGlmICghaGFzUm93T2xnbykge1xyXG4gICAgICAgIDxic3UtbGlzdC1pdGVtXHJcbiAgICAgICAgICAgIFtpc0Rpc3BsYXlUeXBlXT1cImlzRGlzcGxheVR5cGVcIlxyXG4gICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICBbaXNDaGVja2VkXT1cIm1vLiRJc0NoZWNrZWRcIlxyXG4gICAgICAgICAgICBbc3R5bGVJbmRleF09XCJtby4kU3R5bGVJbmRleFwiXHJcbiAgICAgICAgICAgIFtpc05ld0lubGluZU1vXT1cIm1vLiROZXdJbmxpbmVNb1wiXHJcbiAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgICAgIFtsYXN0XT1cImxhc3RcIlxyXG4gICAgICAgICAgICBbc2V0dGluZ109XCJsaXN0U2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFtlZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICAgICAgICAgIFtydGxdPVwicnRsXCJcclxuICAgICAgICAgICAgW2hpZGVPcGVuSWNvbl09XCJoaWRlT3Blbkljb25cIlxyXG4gICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICAgICAgW2NhblZpZXddPVwiY2FuVmlld1wiXHJcbiAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcclxuICAgICAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgICAgICAocm93Q2hlY2spPVwib25Sb3dDaGVjaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICh1bHZDb21tYW5kKT1cIm9uVWx2Q29tbWFuZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGVkaXRGb3JtUGFuZWxTYXZlKT1cIm9uRWRpdEZvcm1QYW5lbFNhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChlZGl0Rm9ybVBhbmVsQ2FuY2VsKT1cIm9uRWRpdEZvcm1QYW5lbENhbmNlbCgkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9ic3UtbGlzdC1pdGVtPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnRcclxuICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ2aWV3U2V0dGluZy5Sb3dPbGdvXCJcclxuICAgICAgICAgICAgW21vXT1cIm1vXCJcclxuICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwibW8uJFN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcclxuICAgICAgICAgICAgW3Nob3dEZXRhaWxzSW5Sb3ddPVwic2hvd0RldGFpbHNJblJvd1wiXHJcbiAgICAgICAgICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcclxuICAgICAgICAgICAgW2RldGFpbHNDb2x1bW5zXT1cImRldGFpbHNDb2x1bW5zXCJcclxuICAgICAgICAgICAgW2NvbHVtbkNvbXBvbmVudHNdPVwidmlld1NldHRpbmc/LkNvbHVtbkNvbXBvbmVudHMgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFtjYXJ0YWJsZVRlbXBsYXRlXT1cImNhcnRhYmxlVGVtcGxhdGVzW21vLlJlbGF0ZWRNbz8uJFR5cGVEZWZJZF1cIlxyXG4gICAgICAgICAgICBbY2FydGFibGVNb109XCJtby5SZWxhdGVkTW9cIlxyXG4gICAgICAgICAgICBbY2FydGFibGVXb3JrZmxvd0RhdGFdPVwibW8uU2VyaWFsaXplZFdvcmtmbG93RGF0YVwiXHJcbiAgICAgICAgICAgIFtzZXJpYWxpemVkUmVsYXRlZE1vXT1cIm1vLlNlcmlhbGl6ZWRSZWxhdGVkTW9cIlxyXG4gICAgICAgICAgICBbZGV0YWlsc1RleHRdPVwidmlld1NldHRpbmc/LkRldGFpbHNTZXR0aW5nPy5CdXR0b25UZXh0XCJcclxuICAgICAgICAgICAgW2RldGFpbHNDb21wb25lbnRdPVwiZGV0YWlsc0NvbXBvbmVudFwiXHJcbiAgICAgICAgICAgIFtpc0NoZWNrZWRdPVwibW8uJElzQ2hlY2tlZFwiXHJcbiAgICAgICAgICAgIFt2aXNpYmlsaXR5XT1cIm1vLiRWaXNpYmlsaXR5XCJcclxuICAgICAgICAgICAgW2V4cGFuZGVkXT1cIm1vLiRFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgIFtsZXZlbF09XCJtby4kTGV2ZWxcIlxyXG4gICAgICAgICAgICBbcGFyZW50RXhwYW5kZWRdPVwibW8uJFBhcmVudD8uJEV4cGFuZGVkXCJcclxuICAgICAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Q291bnRcIlxyXG4gICAgICAgICAgICBbY29sdW1uc0NvdW50XT1cImNvbHVtbnNDb3VudCAtIGRldGFpbHNDb2x1bW5zLmxlbmd0aFwiXHJcbiAgICAgICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcclxuICAgICAgICAgICAgW2V4dHJhUmVsYXRpb25dPVwiZXh0cmFSZWxhdGlvblwiXHJcbiAgICAgICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgICAgIFtsYXN0XT1cImxhc3RcIlxyXG4gICAgICAgICAgICBbc2V0dGluZ109XCJ2aWV3U2V0dGluZ1wiXHJcbiAgICAgICAgICAgIFtzZWNvbmRhcnlDb2x1bW5zXT1cInNlY29uZGFyeUNvbHVtbnMgfCBmaWx0ZXJDb2x1bW5zQnlEZXRhaWxzOiBkZXRhaWxzQ29sdW1uczpmYWxzZVwiXHJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnMgfCBmaWx0ZXJDb2x1bW5zQnlEZXRhaWxzOiBkZXRhaWxzQ29sdW1uczpmYWxzZVwiXHJcbiAgICAgICAgICAgIFtpc05ld0lubGluZU1vXT1cIm1vLiROZXdJbmxpbmVNb1wiXHJcbiAgICAgICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcclxuICAgICAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgICAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgICAgICAgICBbY2FuVmlld109XCJjYW5WaWV3XCJcclxuICAgICAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXHJcbiAgICAgICAgICAgIFtyb3dJbmRpY2F0b3JdPVwiY29sdW1uc1swXS5NZXRhRmllbGRUeXBlSWQgPT09ICc0MSdcIlxyXG4gICAgICAgICAgICAoZXZlbnRzKT1cIm9uT2xnb0V2ZW50cygkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9ibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnQ+XHJcbiAgICAgICAgfVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICNkeW5hbWljSXRlbVRlbXBsYXRlXHJcbiAgICAgICAgbGV0LW1vXHJcbiAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIlxyXG4gICAgICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXHJcbiAgICAgICAgbGV0LW1vRGF0YUxpc3RDb3VudD1cIm1vRGF0YUxpc3RDb3VudFwiXHJcbiAgICAgICAgbGV0LW1vRGF0YUxpc3Q9XCJtb0RhdGFMaXN0XCJcclxuICAgID5cclxuICAgICAgICA8Ym5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50XHJcbiAgICAgICAgICAgIFtjb21wb25lbnRdPVwidmlld1NldHRpbmcuUm93T2xnb1wiXHJcbiAgICAgICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cIm1vLiRTdHlsZUluZGV4XCJcclxuICAgICAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXHJcbiAgICAgICAgICAgIFtzaG93RGV0YWlsc0luUm93XT1cInNob3dEZXRhaWxzSW5Sb3dcIlxyXG4gICAgICAgICAgICBbaGlkZU9wZW5JY29uXT1cImhpZGVPcGVuSWNvblwiXHJcbiAgICAgICAgICAgIFtkZXRhaWxzQ29sdW1uc109XCJkZXRhaWxzQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIFtjb2x1bW5Db21wb25lbnRzXT1cInZpZXdTZXR0aW5nPy5Db2x1bW5Db21wb25lbnRzIHx8IG51bGxcIlxyXG4gICAgICAgICAgICBbY2FydGFibGVUZW1wbGF0ZV09XCJjYXJ0YWJsZVRlbXBsYXRlc1ttby5SZWxhdGVkTW8/LiRUeXBlRGVmSWRdXCJcclxuICAgICAgICAgICAgW2NhcnRhYmxlTW9dPVwibW8uUmVsYXRlZE1vXCJcclxuICAgICAgICAgICAgW2NhcnRhYmxlV29ya2Zsb3dEYXRhXT1cIm1vLlNlcmlhbGl6ZWRXb3JrZmxvd0RhdGFcIlxyXG4gICAgICAgICAgICBbc2VyaWFsaXplZFJlbGF0ZWRNb109XCJtby5TZXJpYWxpemVkUmVsYXRlZE1vXCJcclxuICAgICAgICAgICAgW2RldGFpbHNUZXh0XT1cInZpZXdTZXR0aW5nPy5EZXRhaWxzU2V0dGluZz8uQnV0dG9uVGV4dFwiXHJcbiAgICAgICAgICAgIFtkZXRhaWxzQ29tcG9uZW50XT1cImRldGFpbHNDb21wb25lbnRcIlxyXG4gICAgICAgICAgICBbaXNDaGVja2VkXT1cIm1vLiRJc0NoZWNrZWRcIlxyXG4gICAgICAgICAgICBbdmlzaWJpbGl0eV09XCJtby4kVmlzaWJpbGl0eVwiXHJcbiAgICAgICAgICAgIFtleHBhbmRlZF09XCJtby4kRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibW8uJExldmVsXCJcclxuICAgICAgICAgICAgW3BhcmVudEV4cGFuZGVkXT1cIm1vLiRQYXJlbnQ/LiRFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgIFttb0RhdGFMaXN0Q291bnRdPVwibW9EYXRhTGlzdENvdW50XCJcclxuICAgICAgICAgICAgW2NvbHVtbnNDb3VudF09XCJjb2x1bW5zQ291bnQgLSBkZXRhaWxzQ29sdW1ucy5sZW5ndGhcIlxyXG4gICAgICAgICAgICBbdHlwZURlZklkXT1cInR5cGVEZWZJZFwiXHJcbiAgICAgICAgICAgIFtleHRyYVJlbGF0aW9uXT1cImV4dHJhUmVsYXRpb25cIlxyXG4gICAgICAgICAgICBbZm9ybVNldHRpbmddPVwiZm9ybVNldHRpbmdcIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBbbGFzdF09XCJsYXN0XCJcclxuICAgICAgICAgICAgW3NldHRpbmddPVwidmlld1NldHRpbmdcIlxyXG4gICAgICAgICAgICBbc2Vjb25kYXJ5Q29sdW1uc109XCJzZWNvbmRhcnlDb2x1bW5zIHwgZmlsdGVyQ29sdW1uc0J5RGV0YWlsczogZGV0YWlsc0NvbHVtbnM6ZmFsc2VcIlxyXG4gICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zIHwgZmlsdGVyQ29sdW1uc0J5RGV0YWlsczogZGV0YWlsc0NvbHVtbnM6ZmFsc2VcIlxyXG4gICAgICAgICAgICBbaXNOZXdJbmxpbmVNb109XCJtby4kTmV3SW5saW5lTW9cIlxyXG4gICAgICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXHJcbiAgICAgICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcclxuICAgICAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICAgICAgW2NhblZpZXddPVwiY2FuVmlld1wiXHJcbiAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcclxuICAgICAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgICAgICBbcm93SW5kaWNhdG9yXT1cImNvbHVtbnNbMF0uTWV0YUZpZWxkVHlwZUlkID09PSAnNDEnXCJcclxuICAgICAgICAgICAgKGV2ZW50cyk9XCJvbk9sZ29FdmVudHMoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYm5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbGlzdC12aWV3L3VpLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUdILHVCQUF1QixFQUV2QixxQkFBcUIsRUFDeEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzlCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBMEM7SUFQbkY7O1FBY0ksbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBSXhDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLHFCQUFnQixHQUFtRSxFQUFFLENBQUM7UUFFdEYsY0FBUyxHQUFHLEtBQUssQ0FBQztLQWdEckI7SUEvQ0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDO1FBQ3hGLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUM7UUFDckUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FDbkMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUN4QyxDQUFDO1FBRVYsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNmLEdBQUcsV0FBVztZQUNkLFVBQVUsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNwRSxhQUFhLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ2hGLFlBQVksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDOUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3RFLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDdEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3RFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDO1NBQ25GLENBQUM7SUFDTixDQUFDO0lBQ0QsWUFBWSxDQUFDLENBQWdDO1FBQ3pDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsbUJBQW1CLENBQUMsRUFBRSxFQUFFLEtBQUs7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBRSxFQUFFLEtBQUs7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsbUJBQW1CO1FBQ2YsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZDO2dCQUNJLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO1lBQ3ZDLEtBQUssR0FBRztnQkFDSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDekMsQ0FBQztJQUNMLENBQUM7K0dBN0RRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhKQUMwQixXQUFXLDhIQUNqQixXQUFXLGtKQ3JCL0QscWhmQTJYQTs7NEZEeFdhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdvRCxvQkFBb0I7c0JBQXhGLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ0osc0JBQXNCO3NCQUFwRixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDMUMsS0FBSztzQkFBdkIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIFNpemUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgRWpyYXlPbGdvLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcclxuICAgIGVudW1WYWx1ZVRvU3RyaW5nU2l6ZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmltcG9ydCB7IFVpTGlzdFZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtdmlldyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWxpc3QtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLWxpc3Qtdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlMaXN0Vmlld0NvbXBvbmVudCBleHRlbmRzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFVpTGlzdFZpZXdTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdwb3B1cE1vZGVUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KSBwb3B1cE1vZGVUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2RlZmF1bHRNb2RlJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGRlZmF1bHRNb2RlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdtZW51JykgX21lbnU6IE1lbnVDb21wb25lbnQ7XHJcbiAgICBsaXN0U2V0dGluZzogVWlMaXN0Vmlld1NldHRpbmc7XHJcbiAgICBhdmF0YXJTaXplOiBTaXplO1xyXG4gICAgaXNEaXNwbGF5VHlwZTogYm9vbGVhbjtcclxuICAgIGRldGFpbHNDb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW10gPSBbXTtcclxuICAgIGRldGFpbHNDb21wb25lbnQ6IEVqcmF5T2xnbztcclxuICAgIHNob3dEZXRhaWxzSW5Sb3c6IGJvb2xlYW47XHJcbiAgICBoYXNSb3dPbGdvOiBib29sZWFuO1xyXG4gICAgcG9wb3Zlck9wZW4gPSBmYWxzZTtcclxuICAgIGNvbHVtbkNvbXBvbmVudHM6IHsgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uOyBjb21wb25lbnQ6IE1ldGFvYmplY3REYXRhTW9kZWwgfVtdID0gW107XHJcbiAgICBzZWxlY3RlZFByZXNlbnRhaW9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBwb3B1cE1vZGUgPSBmYWxzZTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5wb3B1cE1vZGUgPSB0aGlzLnZpZXdTZXR0aW5nLk1lbnVJblNtYWxsRGV2aWNlID09PSB0cnVlICYmIHRoaXMuZGV2aWNlU2l6ZSA9PT0gJ3MnO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQcmVzZW50YWlvblRlbXBsYXRlID0gdGhpcy5wb3B1cE1vZGUgPyB0aGlzLnBvcHVwTW9kZVRlbXBsYXRlUmVmIDogdGhpcy5fZ2V0UHJlc2VudGFpb25Nb2RlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuaXNEaXNwbGF5VHlwZSA9IHRoaXMudmlld1NldHRpbmcuSXRlbVR5cGUkQ2FwdGlvbiA9PT0gJ0Rpc3BsYXknO1xyXG4gICAgICAgIGNvbnN0IHZpZXdTZXR0aW5nID0gdGhpcy52aWV3U2V0dGluZztcclxuICAgICAgICB0aGlzLmhhc1Jvd09sZ28gPSB0aGlzLnZpZXdTZXR0aW5nPy5Sb3dPbGdvPy5TZWxlY3RvcjtcclxuICAgICAgICBjb25zdCBmaW5kQ29sdW1uID0gdGhpcy5fZmluZENvbHVtbkJ5RGJOYW1lO1xyXG4gICAgICAgIHRoaXMuYXZhdGFyU2l6ZSA9IGVudW1WYWx1ZVRvU3RyaW5nU2l6ZShcclxuICAgICAgICAgICAgdmlld1NldHRpbmcuQXZhdGFyU2l6ZSxcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50RGVuc2l0eSA9PT0gJ2NvbXBhY3QnID8gJ3MnIDogJ20nXHJcbiAgICAgICAgKSBhcyBTaXplO1xyXG5cclxuICAgICAgICB0aGlzLmxpc3RTZXR0aW5nID0ge1xyXG4gICAgICAgICAgICAuLi52aWV3U2V0dGluZyxcclxuICAgICAgICAgICAgVGl0bGVGaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5UaXRsZSksXHJcbiAgICAgICAgICAgIFN1YnRpdGxlRmllbGQ6IGZpbmRDb2x1bW4udHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgdmlld1NldHRpbmcuU3VidGl0bGUpID8/ICcnLFxyXG4gICAgICAgICAgICBDb3VudGVyRmllbGQ6IGZpbmRDb2x1bW4udHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgdmlld1NldHRpbmcuQ291bnRlcikgPz8gJycsXHJcbiAgICAgICAgICAgIEF2YXRhckZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkF2YXRhciksXHJcbiAgICAgICAgICAgIEljb25Gb250OiB2aWV3U2V0dGluZy5JY29uRm9udCB8fCBudWxsLFxyXG4gICAgICAgICAgICBTdGF0dXNGaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5TdGF0dXMpLFxyXG4gICAgICAgICAgICBEZXNjcmlwdGlvbkZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkRlc2NyaXB0aW9uKVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBvbk9sZ29FdmVudHMoZTogeyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0pOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fbWVudSkge1xyXG4gICAgICAgICAgICB0aGlzLl9tZW51LmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1cGVyLm9uT2xnb0V2ZW50cyhlKTtcclxuICAgIH1cclxuICAgIG9uTGlzdENoZWNrYm94Q2xpY2sobW8sIGluZGV4KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KHsgbW8sIGluZGV4IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTGlzdE5hdmlnYXRpb25DbGljayhtbywgaW5kZXgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBfZ2V0UHJlc2VudGFpb25Nb2RlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgICAgIHN3aXRjaCAodGhpcy52aWV3U2V0dGluZy5QcmVzZW50YWlvbk1vZGUpIHtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRNb2RlVGVtcGxhdGVSZWY7XHJcbiAgICAgICAgICAgIGNhc2UgJzInOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3B1cE1vZGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9wdXBNb2RlVGVtcGxhdGVSZWY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWxlY3RlZFByZXNlbnRhaW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcG9wdXBNb2RlVGVtcGxhdGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gbW9iaWxlVHBsIDogZGVza3RvcFRwbFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gPGZkLW1lbnUgW2FwcGVuZFRvXT1cIl9lbFwiXHJcbiAgI21lbnUgW21vYmlsZV09XCJkZXZpY2VTaXplID09PSAncydcIiA+XHJcbjwvZmQtbWVudT4gLS0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjbW9iaWxlVHBsPlxyXG4gICAgPGRpdiBjbGFzcz1cInBvcHVwLW1vZGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uRHJvcERvd247IGNvbnRleHQ6IHsgbWVudTogbWVudSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b2tlbnNUcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxmZC1tZW51ICNtZW51IFttb2JpbGVdPVwidHJ1ZVwiIFttb2JpbGVDb25maWddPVwieyB0aXRsZTogdGl0bGUgfCBiYmJUcmFuc2xhdGUsIGhhc0Nsb3NlQnV0dG9uOiB0cnVlIH1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdE1vZGU7IGNvbnRleHQ6IHsgcG9wb3ZlcjogbWVudSwgcG9wdXBNb2RlOiB0cnVlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZmQtbWVudT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNkZXNrdG9wVHBsPlxyXG4gICAgPGZkLXBvcG92ZXIgI3BvcG92ZXIgZmlsbENvbnRyb2xNb2RlPVwiZXF1YWxcIj5cclxuICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sIGNsYXNzPVwicG9wdXAtbW9kZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uRHJvcERvd25cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cclxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRNb2RlOyBjb250ZXh0OiB7IHBvcG92ZXI6IHBvcG92ZXIsIHBvcHVwTW9kZTogdHJ1ZSB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgPC9mZC1wb3BvdmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRva2Vuc1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2J1dHRvbkRyb3BEb3duIGxldC1tZW51PVwibWVudVwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiZHJvcC1kb3duXCJcclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBbbGFiZWxdPVwic2VsZWN0ZWRNbyA/IChzZWxlY3RlZE1vLiRDYXB0aW9uIHwgYmJiVHJhbnNsYXRlKSA6ICh0aXRsZSB8IGJiYlRyYW5zbGF0ZSlcIlxyXG4gICAgICAgIFtmZE1lbnVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiXHJcbiAgICA+XHJcbiAgICAgICAgQGlmIChzZWxlY3RlZENvdW50ID4gMCAmJiBpc0NoZWNrTGlzdCkge1xyXG4gICAgICAgIDxzcGFuIGZkLW9iamVjdC1zdGF0dXMgW2ludmVydGVkXT1cInRydWVcIiBbbGFiZWxdPVwic2VsZWN0ZWRDb3VudFwiIFt0aXRsZV09XCJzZWxlY3RlZENvdW50XCI+PC9zcGFuPlxyXG4gICAgICAgIH1cclxuICAgIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3Rva2Vuc1RwbD5cclxuICAgIEBpZiAoaXNDaGVja0xpc3QgJiYgaGFzU2VsZWN0ZWQpIHtcclxuICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nOiA1cHg7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgcm93LWdhcDogNXB4OyBjb2x1bW4tZ2FwOiA1cHhcIj5cclxuICAgICAgICBAZm9yIChtbyBvZiBtb0RhdGFMaXN0OyB0cmFjayBtbzsgbGV0IGluZGV4ID0gJGluZGV4KSB7IEBpZiAobW8uJElzQ2hlY2tlZCkge1xyXG4gICAgICAgIDxmZC10b2tlbiBmZENvenkgW3JlYWRPbmx5XT1cImZhbHNlXCIgKG9uQ2xvc2VDbGljayk9XCJvblJvd0NoZWNrKHttbywgaW5kZXh9KVwiPnt7XHJcbiAgICAgICAgICAgIGNvbHVtbnNbMF0uQ2FwdGlvbiB8IHJ2YWw6IG1vOmNvbHVtbnM6dHJ1ZVxyXG4gICAgICAgIH19PC9mZC10b2tlbj5cclxuICAgICAgICB9IH1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRNb2RlIGxldC1wb3BvdmVyPVwicG9wb3ZlclwiIGxldC1wb3B1cE1vZGU9XCJwb3B1cE1vZGVcIj5cclxuICAgIDxmZC1sYXlvdXQtcGFuZWwgW2NsYXNzLnBvcHVwLW1vZGVdPVwicG9wdXBNb2RlXCIgW25nQ2xhc3NdPVwiJ3NpemUtJyArIGRldmljZVNpemVcIj5cclxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWhlYWRlcj5cclxuICAgICAgICAgICAgPGZkLWxheW91dC1wYW5lbC1oZWFkPlxyXG4gICAgICAgICAgICAgICAgPGg0IGZkLWxheW91dC1wYW5lbC10aXRsZT57eyB0aXRsZSB8IGJiYlRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNlbGVjdGVkQ291bnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1vYmplY3Qtc3RhdHVzIFtpbnZlcnRlZF09XCJ0cnVlXCIgW2xhYmVsXT1cInNlbGVjdGVkQ291bnRcIiBbdGl0bGVdPVwic2VsZWN0ZWRDb3VudFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1sYXlvdXQtcGFuZWwtaGVhZD5cclxuICAgICAgICAgICAgPGZkLWxheW91dC1wYW5lbC1hY3Rpb25zPlxyXG4gICAgICAgICAgICAgICAgQGlmIChkZXZpY2VTaXplICE9PSAncycpIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDVweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXIuY2xvc2UoKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnM+XHJcbiAgICAgICAgPC9mZC1sYXlvdXQtcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIEBpZiAoaXNDaGVja0xpc3QgJiYgbW9EYXRhTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWZpbHRlcnM+XHJcbiAgICAgICAgICAgIDxmZC10b29sYmFyIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiY2xlYXJDaGVja0FsbFwiIChjbGljayk9XCJvbkFsbENoZWNrYm94KCRldmVudClcIiBmZC1saW5rIFthcmlhLWxhYmVsXT1cIidBbGwnIHwgYmJiVHJhbnNsYXRlXCI+e3tcclxuICAgICAgICAgICAgICAgICAgICAnQWxsJyB8IGJiYlRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZmQtdG9vbGJhci1sYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogMXJlbTsgZm9udC13ZWlnaHQ6IGJvbGRcIj4uPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJDaGVja2JveCgpXCJcclxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNsZWFyQ2hlY2tBbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWxpbmtcclxuICAgICAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCInQ2xlYXInIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICA+e3sgJ0NsZWFyJyB8IGJiYlRyYW5zbGF0ZSB9fTwvYVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2ZkLXRvb2xiYXI+XHJcbiAgICAgICAgPC9mZC1sYXlvdXQtcGFuZWwtZmlsdGVycz5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxmZC1sYXlvdXQtcGFuZWwtYm9keSBbYmxlZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzcGxheVR5cGUgPyBkaXNwbGF5TGlzdFRlbXBsYXRlIDogc3RhbmRhcmRMaXN0VGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IG1vRGF0YUxpc3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2hlY2tMaXN0OiBpc0NoZWNrTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBieTogZ3JvdXBieSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXRzOiBjb25kaXRpb25hbEZvcm1hdHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdTZXR0aW5nOiB2aWV3U2V0dGluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsQ29sdW1uczogYWxsQ29sdW1ucyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzOiBhY2Nlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogcnRsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3BvdmVyOiBwb3BvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2ZkLWxheW91dC1wYW5lbC1ib2R5PlxyXG4gICAgPC9mZC1sYXlvdXQtcGFuZWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tZGlzcGxheSBsaXN0LS0+XHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI2Rpc3BsYXlMaXN0VGVtcGxhdGVcclxuICAgIGxldC1tb0RhdGFMaXN0XHJcbiAgICBsZXQtaXNDaGVja0xpc3Q9XCJpc0NoZWNrTGlzdFwiXHJcbiAgICBsZXQtZ3JvdXBieT1cImdyb3VwYnlcIlxyXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxyXG4gICAgbGV0LWFsbENvbHVtbnM9XCJhbGxDb2x1bW5zXCJcclxuICAgIGxldC12aWV3U2V0dGluZz1cInZpZXdTZXR0aW5nXCJcclxuICAgIGxldC1hY2Nlc3M9XCJhY2Nlc3NcIlxyXG4gICAgbGV0LXJ0bD1cInJ0bFwiXHJcbj5cclxuICAgIEBpZiAobW9EYXRhTGlzdCAmJiBtb0RhdGFMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgIDx1bCBmZC1saXN0IGNsYXNzPVwiZGlzcGxheS1saXN0IGZkLWxpc3QtLW5hdmlnYXRpb25cIiBlbGxpcHNpZnk+XHJcbiAgICAgICAgQGZvciAobW8gb2YgbW9EYXRhTGlzdCB8IG11bHRpcGxlR3JvdXBCeTogZ3JvdXBieTsgdHJhY2sgbW87IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGxhc3QgPSAkbGFzdCkgeyBAaWZcclxuICAgICAgICAoIW1vLnBhcmVudCB8fCBtby5wYXJlbnQ/LmV4cGFuZGVkKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgaXRlbVRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbW8sXHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgIGxhc3Q6IGxhc3QsXHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uczogY29sdW1ucyxcclxuICAgICAgICAgICAgICAgICAgICBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RDb3VudDogbW9EYXRhTGlzdC5sZW5ndGhcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXCJcclxuICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgfSB9XHJcbiAgICA8L3VsPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8YnN1LW5vLWRhdGEgW3NpbXBsZV09XCJwb3B1cE1vZGVcIj48L2JzdS1uby1kYXRhPlxyXG4gICAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG48IS0tc3RhbmRhcmQgbGlzdC0tPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNzdGFuZGFyZExpc3RUZW1wbGF0ZVxyXG4gICAgbGV0LW1vRGF0YUxpc3RcclxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcclxuICAgIGxldC1ncm91cGJ5PVwiZ3JvdXBieVwiXHJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXHJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxyXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXHJcbiAgICBsZXQtdmlld1NldHRpbmc9XCJ2aWV3U2V0dGluZ1wiXHJcbiAgICBsZXQtcnRsPVwicnRsXCJcclxuICAgIGxldC1sYXN0PVwibGFzdFwiXHJcbj5cclxuICAgIEBpZiAobW9EYXRhTGlzdCAmJiBtb0RhdGFMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgIDx1bCBjbGFzcz1cImZkLWxpc3QtLW5hdmlnYXRpb25cIiBbY2xhc3MuZmQtbGlzdC0tYnlsaW5lXT1cIiFpc0Rpc3BsYXlUeXBlXCIgZmQtbGlzdCBbYnlsaW5lXT1cInRydWVcIiBlbGxpcHNpZnk+XHJcbiAgICAgICAgQGZvciAobW8gb2YgbW9EYXRhTGlzdCB8IG11bHRpcGxlR3JvdXBCeTogZ3JvdXBieTsgdHJhY2sgbW87IGxldCBpbmRleCA9ICRpbmRleCkgeyBAaWYgKCFtby5wYXJlbnQgfHxcclxuICAgICAgICBtby5wYXJlbnQ/LmV4cGFuZGVkKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgaXRlbVRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbW8sXHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICAgICAgICAgIGxhc3Q6IGxhc3QsXHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uczogY29sdW1ucyxcclxuICAgICAgICAgICAgICAgICAgICBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RDb3VudDogbW9EYXRhTGlzdC5sZW5ndGhcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXCJcclxuICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgfSB9XHJcbiAgICA8L3VsPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8YnN1LW5vLWRhdGEgW3NpbXBsZV09XCJwb3B1cE1vZGVcIj48L2JzdS1uby1kYXRhPlxyXG4gICAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLW5vRGF0YS0tPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNpdGVtVGVtcGxhdGVcclxuICAgIGxldC1tb1xyXG4gICAgbGV0LWluZGV4PVwiaW5kZXhcIlxyXG4gICAgbGV0LWxhc3Q9XCJsYXN0XCJcclxuICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXHJcbiAgICBsZXQtbW9EYXRhTGlzdENvdW50PVwibW9EYXRhTGlzdENvdW50XCJcclxuICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXHJcbj5cclxuICAgIEBpZiAobW8uZ3JvdXAgfHwgbW8uZ3JvdXAgPT09ICcnKSB7XHJcbiAgICA8bGlcclxuICAgICAgICBmZC1saXN0LWdyb3VwLWhlYWRlclxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cIidjYWxjKCAxcmVtICsgJyArIG1vLmxldmVsICogMTIgKyAncHgnICsgJyApJ1wiXHJcbiAgICAgICAgW2F0dHIubGV2ZWxdPVwibW8ubGV2ZWxcIlxyXG4gICAgICAgIFtjbGFzcy5yb290LWdyb3VwXT1cIm1vLmxldmVsID09PSAwXCJcclxuICAgID5cclxuICAgICAgICA8ZmQtaWNvblxyXG4gICAgICAgICAgICBbZ2x5cGhdPVwibW8uZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJjZWxsLWV4cGFuZFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkV4cGFuZENsaWNrKG1vKVwiXHJcbiAgICAgICAgPjwvZmQtaWNvbj5cclxuICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IG1vLmdyb3VwIH19PC9zcGFuPlxyXG4gICAgPC9saT5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgIGhhc1Jvd09sZ28gPyBkeW5hbWljSXRlbVRlbXBsYXRlIDogZGVmYXVsdEl0ZW07XHJcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbW8sXHJcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgbW9EYXRhTGlzdDogbW9EYXRhTGlzdCxcclxuICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RDb3VudDogbW9EYXRhTGlzdC5sZW5ndGhcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFwiXHJcbiAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAjZGVmYXVsdEl0ZW1cclxuICAgICAgICBsZXQtbW9cclxuICAgICAgICBsZXQtaW5kZXg9XCJpbmRleFwiXHJcbiAgICAgICAgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCJcclxuICAgICAgICBsZXQtbW9EYXRhTGlzdENvdW50PVwibW9EYXRhTGlzdENvdW50XCJcclxuICAgICAgICBsZXQtbW9EYXRhTGlzdD1cIm1vRGF0YUxpc3RcIlxyXG4gICAgPlxyXG4gICAgICAgIEBpZiAoIWhhc1Jvd09sZ28pIHtcclxuICAgICAgICA8YnN1LWxpc3QtaXRlbVxyXG4gICAgICAgICAgICBbaXNEaXNwbGF5VHlwZV09XCJpc0Rpc3BsYXlUeXBlXCJcclxuICAgICAgICAgICAgW21vXT1cIm1vXCJcclxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJtby4kSXNDaGVja2VkXCJcclxuICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwibW8uJFN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICBbaXNOZXdJbmxpbmVNb109XCJtby4kTmV3SW5saW5lTW9cIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBbbGFzdF09XCJsYXN0XCJcclxuICAgICAgICAgICAgW3NldHRpbmddPVwibGlzdFNldHRpbmdcIlxyXG4gICAgICAgICAgICBbZWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgIFtoaWRlT3Blbkljb25dPVwiaGlkZU9wZW5JY29uXCJcclxuICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBbZm9ybVNldHRpbmddPVwiZm9ybVNldHRpbmdcIlxyXG4gICAgICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcclxuICAgICAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgICAgIFtjYW5WaWV3XT1cImNhblZpZXdcIlxyXG4gICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgICAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcclxuICAgICAgICAgICAgKHJvd0NoZWNrKT1cIm9uUm93Q2hlY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAodWx2Q29tbWFuZCk9XCJvblVsdkNvbW1hbmQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChlZGl0Rm9ybVBhbmVsU2F2ZSk9XCJvbkVkaXRGb3JtUGFuZWxTYXZlKCRldmVudClcIlxyXG4gICAgICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYnN1LWxpc3QtaXRlbT5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8Ym5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50XHJcbiAgICAgICAgICAgIFtjb21wb25lbnRdPVwidmlld1NldHRpbmcuUm93T2xnb1wiXHJcbiAgICAgICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cIm1vLiRTdHlsZUluZGV4XCJcclxuICAgICAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXHJcbiAgICAgICAgICAgIFtzaG93RGV0YWlsc0luUm93XT1cInNob3dEZXRhaWxzSW5Sb3dcIlxyXG4gICAgICAgICAgICBbaGlkZU9wZW5JY29uXT1cImhpZGVPcGVuSWNvblwiXHJcbiAgICAgICAgICAgIFtkZXRhaWxzQ29sdW1uc109XCJkZXRhaWxzQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIFtjb2x1bW5Db21wb25lbnRzXT1cInZpZXdTZXR0aW5nPy5Db2x1bW5Db21wb25lbnRzIHx8IG51bGxcIlxyXG4gICAgICAgICAgICBbY2FydGFibGVUZW1wbGF0ZV09XCJjYXJ0YWJsZVRlbXBsYXRlc1ttby5SZWxhdGVkTW8/LiRUeXBlRGVmSWRdXCJcclxuICAgICAgICAgICAgW2NhcnRhYmxlTW9dPVwibW8uUmVsYXRlZE1vXCJcclxuICAgICAgICAgICAgW2NhcnRhYmxlV29ya2Zsb3dEYXRhXT1cIm1vLlNlcmlhbGl6ZWRXb3JrZmxvd0RhdGFcIlxyXG4gICAgICAgICAgICBbc2VyaWFsaXplZFJlbGF0ZWRNb109XCJtby5TZXJpYWxpemVkUmVsYXRlZE1vXCJcclxuICAgICAgICAgICAgW2RldGFpbHNUZXh0XT1cInZpZXdTZXR0aW5nPy5EZXRhaWxzU2V0dGluZz8uQnV0dG9uVGV4dFwiXHJcbiAgICAgICAgICAgIFtkZXRhaWxzQ29tcG9uZW50XT1cImRldGFpbHNDb21wb25lbnRcIlxyXG4gICAgICAgICAgICBbaXNDaGVja2VkXT1cIm1vLiRJc0NoZWNrZWRcIlxyXG4gICAgICAgICAgICBbdmlzaWJpbGl0eV09XCJtby4kVmlzaWJpbGl0eVwiXHJcbiAgICAgICAgICAgIFtleHBhbmRlZF09XCJtby4kRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibW8uJExldmVsXCJcclxuICAgICAgICAgICAgW3BhcmVudEV4cGFuZGVkXT1cIm1vLiRQYXJlbnQ/LiRFeHBhbmRlZFwiXHJcbiAgICAgICAgICAgIFttb0RhdGFMaXN0Q291bnRdPVwibW9EYXRhTGlzdENvdW50XCJcclxuICAgICAgICAgICAgW2NvbHVtbnNDb3VudF09XCJjb2x1bW5zQ291bnQgLSBkZXRhaWxzQ29sdW1ucy5sZW5ndGhcIlxyXG4gICAgICAgICAgICBbdHlwZURlZklkXT1cInR5cGVEZWZJZFwiXHJcbiAgICAgICAgICAgIFtleHRyYVJlbGF0aW9uXT1cImV4dHJhUmVsYXRpb25cIlxyXG4gICAgICAgICAgICBbZm9ybVNldHRpbmddPVwiZm9ybVNldHRpbmdcIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBbbGFzdF09XCJsYXN0XCJcclxuICAgICAgICAgICAgW3NldHRpbmddPVwidmlld1NldHRpbmdcIlxyXG4gICAgICAgICAgICBbc2Vjb25kYXJ5Q29sdW1uc109XCJzZWNvbmRhcnlDb2x1bW5zIHwgZmlsdGVyQ29sdW1uc0J5RGV0YWlsczogZGV0YWlsc0NvbHVtbnM6ZmFsc2VcIlxyXG4gICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zIHwgZmlsdGVyQ29sdW1uc0J5RGV0YWlsczogZGV0YWlsc0NvbHVtbnM6ZmFsc2VcIlxyXG4gICAgICAgICAgICBbaXNOZXdJbmxpbmVNb109XCJtby4kTmV3SW5saW5lTW9cIlxyXG4gICAgICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXHJcbiAgICAgICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcclxuICAgICAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcclxuICAgICAgICAgICAgW2NhblZpZXddPVwiY2FuVmlld1wiXHJcbiAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcclxuICAgICAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxyXG4gICAgICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxyXG4gICAgICAgICAgICBbcm93SW5kaWNhdG9yXT1cImNvbHVtbnNbMF0uTWV0YUZpZWxkVHlwZUlkID09PSAnNDEnXCJcclxuICAgICAgICAgICAgKGV2ZW50cyk9XCJvbk9sZ29FdmVudHMoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYm5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50PlxyXG4gICAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAjZHluYW1pY0l0ZW1UZW1wbGF0ZVxyXG4gICAgICAgIGxldC1tb1xyXG4gICAgICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgICAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxyXG4gICAgICAgIGxldC1tb0RhdGFMaXN0Q291bnQ9XCJtb0RhdGFMaXN0Q291bnRcIlxyXG4gICAgICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGJucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudFxyXG4gICAgICAgICAgICBbY29tcG9uZW50XT1cInZpZXdTZXR0aW5nLlJvd09sZ29cIlxyXG4gICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICBbc3R5bGVJbmRleF09XCJtby4kU3R5bGVJbmRleFwiXHJcbiAgICAgICAgICAgIFttb0RhdGFMaXN0XT1cIm1vRGF0YUxpc3RcIlxyXG4gICAgICAgICAgICBbc2hvd0RldGFpbHNJblJvd109XCJzaG93RGV0YWlsc0luUm93XCJcclxuICAgICAgICAgICAgW2hpZGVPcGVuSWNvbl09XCJoaWRlT3Blbkljb25cIlxyXG4gICAgICAgICAgICBbZGV0YWlsc0NvbHVtbnNdPVwiZGV0YWlsc0NvbHVtbnNcIlxyXG4gICAgICAgICAgICBbY29sdW1uQ29tcG9uZW50c109XCJ2aWV3U2V0dGluZz8uQ29sdW1uQ29tcG9uZW50cyB8fCBudWxsXCJcclxuICAgICAgICAgICAgW2NhcnRhYmxlVGVtcGxhdGVdPVwiY2FydGFibGVUZW1wbGF0ZXNbbW8uUmVsYXRlZE1vPy4kVHlwZURlZklkXVwiXHJcbiAgICAgICAgICAgIFtjYXJ0YWJsZU1vXT1cIm1vLlJlbGF0ZWRNb1wiXHJcbiAgICAgICAgICAgIFtjYXJ0YWJsZVdvcmtmbG93RGF0YV09XCJtby5TZXJpYWxpemVkV29ya2Zsb3dEYXRhXCJcclxuICAgICAgICAgICAgW3NlcmlhbGl6ZWRSZWxhdGVkTW9dPVwibW8uU2VyaWFsaXplZFJlbGF0ZWRNb1wiXHJcbiAgICAgICAgICAgIFtkZXRhaWxzVGV4dF09XCJ2aWV3U2V0dGluZz8uRGV0YWlsc1NldHRpbmc/LkJ1dHRvblRleHRcIlxyXG4gICAgICAgICAgICBbZGV0YWlsc0NvbXBvbmVudF09XCJkZXRhaWxzQ29tcG9uZW50XCJcclxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJtby4kSXNDaGVja2VkXCJcclxuICAgICAgICAgICAgW3Zpc2liaWxpdHldPVwibW8uJFZpc2liaWxpdHlcIlxyXG4gICAgICAgICAgICBbZXhwYW5kZWRdPVwibW8uJEV4cGFuZGVkXCJcclxuICAgICAgICAgICAgW2xldmVsXT1cIm1vLiRMZXZlbFwiXHJcbiAgICAgICAgICAgIFtwYXJlbnRFeHBhbmRlZF09XCJtby4kUGFyZW50Py4kRXhwYW5kZWRcIlxyXG4gICAgICAgICAgICBbbW9EYXRhTGlzdENvdW50XT1cIm1vRGF0YUxpc3RDb3VudFwiXHJcbiAgICAgICAgICAgIFtjb2x1bW5zQ291bnRdPVwiY29sdW1uc0NvdW50IC0gZGV0YWlsc0NvbHVtbnMubGVuZ3RoXCJcclxuICAgICAgICAgICAgW3R5cGVEZWZJZF09XCJ0eXBlRGVmSWRcIlxyXG4gICAgICAgICAgICBbZXh0cmFSZWxhdGlvbl09XCJleHRyYVJlbGF0aW9uXCJcclxuICAgICAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcclxuICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgW2xhc3RdPVwibGFzdFwiXHJcbiAgICAgICAgICAgIFtzZXR0aW5nXT1cInZpZXdTZXR0aW5nXCJcclxuICAgICAgICAgICAgW3NlY29uZGFyeUNvbHVtbnNdPVwic2Vjb25kYXJ5Q29sdW1ucyB8IGZpbHRlckNvbHVtbnNCeURldGFpbHM6IGRldGFpbHNDb2x1bW5zOmZhbHNlXCJcclxuICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1ucyB8IGZpbHRlckNvbHVtbnNCeURldGFpbHM6IGRldGFpbHNDb2x1bW5zOmZhbHNlXCJcclxuICAgICAgICAgICAgW2lzTmV3SW5saW5lTW9dPVwibW8uJE5ld0lubGluZU1vXCJcclxuICAgICAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdFwiXHJcbiAgICAgICAgICAgIFtydGxdPVwicnRsXCJcclxuICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcclxuICAgICAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgICAgIFtjYW5WaWV3XT1cImNhblZpZXdcIlxyXG4gICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXHJcbiAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcclxuICAgICAgICAgICAgW2lzQ2hlY2tMaXN0XT1cImlzQ2hlY2tMaXN0XCJcclxuICAgICAgICAgICAgW3Jvd0luZGljYXRvcl09XCJjb2x1bW5zWzBdLk1ldGFGaWVsZFR5cGVJZCA9PT0gJzQxJ1wiXHJcbiAgICAgICAgICAgIChldmVudHMpPVwib25PbGdvRXZlbnRzKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2JucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==