barsa-sap-ui 2.0.53 → 2.0.54

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.
@@ -260,11 +260,11 @@ export class UiUlvMainUiComponent extends BaseComponent {
260
260
  });
261
261
  }
262
262
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiUlvMainUiComponent, deps: [{ token: i1.DialogService }, { token: i2.UlvMainService }, { token: i0.ElementRef }, { token: i3.Router }, { token: i2.PortalService }, { token: i0.ChangeDetectorRef }, { token: i3.ActivatedRoute }, { token: i1.ContentDensityService }, { token: i2.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
263
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: { context: "context", isReportPage: "isReportPage", inDialog: "inDialog", isMultiSelect: "isMultiSelect", layoutInfo: "layoutInfo", fullscreen: "fullscreen" }, host: { properties: { "class.control-readonly": "this.readonly", "class.control-disabled": "this.disable", "class.margin-ulv": "this.marginUlv" } }, providers: [UlvMainService], viewQueries: [{ propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"], dependencies: [{ kind: "component", type: i4.BarsaUlvMainComponent, selector: "bsu-barsa-ulv-main", inputs: ["viewerControl", "loading", "viewerLoading", "isReportPage", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
263
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: { context: "context", isReportPage: "isReportPage", inDialog: "inDialog", isMultiSelect: "isMultiSelect", layoutInfo: "layoutInfo", fullscreen: "fullscreen" }, host: { properties: { "class.control-readonly": "this.readonly", "class.control-disabled": "this.disable", "class.margin-ulv": "this.marginUlv" } }, providers: [UlvMainService], viewQueries: [{ propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [style.style.width]=\"!isMobile ? null : '100%'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"], dependencies: [{ kind: "component", type: i4.BarsaUlvMainComponent, selector: "bsu-barsa-ulv-main", inputs: ["viewerControl", "loading", "viewerLoading", "isReportPage", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
264
264
  }
265
265
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiUlvMainUiComponent, decorators: [{
266
266
  type: Component,
267
- args: [{ selector: 'bsu-ui-ulv-main-ui', providers: [UlvMainService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"] }]
267
+ args: [{ selector: 'bsu-ui-ulv-main-ui', providers: [UlvMainService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [style.style.width]=\"!isMobile ? null : '100%'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"] }]
268
268
  }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.UlvMainService }, { type: i0.ElementRef }, { type: i3.Router }, { type: i2.PortalService }, { type: i0.ChangeDetectorRef }, { type: i3.ActivatedRoute }, { type: i1.ContentDensityService }, { type: i2.BreadcrumbService }], propDecorators: { context: [{
269
269
  type: Input
270
270
  }], isReportPage: [{
@@ -290,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
290
290
  }], fullscreen: [{
291
291
  type: Input
292
292
  }] } });
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LW1haW4tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFDSCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFRZCxpQkFBaUIsRUFFcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQzs7Ozs7OztBQVN6SCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsYUFBYTtJQVVuRCxJQUNJLG9CQUFvQixDQUFDLEdBQUc7UUFDeEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENB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QzNCLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO29CQUNwQixNQUFNLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN2RSxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQ2xELENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBMVNRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDBXQUhsQixDQUFDLGNBQWMsQ0FBQyxnRkFhaEIsb0JBQW9CLHVFQ3REbkMsdTNEQXdDQTs7MkZESWEsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNJLG9CQUFvQixhQUduQixDQUFDLGNBQWMsQ0FBQyxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNOzBUQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFaUMsUUFBUTtzQkFBOUMsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0UsT0FBTztzQkFBN0MsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0osU0FBUztzQkFBekMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBRTNCLG9CQUFvQjtzQkFEdkIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBT2xCLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBDb250ZW50RGVuc2l0eVNlcnZpY2UsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhcnNhQXBpLFxuICAgIEJhc2VDb21wb25lbnQsXG4gICAgVWx2TWFpblNlcnZpY2UsXG4gICAgUGFnaW5nU2V0dGluZyxcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIFNlYXJjaFBhbmVsU2V0dGluZ3MsXG4gICAgQnJlYWRDcnVtYkluZm8sXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgQ29sdW1uSW5mb1R5cGUsXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIGdldERldmljZUlzTW9iaWxlLFxuICAgIExheW91dFNldHRpbmdcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5pbXBvcnQgeyBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vbWFuYWdlLWZpbHRlcnMtcmVwb3J0L21hbmFnZS1maWx0ZXJzLXJlcG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktdWx2LW1haW4tdWknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS11bHYtbWFpbi11aS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtVbHZNYWluU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlVbHZNYWluVWlDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgaXNSZXBvcnRQYWdlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogTGF5b3V0U2V0dGluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1yZWFkb25seScpIHJlYWRvbmx5O1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1kaXNhYmxlZCcpIGRpc2FibGU7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXJnaW4tdWx2JykgbWFyZ2luVWx2O1xuICAgIEBWaWV3Q2hpbGQoU2VhcmNoUGFuZWxDb21wb25lbnQpXG4gICAgc2V0IHNlYXJjaFBhbmVsQ29tcG9uZW50KHZhbCkge1xuICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgZnVsbHNjcmVlbih2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0RnVsbHNjcmVlbih2YWwpO1xuICAgIH1cbiAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M6IFNlYXJjaFBhbmVsU2V0dGluZ3MgfCB1bmRlZmluZWQ7XG4gICAgZmlyc3RBcHBseUF1dG9tYXRpY2FsbHkgPSB0cnVlO1xuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHZpd2VyTWFzayQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdmlld2VyJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xuICAgIHNlYXJjaFBhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgaGlkZVNlYXJjaFBhbmVsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHJlcG9ydElkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHNlYXJjaFBhbmVsTW9DaGFuZ2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzJDogT2JzZXJ2YWJsZTxTZWFyY2hQYW5lbFNldHRpbmdzW10+O1xuICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQ6IE9ic2VydmFibGU8U2VhcmNoUGFuZWxTZXR0aW5ncyB8IHVuZGVmaW5lZD47XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcbiAgICBicmVhZENydW1icyQ6IE9ic2VydmFibGU8QnJlYWRDcnVtYkluZm9bXT47XG4gICAgY2FuU2F2ZUdyaWRTZXR0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzZWFyY2hQYW5lbExvYWRlZDogYm9vbGVhbjtcbiAgICBpc0Fub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBoYXNTZWFyY2hQYW5lbDogYm9vbGVhbjtcbiAgICBpc01vYmlsZTogYm9vbGVhbjtcbiAgICBsYW5kc2NhcGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHN0YW5kYWxvbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgcHJpdmF0ZSBkZWZhdWx0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgIG1pbldpZHRoOiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnNTByZW0nLFxuICAgICAgICBib2R5TWluSGVpZ2h0OiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnY2FsYyg1MHZoIC0gODhweCknLFxuICAgICAgICBtb2JpbGU6IGdldERldmljZUlzTW9iaWxlKClcbiAgICB9O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgICAgIF9icmFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmNvbnRlbnREZW5zaXR5JCA9IGNvbnRlbnREZW5zaXR5U2VydmljZS5jb250ZW50RGVuc2l0eTtcbiAgICAgICAgdGhpcy5ydGwkID0gX3BvcnRhbFNlcnZpY2UucnRsJDtcbiAgICAgICAgdGhpcy5icmVhZENydW1icyQgPSBfYnJhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRJbkRpYWxvZyh0aGlzLmluRGlhbG9nKTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0SXNNdWx0aVNlbGVjdCh0aGlzLmlzTXVsdGlTZWxlY3QpO1xuICAgICAgICAvLyBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAgIC8vICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgIC8vICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKFxuICAgICAgICAvLyAgICAgICAgICAgICBlLnRhcmdldCAmJlxuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgIT09IGUudGFyZ2V0ICYmXG4gICAgICAgIC8vICAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpICYmXG4gICAgICAgIC8vICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY29udGFpbnMoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpXG4gICAgICAgIC8vICAgICAgICAgKSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldElubGluZUVkaXQoZmFsc2UpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICB0aGlzLl9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpO1xuICAgICAgICB0aGlzLm1hcmdpblVsdiA9ICF0aGlzLmlzUmVwb3J0UGFnZTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRleHQuU2V0dGluZy5TZWFyY2hQYW5lbCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbExvYWRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb2JzZXJ2ZU9uKCk7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3JlbmRlcicsIHRoaXMpO1xuICAgIH1cbiAgICBfb2JzZXJ2ZU9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQW5vbnltb3VzJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuaXNBbm9ueW1vdXMkO1xuICAgICAgICB0aGlzLmhpZGVTZWFyY2hQYW5lbCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWwkO1xuXG4gICAgICAgIHRoaXMudGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy5UaXRsZScsICcnKTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0Q29udGV4dCh0aGlzLmNvbnRleHQpO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRMYXlvdXRJbmZvKHRoaXMubGF5b3V0SW5mbyk7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmxvYWRTZWFyY2hQYW5lbFNldHRpbmdzKCk7XG4gICAgICAgIHRoaXMubWFzayQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tYXNrJDtcbiAgICAgICAgdGhpcy52aXdlck1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJDtcbiAgICAgICAgdGhpcy5jYW5TYXZlR3JpZFNldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJDtcbiAgICAgICAgdGhpcy5wYWdpbmdTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2luZ1NldHRpbmckO1xuICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTW9DaGFuZ2VkJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkJDtcbiAgICAgICAgdGhpcy5oYXNTZWFyY2hQYW5lbCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsVWkgIT09IG51bGw7XG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxVaSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpJDtcbiAgICAgICAgdGhpcy5zdGFuZGFsb25lJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2Uuc3RhbmRhbG9uZSQ7XG4gICAgICAgIHRoaXMubGFuZHNjYXBlJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UubGFuZHNjYXBlJDtcbiAgICAgICAgdGhpcy5yZXBvcnRJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZCQ7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlYWRvbmx5JC5zdWJzY3JpYmUoKHJlYWRvbmx5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlYWRvbmx5ID0gcmVhZG9ubHk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5lbmFibGUkLnN1YnNjcmliZSgoZW5hYmxlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGUgPSAhZW5hYmxlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5UaXRsZSA9PT0gYj8uVGl0bGUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncztcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hcHBseVNlYXJjaFBhbmVsU2V0dGluZ3Moc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS50b2dnbGVIaWRlU2VhcmNocGFuZWwoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzPy5IaWRlU2VhcmNoUGFuZWwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudmlld2VyJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnZpZXdlciQ7XG4gICAgICAgIHRoaXMuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5hbGxTZWFyY2hQYW5lbFNldHRpbmdzJDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQ7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnLi4vLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZSB9KTtcbiAgICB9XG4gICAgb25TZWFyY2hQYW5lbE1vQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0U2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XG4gICAgfVxuICAgIG9uUGFnZUNoYW5nZShlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucGFnZUNoYW5nZWQoZSk7XG4gICAgfVxuICAgIG9uT3Blbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50LCB7XG4gICAgICAgICAgICBiYWNrZHJvcENsaWNrQ2xvc2VhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGVzY0tleUNsb3NlYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIGZvY3VzVHJhcHBlZDogdHJ1ZSxcbiAgICAgICAgICAgIG1vYmlsZTogdGhpcy5pc01vYmlsZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKGNvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xuICAgIH1cbiAgICBvbkhpZGVTZWFyY2hQYW5lbENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS50b2dnbGVIaWRlU2VhcmNocGFuZWwoKTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJTYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zYXZlRmlsdGVyKCk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJTYXZlQXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29wZW5TYXZlQXNGaWx0ZXIoKTtcbiAgICB9XG5cbiAgICBvblNob3dGaWx0ZXJGaWVsZHNTZXR0aW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vcGVuU2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3MoKTtcbiAgICB9XG5cbiAgICBvbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29wZW5TZWFyY2hGaWx0ZXJzTWFuYWdlKCk7XG4gICAgfVxuXG4gICAgb25DbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2xlYXJTZWFyY2goKTtcbiAgICB9XG5cbiAgICBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoKCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRTZWFyY2hQYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JlbW92ZUJ1Z0luQ2hyb21lQ3NzQWN0aXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAoQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGlzdDogeyBpOiBhbnk7IG46IGFueTsgYTogYW55IH1bXSA9IFtdO1xuICAgICAgICBjb25zdCBoID0gZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsaXN0W2ldID0ge1xuICAgICAgICAgICAgICAgIGksXG4gICAgICAgICAgICAgICAgbjogaFtpXSxcbiAgICAgICAgICAgICAgICBhOiBoW2ldLmlubmVySFRNTFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBsaXN0ID0gbGlzdC5yZXZlcnNlKCk7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgICAgIGNvbnN0IHQgPSBgLmZkLXRhYmxlX19jZWxsLS1hY3RpdmFibGU6YWN0aXZlICosLmZkLXRhYmxlX19yb3ctLWFjdGl2YWJsZS5pcy1hY3RpdmUgKiwuZmQtdGFibGVfX3Jvdy0tYWN0aXZhYmxlOmFjdGl2ZSAqe2NvbG9yOnZhcigtLXNhcExpc3RfQWN0aXZlX1RleHRDb2xvcikhaW1wb3J0YW50fWA7XG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICAgICAgY29uc3QgZiA9IGxpc3QuZmlsdGVyKChjKSA9PiBjLmEuaW5kZXhPZih0KSA+PSAwKTtcbiAgICAgICAgaWYgKGYubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgZlswXS5uLmlubmVySFRNTCA9IGZbMF0uYS5zbGljZSgwLCAxMDA1OCkgKyBmWzBdLmEuc2xpY2UoMTAwNTggKyB0Lmxlbmd0aCwgZlswXS5hLmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0U2VhcmNoUGFuZWxNb0NoYW5nZWQoY2hhbmdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKGNoYW5nZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZHNTZXR0aW5nID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxGaWVsZHNTZXR0aW5nKCk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGZpZWxkczogWy4uLmZpZWxkc1NldHRpbmddXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCwgY29uZmlnKTtcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IENvbHVtbkluZm9UeXBlW10pID0+IHtcbiAgICAgICAgICAgIGlmIChzZXR0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0QW5kQXBwbHlTZWFyY2hQYW5lbFNldHRpbmdGaWVsZHNTZXR0aW5nKHNldHRpbmcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfb3BlblNhdmVBc0ZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoTW8gPSB0aGlzLl91bHZNYWluU2VydmljZS5nZXRTZWFyY2hQYW5lbE1vKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzO1xuICAgICAgICBjb25zdCBmaWVsZHNTZXR0aW5nID0gc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzPy5GaWVsZHNTZXR0aW5nO1xuICAgICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXG4gICAgICAgICAgICBtaW5XaWR0aDogJzI1cmVtJyxcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgc2VhcmNoTW8sXG4gICAgICAgICAgICAgICAgZmllbGRzU2V0dGluZyxcbiAgICAgICAgICAgICAgICByZXBvcnRJZDogdGhpcy5fdWx2TWFpblNlcnZpY2UucmVwb3J0SWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCwgY29uZmlnKTtcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNlYXJjaFBhbmVsU2V0dGluZzogU2VhcmNoUGFuZWxTZXR0aW5ncykgPT4ge1xuICAgICAgICAgICAgaWYgKHNlYXJjaFBhbmVsU2V0dGluZykge1xuICAgICAgICAgICAgICAgIHNlYXJjaFBhbmVsU2V0dGluZy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuYWRkU2VhcmNoUGFuZWxTZXR0aW5ncyhzZWFyY2hQYW5lbFNldHRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2F2ZUZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XG4gICAgICAgIGlmIChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XG4gICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zYXZlU2VhcmNoUGFuZWxTZXR0aW5nKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpbHRlcnNNYW5hZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MgPSB0aGlzLl91bHZNYWluU2VydmljZS5hbGxTZWFyY2hQYW5lbFNldHRpbmdzO1xuICAgICAgICBjb25zdCByZXBvcnRJZCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlcG9ydElkO1xuICAgICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXG4gICAgICAgICAgICByZXNwb25zaXZlUGFkZGluZzogZmFsc2UsXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGFsbFNlYXJjaFBhbmVsU2V0dGluZ3M6IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBUaXRsZTogYy5UaXRsZSxcbiAgICAgICAgICAgICAgICAgICAgSXNEZWZhdWx0OiBjLklzRGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgSXNQdWJsaWM6IGMuSXNQdWJsaWMsXG4gICAgICAgICAgICAgICAgICAgIElzUHJpbWFyeTogISFjLklzUHJpbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBjLkFwcGx5QXV0b21hdGljYWxseSxcbiAgICAgICAgICAgICAgICAgICAgUmVwb3J0SWQ6IHJlcG9ydElkLFxuICAgICAgICAgICAgICAgICAgICBJZDogYy5JZFxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0U2VhcmNoRmllbGRzTWFuYWdlQ29tcG9uZW50LCBjb25maWcpO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2V0dGluZzogU2VhcmNoUGFuZWxTZXR0aW5nc1tdKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2V0dGluZykge1xuICAgICAgICAgICAgICAgIHNldHRpbmdcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gIWMuSXNQcmltYXJ5KVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgobmV3U2V0dGluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3BzID0gYWxsU2VhcmNoUGFuZWxTZXR0aW5ncy5maW5kKChjKSA9PiBjLklkID09PSBuZXdTZXR0aW5nLklkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHNwcywgbmV3U2V0dGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVwZGF0ZVNlYXJjaFBhbmVsU2V0dGluZ3MoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxic3UtYmFyc2EtdWx2LW1haW5cbiAgICBbc3R5bGUubWFyZ2luXT1cImlzUmVwb3J0UGFnZSA/IG51bGwgOiAndmFyKC0tZmRJbnB1dF9GaWVsZF9NYXJnaW4sIC4yNXJlbSAwKSdcIlxuICAgIFtsYXlvdXRJbmZvXT1cImxheW91dEluZm9cIlxuICAgIFthdHRyLmlzUmVwb3J0UGFnZV09XCJpc1JlcG9ydFBhZ2VcIlxuICAgIFt2aWV3ZXJDb250cm9sXT1cInZpZXdlciQgfCBhc3luY1wiXG4gICAgW2xvYWRpbmddPVwiKG1hc2skIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbdmlld2VyTG9hZGluZ109XCIodml3ZXJNYXNrJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW3N0YW5kYWxvbmVdPVwiKHN0YW5kYWxvbmUkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbbGFuZHNjYXBlXT1cIihsYW5kc2NhcGUkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbaXNSZXBvcnRQYWdlXT1cImlzUmVwb3J0UGFnZVwiXG4gICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW3NlYXJjaFBhbmVsVWldPVwiKHNlYXJjaFBhbmVsVWkkIHwgYXN5bmMpISFcIlxuICAgIFticmVhZENydW1ic109XCIoYnJlYWRDcnVtYnMkIHwgYXN5bmMpISFcIlxuICAgIFthbGxTZWFyY2hQYW5lbFNldHRpbmdzXT1cIihhbGxTZWFyY2hQYW5lbFNldHRpbmdzJCB8IGFzeW5jKSEhXCJcbiAgICBbaXNBbm9ueW1vdXNdPVwiKGlzQW5vbnltb3VzJCB8IGFzeW5jKSEhXCJcbiAgICBbY2FuU2F2ZUdyaWRTZXR0aW5nXT1cIihjYW5TYXZlR3JpZFNldHRpbmckIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbcnRsXT1cIihydGwkIHwgYXN5bmMpISFcIlxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NdPVwiKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXG4gICAgW3NlYXJjaFBhbmVsTW9DaGFuZ2VkXT1cIihzZWFyY2hQYW5lbE1vQ2hhbmdlZCQgfCBhc3luYykhIVwiXG4gICAgW3NlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkXT1cIihzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQgfCBhc3luYykhIVwiXG4gICAgW2hpZGVTZWFyY2hQYW5lbF09XCIoaGlkZVNlYXJjaFBhbmVsJCB8IGFzeW5jKSEhXCJcbiAgICBbcGFnaW5nU2V0dGluZ109XCIocGFnaW5nU2V0dGluZyQgfCBhc3luYykhIVwiXG4gICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5JCB8IGFzeW5jXCJcbiAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIlxuICAgIChzZWFyY2hQYW5lbE1vQ2hhbmdlKT1cIm9uU2VhcmNoUGFuZWxNb0NoYW5nZWQoKVwiXG4gICAgKG9wZW5NYW5hZ2VGaWx0ZXJzKT1cIm9uT3Blbk1hbmFnZUZpbHRlcnMoKVwiXG4gICAgKGNvbGxhcHNlZENoYW5nZSk9XCJvbkNvbGxhcHNlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAoaGlkZVNlYXJjaFBhbmVsQ2xpY2spPVwib25IaWRlU2VhcmNoUGFuZWxDbGljaygpXCJcbiAgICAoZmlsdGVyU2F2ZSk9XCJvbkZpbHRlclNhdmUoKVwiXG4gICAgKGZpbHRlclNhdmVBcyk9XCJvbkZpbHRlclNhdmVBcygpXCJcbiAgICAoc2hvd0ZpbHRlckZpZWxkc1NldHRpbmcpPVwib25TaG93RmlsdGVyRmllbGRzU2V0dGluZygpXCJcbiAgICAobWFuYWdlRmlsdGVycyk9XCJvbk1hbmFnZUZpbHRlcnMoKVwiXG4gICAgKGNsZWFyU2VhcmNoKT1cIm9uQ2xlYXJTZWFyY2goKVwiXG4gICAgKHNlYXJjaCk9XCJvblNlYXJjaCgpXCJcbiAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKHNlbGVjdFNlYXJjaFBhbmVsU2V0dGluZ3MpPVwib25TZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKCRldmVudClcIlxuPlxuPC9ic3UtYmFyc2EtdWx2LW1haW4+XG4iXX0=
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LW1haW4tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFDSCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFRZCxpQkFBaUIsRUFFcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQzs7Ozs7OztBQVN6SCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsYUFBYTtJQVVuRCxJQUNJLG9CQUFvQixDQUFDLEdBQUc7UUFDeEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENB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QzNCLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO29CQUNwQixNQUFNLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN2RSxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQ2xELENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBMVNRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDBXQUhsQixDQUFDLGNBQWMsQ0FBQyxnRkFhaEIsb0JBQW9CLHVFQ3REbkMsODZEQXlDQTs7MkZER2Esb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNJLG9CQUFvQixhQUduQixDQUFDLGNBQWMsQ0FBQyxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNOzBUQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFaUMsUUFBUTtzQkFBOUMsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0UsT0FBTztzQkFBN0MsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0osU0FBUztzQkFBekMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBRTNCLG9CQUFvQjtzQkFEdkIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBT2xCLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBDb250ZW50RGVuc2l0eVNlcnZpY2UsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhcnNhQXBpLFxuICAgIEJhc2VDb21wb25lbnQsXG4gICAgVWx2TWFpblNlcnZpY2UsXG4gICAgUGFnaW5nU2V0dGluZyxcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIFNlYXJjaFBhbmVsU2V0dGluZ3MsXG4gICAgQnJlYWRDcnVtYkluZm8sXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgQ29sdW1uSW5mb1R5cGUsXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIGdldERldmljZUlzTW9iaWxlLFxuICAgIExheW91dFNldHRpbmdcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5pbXBvcnQgeyBNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vbWFuYWdlLWZpbHRlcnMtcmVwb3J0L21hbmFnZS1maWx0ZXJzLXJlcG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktdWx2LW1haW4tdWknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS11bHYtbWFpbi11aS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtVbHZNYWluU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlVbHZNYWluVWlDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgaXNSZXBvcnRQYWdlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogTGF5b3V0U2V0dGluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1yZWFkb25seScpIHJlYWRvbmx5O1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1kaXNhYmxlZCcpIGRpc2FibGU7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXJnaW4tdWx2JykgbWFyZ2luVWx2O1xuICAgIEBWaWV3Q2hpbGQoU2VhcmNoUGFuZWxDb21wb25lbnQpXG4gICAgc2V0IHNlYXJjaFBhbmVsQ29tcG9uZW50KHZhbCkge1xuICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgZnVsbHNjcmVlbih2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0RnVsbHNjcmVlbih2YWwpO1xuICAgIH1cbiAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M6IFNlYXJjaFBhbmVsU2V0dGluZ3MgfCB1bmRlZmluZWQ7XG4gICAgZmlyc3RBcHBseUF1dG9tYXRpY2FsbHkgPSB0cnVlO1xuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHZpd2VyTWFzayQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdmlld2VyJDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xuICAgIHNlYXJjaFBhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgaGlkZVNlYXJjaFBhbmVsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHJlcG9ydElkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHNlYXJjaFBhbmVsTW9DaGFuZ2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzJDogT2JzZXJ2YWJsZTxTZWFyY2hQYW5lbFNldHRpbmdzW10+O1xuICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQ6IE9ic2VydmFibGU8U2VhcmNoUGFuZWxTZXR0aW5ncyB8IHVuZGVmaW5lZD47XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcbiAgICBicmVhZENydW1icyQ6IE9ic2VydmFibGU8QnJlYWRDcnVtYkluZm9bXT47XG4gICAgY2FuU2F2ZUdyaWRTZXR0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzZWFyY2hQYW5lbExvYWRlZDogYm9vbGVhbjtcbiAgICBpc0Fub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBoYXNTZWFyY2hQYW5lbDogYm9vbGVhbjtcbiAgICBpc01vYmlsZTogYm9vbGVhbjtcbiAgICBsYW5kc2NhcGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHN0YW5kYWxvbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgcHJpdmF0ZSBkZWZhdWx0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgIG1pbldpZHRoOiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnNTByZW0nLFxuICAgICAgICBib2R5TWluSGVpZ2h0OiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnY2FsYyg1MHZoIC0gODhweCknLFxuICAgICAgICBtb2JpbGU6IGdldERldmljZUlzTW9iaWxlKClcbiAgICB9O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgICAgIF9icmFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmNvbnRlbnREZW5zaXR5JCA9IGNvbnRlbnREZW5zaXR5U2VydmljZS5jb250ZW50RGVuc2l0eTtcbiAgICAgICAgdGhpcy5ydGwkID0gX3BvcnRhbFNlcnZpY2UucnRsJDtcbiAgICAgICAgdGhpcy5icmVhZENydW1icyQgPSBfYnJhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRJbkRpYWxvZyh0aGlzLmluRGlhbG9nKTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0SXNNdWx0aVNlbGVjdCh0aGlzLmlzTXVsdGlTZWxlY3QpO1xuICAgICAgICAvLyBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAgIC8vICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgIC8vICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKFxuICAgICAgICAvLyAgICAgICAgICAgICBlLnRhcmdldCAmJlxuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgIT09IGUudGFyZ2V0ICYmXG4gICAgICAgIC8vICAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpICYmXG4gICAgICAgIC8vICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY29udGFpbnMoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpXG4gICAgICAgIC8vICAgICAgICAgKSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldElubGluZUVkaXQoZmFsc2UpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICB0aGlzLl9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpO1xuICAgICAgICB0aGlzLm1hcmdpblVsdiA9ICF0aGlzLmlzUmVwb3J0UGFnZTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRleHQuU2V0dGluZy5TZWFyY2hQYW5lbCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbExvYWRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb2JzZXJ2ZU9uKCk7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3JlbmRlcicsIHRoaXMpO1xuICAgIH1cbiAgICBfb2JzZXJ2ZU9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQW5vbnltb3VzJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuaXNBbm9ueW1vdXMkO1xuICAgICAgICB0aGlzLmhpZGVTZWFyY2hQYW5lbCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWwkO1xuXG4gICAgICAgIHRoaXMudGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy5UaXRsZScsICcnKTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0Q29udGV4dCh0aGlzLmNvbnRleHQpO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRMYXlvdXRJbmZvKHRoaXMubGF5b3V0SW5mbyk7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmxvYWRTZWFyY2hQYW5lbFNldHRpbmdzKCk7XG4gICAgICAgIHRoaXMubWFzayQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tYXNrJDtcbiAgICAgICAgdGhpcy52aXdlck1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJDtcbiAgICAgICAgdGhpcy5jYW5TYXZlR3JpZFNldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJDtcbiAgICAgICAgdGhpcy5wYWdpbmdTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2luZ1NldHRpbmckO1xuICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTW9DaGFuZ2VkJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkJDtcbiAgICAgICAgdGhpcy5oYXNTZWFyY2hQYW5lbCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsVWkgIT09IG51bGw7XG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxVaSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpJDtcbiAgICAgICAgdGhpcy5zdGFuZGFsb25lJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2Uuc3RhbmRhbG9uZSQ7XG4gICAgICAgIHRoaXMubGFuZHNjYXBlJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UubGFuZHNjYXBlJDtcbiAgICAgICAgdGhpcy5yZXBvcnRJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZCQ7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlYWRvbmx5JC5zdWJzY3JpYmUoKHJlYWRvbmx5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlYWRvbmx5ID0gcmVhZG9ubHk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5lbmFibGUkLnN1YnNjcmliZSgoZW5hYmxlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGUgPSAhZW5hYmxlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5UaXRsZSA9PT0gYj8uVGl0bGUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncztcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hcHBseVNlYXJjaFBhbmVsU2V0dGluZ3Moc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS50b2dnbGVIaWRlU2VhcmNocGFuZWwoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzPy5IaWRlU2VhcmNoUGFuZWwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudmlld2VyJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnZpZXdlciQ7XG4gICAgICAgIHRoaXMuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5hbGxTZWFyY2hQYW5lbFNldHRpbmdzJDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQ7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnLi4vLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZSB9KTtcbiAgICB9XG4gICAgb25TZWFyY2hQYW5lbE1vQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0U2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XG4gICAgfVxuICAgIG9uUGFnZUNoYW5nZShlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucGFnZUNoYW5nZWQoZSk7XG4gICAgfVxuICAgIG9uT3Blbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihNYW5hZ2VGaWx0ZXJzUmVwb3J0Q29tcG9uZW50LCB7XG4gICAgICAgICAgICBiYWNrZHJvcENsaWNrQ2xvc2VhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGVzY0tleUNsb3NlYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIGZvY3VzVHJhcHBlZDogdHJ1ZSxcbiAgICAgICAgICAgIG1vYmlsZTogdGhpcy5pc01vYmlsZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKGNvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xuICAgIH1cbiAgICBvbkhpZGVTZWFyY2hQYW5lbENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS50b2dnbGVIaWRlU2VhcmNocGFuZWwoKTtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJTYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zYXZlRmlsdGVyKCk7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJTYXZlQXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29wZW5TYXZlQXNGaWx0ZXIoKTtcbiAgICB9XG5cbiAgICBvblNob3dGaWx0ZXJGaWVsZHNTZXR0aW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vcGVuU2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3MoKTtcbiAgICB9XG5cbiAgICBvbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29wZW5TZWFyY2hGaWx0ZXJzTWFuYWdlKCk7XG4gICAgfVxuXG4gICAgb25DbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2xlYXJTZWFyY2goKTtcbiAgICB9XG5cbiAgICBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoKCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRTZWFyY2hQYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JlbW92ZUJ1Z0luQ2hyb21lQ3NzQWN0aXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAoQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGlzdDogeyBpOiBhbnk7IG46IGFueTsgYTogYW55IH1bXSA9IFtdO1xuICAgICAgICBjb25zdCBoID0gZG9jdW1lbnQuaGVhZC5jaGlsZHJlbjtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsaXN0W2ldID0ge1xuICAgICAgICAgICAgICAgIGksXG4gICAgICAgICAgICAgICAgbjogaFtpXSxcbiAgICAgICAgICAgICAgICBhOiBoW2ldLmlubmVySFRNTFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBsaXN0ID0gbGlzdC5yZXZlcnNlKCk7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgICAgIGNvbnN0IHQgPSBgLmZkLXRhYmxlX19jZWxsLS1hY3RpdmFibGU6YWN0aXZlICosLmZkLXRhYmxlX19yb3ctLWFjdGl2YWJsZS5pcy1hY3RpdmUgKiwuZmQtdGFibGVfX3Jvdy0tYWN0aXZhYmxlOmFjdGl2ZSAqe2NvbG9yOnZhcigtLXNhcExpc3RfQWN0aXZlX1RleHRDb2xvcikhaW1wb3J0YW50fWA7XG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICAgICAgY29uc3QgZiA9IGxpc3QuZmlsdGVyKChjKSA9PiBjLmEuaW5kZXhPZih0KSA+PSAwKTtcbiAgICAgICAgaWYgKGYubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgZlswXS5uLmlubmVySFRNTCA9IGZbMF0uYS5zbGljZSgwLCAxMDA1OCkgKyBmWzBdLmEuc2xpY2UoMTAwNTggKyB0Lmxlbmd0aCwgZlswXS5hLmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0U2VhcmNoUGFuZWxNb0NoYW5nZWQoY2hhbmdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKGNoYW5nZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZHNTZXR0aW5nID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxGaWVsZHNTZXR0aW5nKCk7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGZpZWxkczogWy4uLmZpZWxkc1NldHRpbmddXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCwgY29uZmlnKTtcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IENvbHVtbkluZm9UeXBlW10pID0+IHtcbiAgICAgICAgICAgIGlmIChzZXR0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0QW5kQXBwbHlTZWFyY2hQYW5lbFNldHRpbmdGaWVsZHNTZXR0aW5nKHNldHRpbmcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfb3BlblNhdmVBc0ZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoTW8gPSB0aGlzLl91bHZNYWluU2VydmljZS5nZXRTZWFyY2hQYW5lbE1vKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzO1xuICAgICAgICBjb25zdCBmaWVsZHNTZXR0aW5nID0gc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzPy5GaWVsZHNTZXR0aW5nO1xuICAgICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXG4gICAgICAgICAgICBtaW5XaWR0aDogJzI1cmVtJyxcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgc2VhcmNoTW8sXG4gICAgICAgICAgICAgICAgZmllbGRzU2V0dGluZyxcbiAgICAgICAgICAgICAgICByZXBvcnRJZDogdGhpcy5fdWx2TWFpblNlcnZpY2UucmVwb3J0SWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCwgY29uZmlnKTtcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNlYXJjaFBhbmVsU2V0dGluZzogU2VhcmNoUGFuZWxTZXR0aW5ncykgPT4ge1xuICAgICAgICAgICAgaWYgKHNlYXJjaFBhbmVsU2V0dGluZykge1xuICAgICAgICAgICAgICAgIHNlYXJjaFBhbmVsU2V0dGluZy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuYWRkU2VhcmNoUGFuZWxTZXR0aW5ncyhzZWFyY2hQYW5lbFNldHRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2F2ZUZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XG4gICAgICAgIGlmIChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XG4gICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zYXZlU2VhcmNoUGFuZWxTZXR0aW5nKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpbHRlcnNNYW5hZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MgPSB0aGlzLl91bHZNYWluU2VydmljZS5hbGxTZWFyY2hQYW5lbFNldHRpbmdzO1xuICAgICAgICBjb25zdCByZXBvcnRJZCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlcG9ydElkO1xuICAgICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXG4gICAgICAgICAgICByZXNwb25zaXZlUGFkZGluZzogZmFsc2UsXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGFsbFNlYXJjaFBhbmVsU2V0dGluZ3M6IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBUaXRsZTogYy5UaXRsZSxcbiAgICAgICAgICAgICAgICAgICAgSXNEZWZhdWx0OiBjLklzRGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgSXNQdWJsaWM6IGMuSXNQdWJsaWMsXG4gICAgICAgICAgICAgICAgICAgIElzUHJpbWFyeTogISFjLklzUHJpbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBjLkFwcGx5QXV0b21hdGljYWxseSxcbiAgICAgICAgICAgICAgICAgICAgUmVwb3J0SWQ6IHJlcG9ydElkLFxuICAgICAgICAgICAgICAgICAgICBJZDogYy5JZFxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0U2VhcmNoRmllbGRzTWFuYWdlQ29tcG9uZW50LCBjb25maWcpO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2V0dGluZzogU2VhcmNoUGFuZWxTZXR0aW5nc1tdKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2V0dGluZykge1xuICAgICAgICAgICAgICAgIHNldHRpbmdcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gIWMuSXNQcmltYXJ5KVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgobmV3U2V0dGluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3BzID0gYWxsU2VhcmNoUGFuZWxTZXR0aW5ncy5maW5kKChjKSA9PiBjLklkID09PSBuZXdTZXR0aW5nLklkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHNwcywgbmV3U2V0dGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVwZGF0ZVNlYXJjaFBhbmVsU2V0dGluZ3MoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxic3UtYmFyc2EtdWx2LW1haW5cbiAgICBbc3R5bGUubWFyZ2luXT1cImlzUmVwb3J0UGFnZSA/IG51bGwgOiAndmFyKC0tZmRJbnB1dF9GaWVsZF9NYXJnaW4sIC4yNXJlbSAwKSdcIlxuICAgIFtzdHlsZS5zdHlsZS53aWR0aF09XCIhaXNNb2JpbGUgPyBudWxsIDogJzEwMCUnXCJcbiAgICBbbGF5b3V0SW5mb109XCJsYXlvdXRJbmZvXCJcbiAgICBbYXR0ci5pc1JlcG9ydFBhZ2VdPVwiaXNSZXBvcnRQYWdlXCJcbiAgICBbdmlld2VyQ29udHJvbF09XCJ2aWV3ZXIkIHwgYXN5bmNcIlxuICAgIFtsb2FkaW5nXT1cIihtYXNrJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW3ZpZXdlckxvYWRpbmddPVwiKHZpd2VyTWFzayQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIFtzdGFuZGFsb25lXT1cIihzdGFuZGFsb25lJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW2xhbmRzY2FwZV09XCIobGFuZHNjYXBlJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW2lzUmVwb3J0UGFnZV09XCJpc1JlcG9ydFBhZ2VcIlxuICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcbiAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgIFtzZWFyY2hQYW5lbFVpXT1cIihzZWFyY2hQYW5lbFVpJCB8IGFzeW5jKSEhXCJcbiAgICBbYnJlYWRDcnVtYnNdPVwiKGJyZWFkQ3J1bWJzJCB8IGFzeW5jKSEhXCJcbiAgICBbYWxsU2VhcmNoUGFuZWxTZXR0aW5nc109XCIoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXG4gICAgW2lzQW5vbnltb3VzXT1cIihpc0Fub255bW91cyQgfCBhc3luYykhIVwiXG4gICAgW2NhblNhdmVHcmlkU2V0dGluZ109XCIoY2FuU2F2ZUdyaWRTZXR0aW5nJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW3J0bF09XCIocnRsJCB8IGFzeW5jKSEhXCJcbiAgICBbc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzXT1cIihzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkIHwgYXN5bmMpISFcIlxuICAgIFtzZWFyY2hQYW5lbE1vQ2hhbmdlZF09XCIoc2VhcmNoUGFuZWxNb0NoYW5nZWQkIHwgYXN5bmMpISFcIlxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZF09XCIoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWQkIHwgYXN5bmMpISFcIlxuICAgIFtoaWRlU2VhcmNoUGFuZWxdPVwiKGhpZGVTZWFyY2hQYW5lbCQgfCBhc3luYykhIVwiXG4gICAgW3BhZ2luZ1NldHRpbmddPVwiKHBhZ2luZ1NldHRpbmckIHwgYXN5bmMpISFcIlxuICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eSQgfCBhc3luY1wiXG4gICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZSgpXCJcbiAgICAoc2VhcmNoUGFuZWxNb0NoYW5nZSk9XCJvblNlYXJjaFBhbmVsTW9DaGFuZ2VkKClcIlxuICAgIChvcGVuTWFuYWdlRmlsdGVycyk9XCJvbk9wZW5NYW5hZ2VGaWx0ZXJzKClcIlxuICAgIChjb2xsYXBzZWRDaGFuZ2UpPVwib25Db2xsYXBzZWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGhpZGVTZWFyY2hQYW5lbENsaWNrKT1cIm9uSGlkZVNlYXJjaFBhbmVsQ2xpY2soKVwiXG4gICAgKGZpbHRlclNhdmUpPVwib25GaWx0ZXJTYXZlKClcIlxuICAgIChmaWx0ZXJTYXZlQXMpPVwib25GaWx0ZXJTYXZlQXMoKVwiXG4gICAgKHNob3dGaWx0ZXJGaWVsZHNTZXR0aW5nKT1cIm9uU2hvd0ZpbHRlckZpZWxkc1NldHRpbmcoKVwiXG4gICAgKG1hbmFnZUZpbHRlcnMpPVwib25NYW5hZ2VGaWx0ZXJzKClcIlxuICAgIChjbGVhclNlYXJjaCk9XCJvbkNsZWFyU2VhcmNoKClcIlxuICAgIChzZWFyY2gpPVwib25TZWFyY2goKVwiXG4gICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxuICAgIChzZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKT1cIm9uU2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncygkZXZlbnQpXCJcbj5cbjwvYnN1LWJhcnNhLXVsdi1tYWluPlxuIl19
@@ -30,9 +30,16 @@ export class UlvToolbarComponent extends BaseComponent {
30
30
  ngOnChanges(changes) {
31
31
  super.ngOnChanges(changes);
32
32
  const { toolbarButtons } = changes;
33
- if (toolbarButtons && !toolbarButtons.firstChange) {
34
- this._refreshToolbar();
35
- this._cdr.detectChanges();
33
+ if (toolbarButtons) {
34
+ if (toolbarButtons.firstChange) {
35
+ setTimeout(() => {
36
+ this._refreshToolbar();
37
+ });
38
+ }
39
+ else {
40
+ this._refreshToolbar();
41
+ this._cdr.detectChanges();
42
+ }
36
43
  }
37
44
  }
38
45
  onGroupbySettings() {
@@ -134,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
134
141
  }], createNewInlineMo: [{
135
142
  type: Output
136
143
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RSxPQUFPLEVBQ0gsYUFBYSxFQUtoQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBUTlCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBbUNsRCxZQUFtQixFQUFjLEVBQVUsSUFBdUI7UUFDOUQsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUE5QnpELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFzQmpCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUNqRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSXZELENBQUM7SUFDRCxlQUFl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QU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEJhc2VDb21wb25lbnQsXHJcbiAgICBEZWZhdWx0Q29tbWFuZHNBY2Nlc3MsXHJcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXHJcbiAgICBEZXZpY2VTaXplLFxyXG4gICAgVWlSZXBvcnRWaWV3QmFzZVxyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWx2LXRvb2xiYXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Vsdi10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Vsdi10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWx2VG9vbGJhckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgQFZpZXdDaGlsZChUb29sYmFyQ29tcG9uZW50KSBfdGxiQ21wOiBUb29sYmFyQ29tcG9uZW50O1xyXG4gICAgQElucHV0KCkgYWxsb3dHcmlkQ29sdW1uU29ydDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHVzZUxheW91dEl0ZW1UZXh0Rm9yQ29udHJvbDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGVuYWJsZVNlYXJjaDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhpZGVUaXRsZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGljb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRldmljZU5hbWU6IERldmljZVNpemU7XHJcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XHJcbiAgICBASW5wdXQoKSBhY2Nlc3M6IERlZmF1bHRDb21tYW5kc0FjY2VzcztcclxuICAgIEBJbnB1dCgpIGhpZGVUb29sYmFyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgdG9vbGJhckJ1dHRvbnM6IGFueVtdO1xyXG4gICAgQElucHV0KCkgY29udGVudERlbnNpdHk6IENvbnRlbnREZW5zaXR5O1xyXG4gICAgQElucHV0KCkgaW5saW5lRWRpdE1vZGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBhbGxvd0lubGluZUVkaXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBncmlkU2V0dGluZzogYW55O1xyXG4gICAgQElucHV0KCkgdmlld0NvbGxlY3Rpb246IGFueVtdO1xyXG4gICAgQElucHV0KCkgcmVwb3J0VmlldzogVWlSZXBvcnRWaWV3QmFzZTtcclxuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuXHJcbiAgICBASW5wdXQoKSBoYXNTZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGNvbmZpZzogYW55O1xyXG4gICAgQElucHV0KCkgaGlkZGVuOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgYnV0dG9uczogYW55W107XHJcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0Q291bnQ6IG51bWJlcjtcclxuICAgIEBPdXRwdXQoKSBzZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIEBPdXRwdXQoKSBncm91cGJ5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIEBPdXRwdXQoKSBzb3J0Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIEBPdXRwdXQoKSBjb2x1bW5DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgQE91dHB1dCgpIGVkaXRNb2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgdmlld0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxVaVJlcG9ydFZpZXdCYXNlPigpO1xyXG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ld0lubGluZU1vID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgZW5hYmxlOiBib29sZWFuO1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBjb25zdCB7IHRvb2xiYXJCdXR0b25zIH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmICh0b29sYmFyQnV0dG9ucyAmJiAhdG9vbGJhckJ1dHRvbnMuZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFRvb2xiYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Hcm91cGJ5U2V0dGluZ3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ncm91cGJ5Q2xpY2suZW1pdCh0aGlzLmRldmljZU5hbWUpO1xyXG4gICAgfVxyXG4gICAgb25Tb3J0U2V0dGluZ3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0Q2xpY2suZW1pdCh0aGlzLmRldmljZU5hbWUpO1xyXG4gICAgfVxyXG4gICAgb25Db2x1bW5TZXR0aW5ncygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbHVtbkNsaWNrLmVtaXQodGhpcy5kZXZpY2VOYW1lKTtcclxuICAgIH1cclxuICAgIG9uRWRpdE1vZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lZGl0TW9kZUNsaWNrLmVtaXQoKTtcclxuICAgIH1cclxuICAgIG9uQ2hhbmdlVmlldyh2aWV3OiBVaVJlcG9ydFZpZXdCYXNlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aWV3Q2xpY2suZW1pdCh2aWV3KTtcclxuICAgIH1cclxuICAgIF90cmFja0J5KGluZGV4LCBpdGVtKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gaXRlbT8uaXRlbUlkO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGlkZW50aWZ5KGluZGV4LCBpdGVtKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gaXRlbS50ZXh0O1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcmVmcmVzaFRvb2xiYXIoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3RsYkNtcCkge1xyXG4gICAgICAgICAgICB0aGlzLl90bGJDbXAuZm9yY2VPdmVyZmxvdyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl90bGJDbXAudXBkYXRlQ29sbGFwc2libGVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCJAaWYgKCF1c2VMYXlvdXRJdGVtVGV4dEZvckNvbnRyb2wgJiYgIWhpZGVUb29sYmFyKSB7XHJcbjxmZC10b29sYmFyXHJcbiAgICAjdG9vbGJhclxyXG4gICAgW3Nob3VsZE92ZXJmbG93XT1cImRldmljZVNpemUgPT09ICdzJ1wiXHJcbiAgICBbbmdDbGFzc109XCJkZXZpY2VTaXplXCJcclxuICAgIFtoYXNUaXRsZV09XCIhaGlkZVRpdGxlXCJcclxuICAgIFtmb3JjZU92ZXJmbG93XT1cInRydWVcIlxyXG4+XHJcbiAgICBAaWYoIWhpZGVUaXRsZSAmJiBkZXZpY2VTaXplICE9PSAncycgPyAodGl0bGUgfCBiYmJUcmFuc2xhdGUpIDogJycpeyBAaWYoaWNvbil7XHJcbiAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiaWNvblwiPjwvZmQtaWNvbj5cclxuICAgIH1cclxuICAgIDxoNCBmZC10aXRsZT57eyB0aXRsZSB8IGJiYlRyYW5zbGF0ZSB9fTwvaDQ+XHJcbiAgICB9IEBpZiAoZGV2aWNlU2l6ZSAhPT0gJ3MnKSB7XHJcbiAgICA8ZmQtdG9vbGJhci1zcGFjZXIgZmQtdG9vbGJhci1pdGVtPjwvZmQtdG9vbGJhci1zcGFjZXI+XHJcbiAgICB9IEBpZiAoIWhpZGVUb29sYmFyKSB7IEBmb3IgKGJ0biBvZiB0b29sYmFyQnV0dG9uczsgdHJhY2sgX3RyYWNrQnkoaSwgYnRuKTsgbGV0IGkgPSAkaW5kZXgpIHsgQGlmIChidG4gIT09ICctJyAmJlxyXG4gICAgYnRuLkNvbW1hbmQgJiYgIWJ0bi5Db21tYW5kLkN1c3RvbVVpICYmICFidG4ubWVudSkge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCJidG4uaXRlbUlkID09PSAnRWRpdCcgPyAnYWx3YXlzJyA6IGJ0bi5Db21tYW5kPy5Jc0J1aWx0aW4gPyAnbG93JyA6ICdoaWdoJ1wiXHJcbiAgICAgICAgW3VsdkNvbW1hbmRIYW5kbGVyXT1cImJ0blwiXHJcbiAgICAgICAgW2Rpc2FibGVdPVwiaW5saW5lRWRpdE1vZGUgJiYgYnRuLml0ZW1JZCA9PT0gJ05ldydcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJidG4uQ29tbWFuZC5faXNFbmFibGUgPT09IGZhbHNlID8gdHJ1ZSA6IGZhbHNlXCJcclxuICAgICAgICBbZmRUeXBlXT1cIiFidG4uQ29tbWFuZC5faXNFbmFibGUgPyAndHJhbnNwYXJlbnQnIDogYnRuLkNvbW1hbmQuSnNvbkV4dHJhUHJvcD8uRGVzaWduIHx8ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgIFtnbHlwaF09XCJkZXZpY2VTaXplID09PSAncycgPyBudWxsIDogYnRuLkNvbW1hbmQuSnNvbkV4dHJhUHJvcD8uSWNvblwiXHJcbiAgICAgICAgW3RpdGxlXT1cIihidG4uQ29tbWFuZD8uSXNCdWlsdGluID8gYnRuLnRleHQgOiAnJykgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIChjbGljayk9XCJpbmxpbmVFZGl0TW9kZSAmJiBidG4uaXRlbUlkID09PSAnTmV3JyAmJiBjcmVhdGVOZXdJbmxpbmVNby5lbWl0KClcIlxyXG4gICAgICAgIGJvZHlDbGlja1xyXG4gICAgPlxyXG4gICAgICAgIEBpZiAoIWJ0bi5Db21tYW5kLkpzb25FeHRyYVByb3A/Lkljb24gJiYgIWJ0bi5Db21tYW5kPy5Jc0J1aWx0aW4gJiYgYnRuLmljb24pIHtcclxuICAgICAgICA8aW1nIHdpZHRoPVwiMTZcIiBbc3JjXT1cImJ0bi5pY29uXCIgLz5cclxuICAgICAgICB9IEBpZiAoIWJ0bi5oaWRlVGV4dCB8fCBkZXZpY2VTaXplID09PSAncycpIHtcclxuICAgICAgICA8c3Bhbj57eyBidG4udGV4dCB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH0gQGlmICgoYnRuID09PSAnLScgfHwgYnRuLnR5cGUgPT09ICdzZXBlcmF0b3InKSAmJiBkZXZpY2VOYW1lICE9PSAnbW9iaWxlJykge1xyXG4gICAgPGZkLXRvb2xiYXItc2VwYXJhdG9yIGZkLXRvb2xiYXItaXRlbT48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxyXG4gICAgfSBAaWYgKGJ0bi5tZW51KSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcclxuICAgICAgICBbZmRUeXBlXT1cImJ0bi5Db21tYW5kPy5Jc0J1aWx0aW4gPyAnc3RhbmRhcmQnIDogJ3RyYW5zcGFyZW50J1wiXHJcbiAgICAgICAgW2xhYmVsXT1cImJ0bi50ZXh0IHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBbYXJpYUxhYmVsXT1cImJ0bi50ZXh0IHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID5cclxuICAgICAgICA8ZmQtbWVudSAjbWVudT5cclxuICAgICAgICAgICAgQGZvciAoYnRuQ29tbWFuZCBvZiBidG4ubWVudS5pdGVtczsgdHJhY2sgYnRuQ29tbWFuZCkge1xyXG4gICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtIFt1bHZDb21tYW5kSGFuZGxlcl09XCJidG5Db21tYW5kXCIgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgYnRuQ29tbWFuZC50ZXh0IHwgYmJiVHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2ZkLW1lbnU+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH0gQGlmIChidG4gIT09ICctJyAmJiBidG4uQ29tbWFuZCAmJiBidG4uQ29tbWFuZC5DdXN0b21VaSkge1xyXG4gICAgPGJucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtXHJcbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgW3VsdkNvbW1hbmRIYW5kbGVyXT1cImJ0blwiXHJcbiAgICAgICAgW2NvbXBvbmVudF09XCJidG4uQ29tbWFuZD8uQ3VzdG9tVWlcIlxyXG4gICAgICAgIFtjb250ZXh0XT1cImJ0blwiXHJcbiAgICAgICAgW2lzRW5hYmxlXT1cImJ0bi5Db21tYW5kPy5faXNFbmFibGVcIlxyXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxyXG4gICAgICAgIGJvZHlDbGlja1xyXG4gICAgPjwvYm5yYy1keW5hbWljLWZvcm0tdG9vbGJhcml0ZW0+XHJcbiAgICB9IH1cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC10b29sYmFyLWl0ZW1dXCI+PC9uZy1jb250ZW50PlxyXG4gICAgQGlmIChhbGxvd0lubGluZUVkaXQgJiYgYWNjZXNzPy5FZGl0KSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgW2ZkVHlwZV09XCJpbmxpbmVFZGl0TW9kZSA/ICdlbXBoYXNpemVkJyA6ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgIFtnbHlwaF09XCInZWRpdCdcIlxyXG4gICAgICAgIFtsYWJlbF09XCJkZXZpY2VTaXplID09PSAncycgPyAoJ0lubGluZSBFZGl0IEluIExpc3QnIHwgYmJiVHJhbnNsYXRlKSA6ICcnXCJcclxuICAgICAgICAoY2xpY2spPVwib25FZGl0TW9kZSgpXCJcclxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2Fsd2F5cydcIlxyXG4gICAgICAgIFt0aXRsZV09XCInSW5saW5lIEVkaXQgSW4gTGlzdCcgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIGJvZHlDbGlja1xyXG4gICAgPjwvYnV0dG9uPlxyXG4gICAgfSBAaWYgKGdyaWRTZXR0aW5nICYmIGdyaWRTZXR0aW5nLkhpZGRlbiAhPT0gdHJ1ZSAmJiBhbGxvd0dyaWRDb2x1bW5Tb3J0KSB7IEBpZiAoZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cIidhbHdheXMnXCJcclxuICAgICAgICAoY2xpY2spPVwib25Hcm91cGJ5U2V0dGluZ3MoKVwiXHJcbiAgICAgICAgW2xhYmVsXT1cIidHcm91cHMnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID48L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2Fsd2F5cydcIlxyXG4gICAgICAgIChjbGljayk9XCJvblNvcnRTZXR0aW5ncygpXCJcclxuICAgICAgICBbbGFiZWxdPVwiJ1NvcnQnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID48L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ2Fsd2F5cydcIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNvbHVtblNldHRpbmdzKClcIlxyXG4gICAgICAgIFtsYWJlbF09XCInQ29sdW1ucycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIGJvZHlDbGlja1xyXG4gICAgPjwvYnV0dG9uPlxyXG4gICAgfSBAaWYgKGRldmljZVNpemUgIT09ICdzJykge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInbmV2ZXInXCJcclxuICAgICAgICBbZmRNZW51XT1cInRydWVcIlxyXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICBnbHlwaD1cImFjdGlvbi1zZXR0aW5nc1wiXHJcbiAgICAgICAgW3RpdGxlXT1cIidTZXR0aW5ncycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIFtmZE1lbnVUcmlnZ2VyXT1cInRhYmxlTWVudVNldHRpbmdzXCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID48L2J1dHRvbj5cclxuICAgIH1cclxuICAgIDxmZC1tZW51ICN0YWJsZU1lbnVTZXR0aW5ncz5cclxuICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cInRhYmxlTWVudVNldHRpbmdzLmNsb3NlKCk7IG9uQ29sdW1uU2V0dGluZ3MoKVwiIGJvZHlDbGljaz5cclxuICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJhY3Rpb24tc2V0dGluZ3NcIj48L2ZkLW1lbnUtYWRkb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdDb2x1bW5zJyB8IGJiYlRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwidGFibGVNZW51U2V0dGluZ3MuY2xvc2UoKTsgb25Tb3J0U2V0dGluZ3MoKVwiIGJvZHlDbGljaz5cclxuICAgICAgICAgICAgICAgIDxmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYmVmb3JlXCIgZ2x5cGg9XCJzb3J0XCI+PC9mZC1tZW51LWFkZG9uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICB7eyAnU29ydCcgfCBiYmJUcmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cInRhYmxlTWVudVNldHRpbmdzLmNsb3NlKCk7IG9uR3JvdXBieVNldHRpbmdzKClcIiBib2R5Q2xpY2s+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiIGdseXBoPVwiZ3JvdXAtMlwiPjwvZmQtbWVudS1hZGRvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ0dyb3VwcycgfCBiYmJUcmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvZmQtbWVudT5cclxuICAgIH0gQGlmICh2aWV3Q29sbGVjdGlvbiAmJiB2aWV3Q29sbGVjdGlvbi5sZW5ndGggPiAxKSB7XHJcbiAgICA8ZmQtc3BsaXQtYnV0dG9uXHJcbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cImRldmljZVNpemUgPT09ICdzJyA/ICdhbHdheXMnIDogJ2xvdydcIlxyXG4gICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXHJcbiAgICAgICAgW21haW5BY3Rpb25dPVwie1xyXG4gICAgICAgICAgICBrZWVwTWFpbkFjdGlvbjogdHJ1ZSxcclxuICAgICAgICAgICAgbWFpbkFjdGlvblRpdGxlOiBzcGxpdEJ0blRpdGxlXHJcbiAgICAgICAgfVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGZkLW1lbnU+XHJcbiAgICAgICAgICAgIEBmb3IgKHZpZXdPYmplY3Qgb2Ygdmlld0NvbGxlY3Rpb247IHRyYWNrIHZpZXdPYmplY3QpIHtcclxuICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwib25DaGFuZ2VWaWV3KHZpZXdPYmplY3QpXCIgYm9keUNsaWNrPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCJ2aWV3T2JqZWN0LlVpQ29tcG9uZW50LlNldHRpbmdzPy5JY29uXCI+IDwvZmQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZmQtbWVudT5cclxuICAgIDwvZmQtc3BsaXQtYnV0dG9uPlxyXG4gICAgfVxyXG4gICAgPG5nLXRlbXBsYXRlICNzcGxpdEJ0blRpdGxlPlxyXG4gICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCJyZXBvcnRWaWV3LlVpQ29tcG9uZW50LlNldHRpbmdzPy5JY29uXCI+PC9mZC1pY29uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc3BsaXRCdG5TZXR0aW5ncz5cclxuICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiJ2FjdGlvbi1zZXR0aW5ncydcIj48L2ZkLWljb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgfVxyXG48L2ZkLXRvb2xiYXI+XHJcbn1cclxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWx2LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RSxPQUFPLEVBQ0gsYUFBYSxFQUtoQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBUTlCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBbUNsRCxZQUFtQixFQUFjLEVBQVUsSUFBdUI7UUFDOUQsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUE5QnpELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFzQmpCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUNqRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSXZELENBQUM7SUFDRCxlQUFl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c0JBQXZCLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEJhc2VDb21wb25lbnQsXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBEZXZpY2VTaXplLFxuICAgIFVpUmVwb3J0Vmlld0Jhc2Vcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11bHYtdG9vbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Vsdi10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91bHYtdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVsdlRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKFRvb2xiYXJDb21wb25lbnQpIF90bGJDbXA6IFRvb2xiYXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgYWxsb3dHcmlkQ29sdW1uU29ydDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB1c2VMYXlvdXRJdGVtVGV4dEZvckNvbnRyb2w6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZW5hYmxlU2VhcmNoOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVUaXRsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRldmljZU5hbWU6IERldmljZVNpemU7XG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGFjY2VzczogRGVmYXVsdENvbW1hbmRzQWNjZXNzO1xuICAgIEBJbnB1dCgpIGhpZGVUb29sYmFyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHRvb2xiYXJCdXR0b25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XG4gICAgQElucHV0KCkgaW5saW5lRWRpdE1vZGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWxsb3dJbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGdyaWRTZXR0aW5nOiBhbnk7XG4gICAgQElucHV0KCkgdmlld0NvbGxlY3Rpb246IGFueVtdO1xuICAgIEBJbnB1dCgpIHJlcG9ydFZpZXc6IFVpUmVwb3J0Vmlld0Jhc2U7XG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGhhc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbmZpZzogYW55O1xuICAgIEBJbnB1dCgpIGhpZGRlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBidXR0b25zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0Q291bnQ6IG51bWJlcjtcbiAgICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIGdyb3VwYnlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKSBzb3J0Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KCkgY29sdW1uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdE1vZGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgdmlld0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxVaVJlcG9ydFZpZXdCYXNlPigpO1xuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXdJbmxpbmVNbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGNvbnN0IHsgdG9vbGJhckJ1dHRvbnMgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmICh0b29sYmFyQnV0dG9ucykge1xuICAgICAgICAgICAgaWYgKHRvb2xiYXJCdXR0b25zLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hUb29sYmFyKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hUb29sYmFyKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Hcm91cGJ5U2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXBieUNsaWNrLmVtaXQodGhpcy5kZXZpY2VOYW1lKTtcbiAgICB9XG4gICAgb25Tb3J0U2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydENsaWNrLmVtaXQodGhpcy5kZXZpY2VOYW1lKTtcbiAgICB9XG4gICAgb25Db2x1bW5TZXR0aW5ncygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2x1bW5DbGljay5lbWl0KHRoaXMuZGV2aWNlTmFtZSk7XG4gICAgfVxuICAgIG9uRWRpdE1vZGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdE1vZGVDbGljay5lbWl0KCk7XG4gICAgfVxuICAgIG9uQ2hhbmdlVmlldyh2aWV3OiBVaVJlcG9ydFZpZXdCYXNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlld0NsaWNrLmVtaXQodmlldyk7XG4gICAgfVxuICAgIF90cmFja0J5KGluZGV4LCBpdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/Lml0ZW1JZDtcbiAgICB9XG4gICAgcHVibGljIGlkZW50aWZ5KGluZGV4LCBpdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udGV4dDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVmcmVzaFRvb2xiYXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl90bGJDbXApIHtcbiAgICAgICAgICAgIHRoaXMuX3RsYkNtcC5mb3JjZU92ZXJmbG93ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl90bGJDbXAudXBkYXRlQ29sbGFwc2libGVJdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICghdXNlTGF5b3V0SXRlbVRleHRGb3JDb250cm9sICYmICFoaWRlVG9vbGJhcikge1xyXG48ZmQtdG9vbGJhclxyXG4gICAgI3Rvb2xiYXJcclxuICAgIFtzaG91bGRPdmVyZmxvd109XCJkZXZpY2VTaXplID09PSAncydcIlxyXG4gICAgW25nQ2xhc3NdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICBbaGFzVGl0bGVdPVwiIWhpZGVUaXRsZVwiXHJcbiAgICBbZm9yY2VPdmVyZmxvd109XCJ0cnVlXCJcclxuPlxyXG4gICAgQGlmKCFoaWRlVGl0bGUgJiYgZGV2aWNlU2l6ZSAhPT0gJ3MnID8gKHRpdGxlIHwgYmJiVHJhbnNsYXRlKSA6ICcnKXsgQGlmKGljb24pe1xyXG4gICAgPGZkLWljb24gW2dseXBoXT1cImljb25cIj48L2ZkLWljb24+XHJcbiAgICB9XHJcbiAgICA8aDQgZmQtdGl0bGU+e3sgdGl0bGUgfCBiYmJUcmFuc2xhdGUgfX08L2g0PlxyXG4gICAgfSBAaWYgKGRldmljZVNpemUgIT09ICdzJykge1xyXG4gICAgPGZkLXRvb2xiYXItc3BhY2VyIGZkLXRvb2xiYXItaXRlbT48L2ZkLXRvb2xiYXItc3BhY2VyPlxyXG4gICAgfSBAaWYgKCFoaWRlVG9vbGJhcikgeyBAZm9yIChidG4gb2YgdG9vbGJhckJ1dHRvbnM7IHRyYWNrIF90cmFja0J5KGksIGJ0bik7IGxldCBpID0gJGluZGV4KSB7IEBpZiAoYnRuICE9PSAnLScgJiZcclxuICAgIGJ0bi5Db21tYW5kICYmICFidG4uQ29tbWFuZC5DdXN0b21VaSAmJiAhYnRuLm1lbnUpIHtcclxuICAgIDxidXR0b25cclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiYnRuLml0ZW1JZCA9PT0gJ0VkaXQnID8gJ2Fsd2F5cycgOiBidG4uQ29tbWFuZD8uSXNCdWlsdGluID8gJ2xvdycgOiAnaGlnaCdcIlxyXG4gICAgICAgIFt1bHZDb21tYW5kSGFuZGxlcl09XCJidG5cIlxyXG4gICAgICAgIFtkaXNhYmxlXT1cImlubGluZUVkaXRNb2RlICYmIGJ0bi5pdGVtSWQgPT09ICdOZXcnXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiYnRuLkNvbW1hbmQuX2lzRW5hYmxlID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZVwiXHJcbiAgICAgICAgW2ZkVHlwZV09XCIhYnRuLkNvbW1hbmQuX2lzRW5hYmxlID8gJ3RyYW5zcGFyZW50JyA6IGJ0bi5Db21tYW5kLkpzb25FeHRyYVByb3A/LkRlc2lnbiB8fCAndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICBbZ2x5cGhdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gbnVsbCA6IGJ0bi5Db21tYW5kLkpzb25FeHRyYVByb3A/Lkljb25cIlxyXG4gICAgICAgIFt0aXRsZV09XCIoYnRuLkNvbW1hbmQ/LklzQnVpbHRpbiA/IGJ0bi50ZXh0IDogJycpIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAoY2xpY2spPVwiaW5saW5lRWRpdE1vZGUgJiYgYnRuLml0ZW1JZCA9PT0gJ05ldycgJiYgY3JlYXRlTmV3SW5saW5lTW8uZW1pdCgpXCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID5cclxuICAgICAgICBAaWYgKCFidG4uQ29tbWFuZC5Kc29uRXh0cmFQcm9wPy5JY29uICYmICFidG4uQ29tbWFuZD8uSXNCdWlsdGluICYmIGJ0bi5pY29uKSB7XHJcbiAgICAgICAgPGltZyB3aWR0aD1cIjE2XCIgW3NyY109XCJidG4uaWNvblwiIC8+XHJcbiAgICAgICAgfSBAaWYgKCFidG4uaGlkZVRleHQgfHwgZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XHJcbiAgICAgICAgPHNwYW4+e3sgYnRuLnRleHQgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgPC9idXR0b24+XHJcbiAgICB9IEBpZiAoKGJ0biA9PT0gJy0nIHx8IGJ0bi50eXBlID09PSAnc2VwZXJhdG9yJykgJiYgZGV2aWNlTmFtZSAhPT0gJ21vYmlsZScpIHtcclxuICAgIDxmZC10b29sYmFyLXNlcGFyYXRvciBmZC10b29sYmFyLWl0ZW0+PC9mZC10b29sYmFyLXNlcGFyYXRvcj5cclxuICAgIH0gQGlmIChidG4ubWVudSkge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIFtmZE1lbnVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2ZkVHlwZV09XCJidG4uQ29tbWFuZD8uSXNCdWlsdGluID8gJ3N0YW5kYXJkJyA6ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgIFtsYWJlbF09XCJidG4udGV4dCB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2FyaWFMYWJlbF09XCJidG4udGV4dCB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiXHJcbiAgICAgICAgYm9keUNsaWNrXHJcbiAgICA+XHJcbiAgICAgICAgPGZkLW1lbnUgI21lbnU+XHJcbiAgICAgICAgICAgIEBmb3IgKGJ0bkNvbW1hbmQgb2YgYnRuLm1lbnUuaXRlbXM7IHRyYWNrIGJ0bkNvbW1hbmQpIHtcclxuICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSBbdWx2Q29tbWFuZEhhbmRsZXJdPVwiYnRuQ29tbWFuZFwiIChjbGljayk9XCJtZW51LmNsb3NlKClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7IGJ0bkNvbW1hbmQudGV4dCB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9mZC1tZW51PlxyXG4gICAgPC9idXR0b24+XHJcbiAgICB9IEBpZiAoYnRuICE9PSAnLScgJiYgYnRuLkNvbW1hbmQgJiYgYnRuLkNvbW1hbmQuQ3VzdG9tVWkpIHtcclxuICAgIDxibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbVxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIFt1bHZDb21tYW5kSGFuZGxlcl09XCJidG5cIlxyXG4gICAgICAgIFtjb21wb25lbnRdPVwiYnRuLkNvbW1hbmQ/LkN1c3RvbVVpXCJcclxuICAgICAgICBbY29udGV4dF09XCJidG5cIlxyXG4gICAgICAgIFtpc0VuYWJsZV09XCJidG4uQ29tbWFuZD8uX2lzRW5hYmxlXCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID48L2JucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtPlxyXG4gICAgfSB9XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtdG9vbGJhci1pdGVtXVwiPjwvbmctY29udGVudD5cclxuICAgIEBpZiAoYWxsb3dJbmxpbmVFZGl0ICYmIGFjY2Vzcz8uRWRpdCkge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIFtmZFR5cGVdPVwiaW5saW5lRWRpdE1vZGUgPyAnZW1waGFzaXplZCcgOiAndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICBbZ2x5cGhdPVwiJ2VkaXQnXCJcclxuICAgICAgICBbbGFiZWxdPVwiZGV2aWNlU2l6ZSA9PT0gJ3MnID8gKCdJbmxpbmUgRWRpdCBJbiBMaXN0JyB8IGJiYlRyYW5zbGF0ZSkgOiAnJ1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uRWRpdE1vZGUoKVwiXHJcbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cIidhbHdheXMnXCJcclxuICAgICAgICBbdGl0bGVdPVwiJ0lubGluZSBFZGl0IEluIExpc3QnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID48L2J1dHRvbj5cclxuICAgIH0gQGlmIChncmlkU2V0dGluZyAmJiBncmlkU2V0dGluZy5IaWRkZW4gIT09IHRydWUgJiYgYWxsb3dHcmlkQ29sdW1uU29ydCkgeyBAaWYgKGRldmljZVNpemUgPT09ICdzJykge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxyXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCInYWx3YXlzJ1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uR3JvdXBieVNldHRpbmdzKClcIlxyXG4gICAgICAgIFtsYWJlbF09XCInR3JvdXBzJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgYm9keUNsaWNrXHJcbiAgICA+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cIidhbHdheXMnXCJcclxuICAgICAgICAoY2xpY2spPVwib25Tb3J0U2V0dGluZ3MoKVwiXHJcbiAgICAgICAgW2xhYmVsXT1cIidTb3J0JyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgYm9keUNsaWNrXHJcbiAgICA+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcclxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgW2F0dHIuZmRPdmVyZmxvd1ByaW9yaXR5XT1cIidhbHdheXMnXCJcclxuICAgICAgICAoY2xpY2spPVwib25Db2x1bW5TZXR0aW5ncygpXCJcclxuICAgICAgICBbbGFiZWxdPVwiJ0NvbHVtbnMnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBib2R5Q2xpY2tcclxuICAgID48L2J1dHRvbj5cclxuICAgIH0gQGlmIChkZXZpY2VTaXplICE9PSAncycpIHtcclxuICAgIDxidXR0b25cclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICBbYXR0ci5mZE92ZXJmbG93UHJpb3JpdHldPVwiJ25ldmVyJ1wiXHJcbiAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcclxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgZ2x5cGg9XCJhY3Rpb24tc2V0dGluZ3NcIlxyXG4gICAgICAgIFt0aXRsZV09XCInU2V0dGluZ3MnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJ0YWJsZU1lbnVTZXR0aW5nc1wiXHJcbiAgICAgICAgYm9keUNsaWNrXHJcbiAgICA+PC9idXR0b24+XHJcbiAgICB9XHJcbiAgICA8ZmQtbWVudSAjdGFibGVNZW51U2V0dGluZ3M+XHJcbiAgICAgICAgPGxpIGZkLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlIChjbGljayk9XCJ0YWJsZU1lbnVTZXR0aW5ncy5jbG9zZSgpOyBvbkNvbHVtblNldHRpbmdzKClcIiBib2R5Q2xpY2s+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiIGdseXBoPVwiYWN0aW9uLXNldHRpbmdzXCI+PC9mZC1tZW51LWFkZG9uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICB7eyAnQ29sdW1ucycgfCBiYmJUcmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cInRhYmxlTWVudVNldHRpbmdzLmNsb3NlKCk7IG9uU29ydFNldHRpbmdzKClcIiBib2R5Q2xpY2s+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImJlZm9yZVwiIGdseXBoPVwic29ydFwiPjwvZmQtbWVudS1hZGRvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ1NvcnQnIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGZkLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlIChjbGljayk9XCJ0YWJsZU1lbnVTZXR0aW5ncy5jbG9zZSgpOyBvbkdyb3VwYnlTZXR0aW5ncygpXCIgYm9keUNsaWNrPlxyXG4gICAgICAgICAgICAgICAgPGZkLW1lbnUtYWRkb24gcG9zaXRpb249XCJiZWZvcmVcIiBnbHlwaD1cImdyb3VwLTJcIj48L2ZkLW1lbnUtYWRkb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdHcm91cHMnIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L2ZkLW1lbnU+XHJcbiAgICB9IEBpZiAodmlld0NvbGxlY3Rpb24gJiYgdmlld0NvbGxlY3Rpb24ubGVuZ3RoID4gMSkge1xyXG4gICAgPGZkLXNwbGl0LWJ1dHRvblxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIFthdHRyLmZkT3ZlcmZsb3dQcmlvcml0eV09XCJkZXZpY2VTaXplID09PSAncycgPyAnYWx3YXlzJyA6ICdsb3cnXCJcclxuICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgIFttYWluQWN0aW9uXT1cIntcclxuICAgICAgICAgICAga2VlcE1haW5BY3Rpb246IHRydWUsXHJcbiAgICAgICAgICAgIG1haW5BY3Rpb25UaXRsZTogc3BsaXRCdG5UaXRsZVxyXG4gICAgICAgIH1cIlxyXG4gICAgPlxyXG4gICAgICAgIDxmZC1tZW51PlxyXG4gICAgICAgICAgICBAZm9yICh2aWV3T2JqZWN0IG9mIHZpZXdDb2xsZWN0aW9uOyB0cmFjayB2aWV3T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cIm9uQ2hhbmdlVmlldyh2aWV3T2JqZWN0KVwiIGJvZHlDbGljaz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwidmlld09iamVjdC5VaUNvbXBvbmVudC5TZXR0aW5ncz8uSWNvblwiPiA8L2ZkLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2ZkLW1lbnU+XHJcbiAgICA8L2ZkLXNwbGl0LWJ1dHRvbj5cclxuICAgIH1cclxuICAgIDxuZy10ZW1wbGF0ZSAjc3BsaXRCdG5UaXRsZT5cclxuICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwicmVwb3J0Vmlldy5VaUNvbXBvbmVudC5TZXR0aW5ncz8uSWNvblwiPjwvZmQtaWNvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3NwbGl0QnRuU2V0dGluZ3M+XHJcbiAgICAgICAgPGZkLWljb24gW2dseXBoXT1cIidhY3Rpb24tc2V0dGluZ3MnXCI+PC9mZC1pY29uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIH1cclxuPC9mZC10b29sYmFyPlxyXG59XHJcbiJdfQ==
@@ -2410,9 +2410,16 @@ class UlvToolbarComponent extends BaseComponent {
2410
2410
  ngOnChanges(changes) {
2411
2411
  super.ngOnChanges(changes);
2412
2412
  const { toolbarButtons } = changes;
2413
- if (toolbarButtons && !toolbarButtons.firstChange) {
2414
- this._refreshToolbar();
2415
- this._cdr.detectChanges();
2413
+ if (toolbarButtons) {
2414
+ if (toolbarButtons.firstChange) {
2415
+ setTimeout(() => {
2416
+ this._refreshToolbar();
2417
+ });
2418
+ }
2419
+ else {
2420
+ this._refreshToolbar();
2421
+ this._cdr.detectChanges();
2422
+ }
2416
2423
  }
2417
2424
  }
2418
2425
  onGroupbySettings() {
@@ -6791,11 +6798,11 @@ class UiUlvMainUiComponent extends BaseComponent {
6791
6798
  });
6792
6799
  }
6793
6800
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiUlvMainUiComponent, deps: [{ token: i1$1.DialogService }, { token: i2.UlvMainService }, { token: i0.ElementRef }, { token: i2$6.Router }, { token: i2.PortalService }, { token: i0.ChangeDetectorRef }, { token: i2$6.ActivatedRoute }, { token: i1$1.ContentDensityService }, { token: i2.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
6794
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: { context: "context", isReportPage: "isReportPage", inDialog: "inDialog", isMultiSelect: "isMultiSelect", layoutInfo: "layoutInfo", fullscreen: "fullscreen" }, host: { properties: { "class.control-readonly": "this.readonly", "class.control-disabled": "this.disable", "class.margin-ulv": "this.marginUlv" } }, providers: [UlvMainService], viewQueries: [{ propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"], dependencies: [{ kind: "component", type: BarsaUlvMainComponent, selector: "bsu-barsa-ulv-main", inputs: ["viewerControl", "loading", "viewerLoading", "isReportPage", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6801
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiUlvMainUiComponent, selector: "bsu-ui-ulv-main-ui", inputs: { context: "context", isReportPage: "isReportPage", inDialog: "inDialog", isMultiSelect: "isMultiSelect", layoutInfo: "layoutInfo", fullscreen: "fullscreen" }, host: { properties: { "class.control-readonly": "this.readonly", "class.control-disabled": "this.disable", "class.margin-ulv": "this.marginUlv" } }, providers: [UlvMainService], viewQueries: [{ propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [style.style.width]=\"!isMobile ? null : '100%'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"], dependencies: [{ kind: "component", type: BarsaUlvMainComponent, selector: "bsu-barsa-ulv-main", inputs: ["viewerControl", "loading", "viewerLoading", "isReportPage", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6795
6802
  }
6796
6803
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiUlvMainUiComponent, decorators: [{
6797
6804
  type: Component,
6798
- args: [{ selector: 'bsu-ui-ulv-main-ui', providers: [UlvMainService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"] }]
6805
+ args: [{ selector: 'bsu-ui-ulv-main-ui', providers: [UlvMainService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<bsu-barsa-ulv-main\n [style.margin]=\"isReportPage ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\n [style.style.width]=\"!isMobile ? null : '100%'\"\n [layoutInfo]=\"layoutInfo\"\n [attr.isReportPage]=\"isReportPage\"\n [viewerControl]=\"viewer$ | async\"\n [loading]=\"(mask$ | async) === true\"\n [viewerLoading]=\"(viwerMask$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n [landscape]=\"(landscape$ | async) === true\"\n [isReportPage]=\"isReportPage\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [title]=\"title\"\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\n [rtl]=\"(rtl$ | async)!!\"\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\n [context]=\"context\"\n [contentDensity]=\"contentDensity$ | async\"\n (closeEvent)=\"onClose()\"\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\n (openManageFilters)=\"onOpenManageFilters()\"\n (collapsedChange)=\"onCollapsedChange($event)\"\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\n (filterSave)=\"onFilterSave()\"\n (filterSaveAs)=\"onFilterSaveAs()\"\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\n (manageFilters)=\"onManageFilters()\"\n (clearSearch)=\"onClearSearch()\"\n (search)=\"onSearch()\"\n (pageChange)=\"onPageChange($event)\"\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\n>\n</bsu-barsa-ulv-main>\n", styles: [":host{width:100%;min-height:100%;height:auto;display:flex;flex-direction:column;cursor:default}.margin-ulv{margin-bottom:.25rem;margin-top:.1875rem}\n"] }]
6799
6806
  }], ctorParameters: () => [{ type: i1$1.DialogService }, { type: i2.UlvMainService }, { type: i0.ElementRef }, { type: i2$6.Router }, { type: i2.PortalService }, { type: i0.ChangeDetectorRef }, { type: i2$6.ActivatedRoute }, { type: i1$1.ContentDensityService }, { type: i2.BreadcrumbService }], propDecorators: { context: [{
6800
6807
  type: Input
6801
6808
  }], isReportPage: [{