barsa-sap-ui 2.2.70 → 2.2.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +11 -18
  2. package/esm2022/lib/barsa-card-banner/barsa-card-banner.component.mjs +4 -4
  3. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +2 -2
  4. package/esm2022/lib/barsa-img-skeleton/barsa-img-skeleton.component.mjs +25 -0
  5. package/esm2022/lib/barsa-sap-ui.module.mjs +25 -24
  6. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +34 -4
  7. package/esm2022/lib/card-item/card-item.component.mjs +11 -6
  8. package/esm2022/lib/card-view-content/card-view-content.component.mjs +3 -3
  9. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +3 -3
  10. package/esm2022/lib/index.mjs +4 -2
  11. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +13 -8
  12. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +5 -4
  13. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +8 -6
  14. package/esm2022/lib/ui-report-carousel-view/ui-report-carousel-view.component.mjs +21 -29
  15. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +19 -6
  16. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +4 -4
  17. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +4 -3
  18. package/esm2022/public-api.mjs +2 -1
  19. package/fesm2022/barsa-sap-ui.mjs +150 -87
  20. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  21. package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +1 -0
  22. package/lib/barsa-img-skeleton/barsa-img-skeleton.component.d.ts +11 -0
  23. package/lib/barsa-sap-ui.module.d.ts +37 -36
  24. package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +10 -3
  25. package/lib/card-item/card-item.component.d.ts +2 -0
  26. package/lib/ui-card-view/ui-card-view.component.d.ts +1 -1
  27. package/lib/ui-report-carousel-view/ui-report-carousel-view.component.d.ts +6 -3
  28. package/lib/ui-report-container/ui-report-container.component.d.ts +3 -1
  29. package/lib/ui-text-area/ui-text-area.component.d.ts +0 -2
  30. package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +2 -1
  31. package/package.json +1 -1
  32. package/public-api.d.ts +1 -0
@@ -90,6 +90,7 @@ export class UiUlvMainUiComponent extends BaseComponent {
90
90
  this.viwerMask$ = this._ulvMainService.viwerMask$;
91
91
  this.hideUlvPageTitle$ = this._ulvMainService.hideUlvPageTitle$;
92
92
  this.canSaveGridSetting$ = this._ulvMainService.canSaveGridSetting$;
93
+ this.cssBackground$ = this._ulvMainService.cssBackground$;
93
94
  this.pagingSetting$ = this._ulvMainService.pagingSetting$;
94
95
  this.searchPanelMoChanged$ = this._ulvMainService.searchPanelMoChanged$;
95
96
  this.hasSearchPanel = this._ulvMainService.searchPanelUi !== null;
@@ -276,11 +277,11 @@ export class UiUlvMainUiComponent extends BaseComponent {
276
277
  });
277
278
  }
278
279
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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 }); }
279
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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: "_barsaUlvComponent", first: true, predicate: BarsaUlvMainComponent, descendants: true }, { propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [hidePaging]=\"(hidePaging$ | async)===true\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\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", "hidePaging", "viewerLoading", "isReportPage", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "hideUlvPageTitle", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "simpleSearchPanel", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
280
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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: "_barsaUlvComponent", first: true, predicate: BarsaUlvMainComponent, descendants: true }, { propertyName: "searchPanelComponent", first: true, predicate: SearchPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [cssBackground]=\"(cssBackground$ | async)\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [hidePaging]=\"(hidePaging$ | async)===true\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\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", "hidePaging", "viewerLoading", "isReportPage", "cssBackground", "deviceSize", "title", "searchPanelUi", "breadCrumbs", "allSearchPanelSettings", "isAnonymous", "canSaveGridSetting", "rtl", "hideUlvPageTitle", "selectedSearchPanelSettings", "searchPanelMoChanged", "selectedSearchPanelSettingsId", "hideSearchPanel", "pagingSetting", "contentDensity", "context", "isMobile", "standalone", "landscape", "simpleSearchPanel", "layoutInfo"], outputs: ["closeEvent", "searchPanelMoChange", "openManageFilters", "collapsedChange", "hideSearchPanelClick", "filterSave", "filterSaveAs", "pageChange", "showFilterFieldsSetting", "manageFilters", "clearSearch", "search", "selectSearchPanelSettings"] }, { kind: "directive", type: i5.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
280
281
  }
281
282
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiUlvMainUiComponent, decorators: [{
282
283
  type: Component,
283
- args: [{ selector: 'bsu-ui-ulv-main-ui', providers: [UlvMainService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [hidePaging]=\"(hidePaging$ | async)===true\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\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"] }]
284
+ args: [{ selector: 'bsu-ui-ulv-main-ui', providers: [UlvMainService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bsu-barsa-ulv-main\r\n [style.margin]=\"isReportPage || inDialog ? null : 'var(--fdInput_Field_Margin, .25rem 0)'\"\r\n [style.style.width]=\"!isMobile ? null : '100%'\"\r\n [layoutInfo]=\"layoutInfo\"\r\n [attr.isReportPage]=\"isReportPage\"\r\n [simpleSearchPanel]=\"simpleSearchPanel\"\r\n [viewerControl]=\"viewer$ | async\"\r\n [loading]=\"(mask$ | async) === true\"\r\n [viewerLoading]=\"(viwerMask$ | async) === true\"\r\n [cssBackground]=\"(cssBackground$ | async)\"\r\n [standalone]=\"(standalone$ | async) === true\"\r\n [landscape]=\"(landscape$ | async) === true\"\r\n [hideUlvPageTitle]=\"(hideUlvPageTitle$ | async) === true\"\r\n [isReportPage]=\"isReportPage\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [title]=\"title\"\r\n [hidePaging]=\"(hidePaging$ | async)===true\"\r\n [searchPanelUi]=\"(searchPanelUi$ | async)!!\"\r\n [breadCrumbs]=\"(breadCrumbs$ | async)!!\"\r\n [allSearchPanelSettings]=\"(allSearchPanelSettings$ | async)!!\"\r\n [isAnonymous]=\"(isAnonymous$ | async)!!\"\r\n [canSaveGridSetting]=\"(canSaveGridSetting$ | async) === true\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [selectedSearchPanelSettings]=\"(selectedSearchPanelSettings$ | async)!!\"\r\n [searchPanelMoChanged]=\"(searchPanelMoChanged$ | async)!!\"\r\n [selectedSearchPanelSettingsId]=\"(selectedSearchPanelSettingsId$ | async)!!\"\r\n [hideSearchPanel]=\"(hideSearchPanel$ | async)!!\"\r\n [pagingSetting]=\"(pagingSetting$ | async)!!\"\r\n [context]=\"context\"\r\n [contentDensity]=\"contentDensity$ | async\"\r\n (closeEvent)=\"onClose()\"\r\n (searchPanelMoChange)=\"onSearchPanelMoChanged()\"\r\n (openManageFilters)=\"onOpenManageFilters()\"\r\n (collapsedChange)=\"onCollapsedChange($event)\"\r\n (hideSearchPanelClick)=\"onHideSearchPanelClick()\"\r\n (filterSave)=\"onFilterSave()\"\r\n (filterSaveAs)=\"onFilterSaveAs()\"\r\n (showFilterFieldsSetting)=\"onShowFilterFieldsSetting()\"\r\n (manageFilters)=\"onManageFilters()\"\r\n (clearSearch)=\"onClearSearch()\"\r\n (search)=\"onSearch()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (selectSearchPanelSettings)=\"onSelectSearchPanelSettings($event)\"\r\n>\r\n</bsu-barsa-ulv-main>\r\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"] }]
284
285
  }], 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: [{
285
286
  type: Input
286
287
  }], isReportPage: [{
@@ -309,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
309
310
  }], fullscreen: [{
310
311
  type: Input
311
312
  }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LW1haW4tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFDSCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFRZCxpQkFBaUIsRUFFcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7QUFVbkYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFVbkQsSUFDSSxvQkFBb0IsQ0FBQyxHQUFHO1FBQ3hCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FB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LEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN2RSxJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQ2xELENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBdFVRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDBXQUpsQixDQUFDLGNBQWMsQ0FBQyw4RUFVaEIscUJBQXFCLHVGQUlyQixvQkFBb0IsdUVDeERuQyxxckVBNENBOzs0RkRFYSxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0ksb0JBQW9CLGFBR25CLENBQUMsY0FBYyxDQUFDLG1CQUNWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzswVEFHUixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDNEIsa0JBQWtCO3NCQUFuRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFDTyxRQUFRO3NCQUE5QyxXQUFXO3VCQUFDLHdCQUF3QjtnQkFDRSxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLHdCQUF3QjtnQkFDSixTQUFTO3NCQUF6QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFM0Isb0JBQW9CO3NCQUR2QixTQUFTO3VCQUFDLG9CQUFvQjtnQkFPbEIsVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBDb250ZW50RGVuc2l0eVNlcnZpY2UsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgQmFzZUNvbXBvbmVudCxcclxuICAgIFVsdk1haW5TZXJ2aWNlLFxyXG4gICAgUGFnaW5nU2V0dGluZyxcclxuICAgIFBvcnRhbFNlcnZpY2UsXHJcbiAgICBTZWFyY2hQYW5lbFNldHRpbmdzLFxyXG4gICAgQnJlYWRDcnVtYkluZm8sXHJcbiAgICBCcmVhZGNydW1iU2VydmljZSxcclxuICAgIENvbHVtbkluZm9UeXBlLFxyXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxyXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXHJcbiAgICBMYXlvdXRTZXR0aW5nXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL21hbmFnZS1maWx0ZXJzLXJlcG9ydC9tYW5hZ2UtZmlsdGVycy1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuLi9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFyc2EtdWx2LW1haW4vYmFyc2EtdWx2LW1haW4uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdWx2LW1haW4tdWknLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtVbHZNYWluU2VydmljZV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVVsdk1haW5VaUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xyXG4gICAgQElucHV0KCkgaXNSZXBvcnRQYWdlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogTGF5b3V0U2V0dGluZztcclxuICAgIEBWaWV3Q2hpbGQoQmFyc2FVbHZNYWluQ29tcG9uZW50KSBfYmFyc2FVbHZDb21wb25lbnQ6IEJhcnNhVWx2TWFpbkNvbXBvbmVudDtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1yZWFkb25seScpIHJlYWRvbmx5O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb250cm9sLWRpc2FibGVkJykgZGlzYWJsZTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWFyZ2luLXVsdicpIG1hcmdpblVsdjtcclxuICAgIEBWaWV3Q2hpbGQoU2VhcmNoUGFuZWxDb21wb25lbnQpXHJcbiAgICBzZXQgc2VhcmNoUGFuZWxDb21wb25lbnQodmFsKSB7XHJcbiAgICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpIHNldCBmdWxsc2NyZWVuKHZhbDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEZ1bGxzY3JlZW4odmFsKTtcclxuICAgIH1cclxuICAgIHNpbXBsZVNlYXJjaFBhbmVsOiBib29sZWFuO1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzOiBTZWFyY2hQYW5lbFNldHRpbmdzIHwgdW5kZWZpbmVkO1xyXG4gICAgZmlyc3RBcHBseUF1dG9tYXRpY2FsbHkgPSB0cnVlO1xyXG4gICAgbWFzayQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB2aXdlck1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgdmlld2VyJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgaGlkZVBhZ2luZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBwYWdpbmdTZXR0aW5nJDogT2JzZXJ2YWJsZTxQYWdpbmdTZXR0aW5nIHwgbnVsbD47XHJcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xyXG4gICAgc2VhcmNoUGFuZWxVaSQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGhpZGVTZWFyY2hQYW5lbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcmVwb3J0SWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzZWFyY2hQYW5lbE1vQ2hhbmdlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzJDogT2JzZXJ2YWJsZTxTZWFyY2hQYW5lbFNldHRpbmdzW10+O1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkOiBPYnNlcnZhYmxlPFNlYXJjaFBhbmVsU2V0dGluZ3MgfCB1bmRlZmluZWQ+O1xyXG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcclxuICAgIGJyZWFkQ3J1bWJzJDogT2JzZXJ2YWJsZTxCcmVhZENydW1iSW5mb1tdPjtcclxuICAgIGNhblNhdmVHcmlkU2V0dGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBzZWFyY2hQYW5lbExvYWRlZDogYm9vbGVhbjtcclxuICAgIGlzQW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBoYXNTZWFyY2hQYW5lbDogYm9vbGVhbjtcclxuICAgIGlzTW9iaWxlOiBib29sZWFuO1xyXG4gICAgbGFuZHNjYXBlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHN0YW5kYWxvbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaGlkZVVsdlBhZ2VUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB1aVZpZXdlclNlbGVjdG9yJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG5cclxuICAgIHByaXZhdGUgZGVmYXVsdERpYWxvZ0NvbmZpZyA9IHtcclxuICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxyXG4gICAgICAgIG1pbldpZHRoOiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnNTByZW0nLFxyXG4gICAgICAgIGJvZHlNaW5IZWlnaHQ6IGdldERldmljZUlzTW9iaWxlKCkgPyAnJyA6ICdjYWxjKDUwdmggLSA4OHB4KScsXHJcbiAgICAgICAgbW9iaWxlOiBnZXREZXZpY2VJc01vYmlsZSgpXHJcbiAgICB9O1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXHJcbiAgICAgICAgX2JyYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuY29udGVudERlbnNpdHkkID0gY29udGVudERlbnNpdHlTZXJ2aWNlLmNvbnRlbnREZW5zaXR5O1xyXG4gICAgICAgIHRoaXMucnRsJCA9IF9wb3J0YWxTZXJ2aWNlLnJ0bCQ7XHJcbiAgICAgICAgdGhpcy5icmVhZENydW1icyQgPSBfYnJhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRJbkRpYWxvZyh0aGlzLmluRGlhbG9nKTtcclxuICAgICAgICB0aGlzLmhpZGVQYWdpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVBhZ2luZyQ7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0SXNNdWx0aVNlbGVjdCh0aGlzLmlzTXVsdGlTZWxlY3QpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVpVmlld2VyU2VsZWN0b3IkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fYmFyc2FVbHZDb21wb25lbnQuU2V0VWlWaWV3ZXJTZWxlY3RvcihjKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXHJcbiAgICAgICAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcclxuICAgICAgICAvLyAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIC8vICAgICAgICAgaWYgKFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIGUudGFyZ2V0ICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50ICE9PSBlLnRhcmdldCAmJlxyXG4gICAgICAgIC8vICAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jb250YWlucyhlLnRhcmdldCBhcyBIVE1MRWxlbWVudClcclxuICAgICAgICAvLyAgICAgICAgICkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldElubGluZUVkaXQoZmFsc2UpO1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICB0aGlzLl9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpO1xyXG4gICAgICAgIHRoaXMubWFyZ2luVWx2ID0gIXRoaXMuaXNSZXBvcnRQYWdlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb250ZXh0LlNldHRpbmcuU2VhcmNoUGFuZWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX29ic2VydmVPbigpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3JlbmRlcicsIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgX29ic2VydmVPbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzQW5vbnltb3VzJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuaXNBbm9ueW1vdXMkO1xyXG4gICAgICAgIHRoaXMuaGlkZVNlYXJjaFBhbmVsJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbCQ7XHJcblxyXG4gICAgICAgIHRoaXMudGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy5UaXRsZScsICcnKTtcclxuICAgICAgICB0aGlzLnNpbXBsZVNlYXJjaFBhbmVsID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzLlNpbXBsZVNlYXJjaFBhbmVsJyxcclxuICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGhpZGVUaXRsZU1vZGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgICAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpLlBhcmFtZXRlcnMuSGlkZVRpdGxlTW9kZScsXHJcbiAgICAgICAgICAgICcnXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKGhpZGVUaXRsZU1vZGUgPT09ICcyJyB8fCBoaWRlVGl0bGVNb2RlID09PSAnMycpIHtcclxuICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlRpdGxlUGFnZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRDb250ZXh0KHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0TGF5b3V0SW5mbyh0aGlzLmxheW91dEluZm8pO1xyXG5cclxuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubWFzayQ7XHJcbiAgICAgICAgdGhpcy52aXdlck1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJDtcclxuICAgICAgICB0aGlzLmhpZGVVbHZQYWdlVGl0bGUkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlBhZ2VUaXRsZSQ7XHJcbiAgICAgICAgdGhpcy5jYW5TYXZlR3JpZFNldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJDtcclxuICAgICAgICB0aGlzLnBhZ2luZ1NldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UucGFnaW5nU2V0dGluZyQ7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hQYW5lbE1vQ2hhbmdlZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbE1vQ2hhbmdlZCQ7XHJcbiAgICAgICAgdGhpcy5oYXNTZWFyY2hQYW5lbCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsVWkgIT09IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hQYW5lbFVpJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsVWkkO1xyXG4gICAgICAgIHRoaXMuc3RhbmRhbG9uZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnN0YW5kYWxvbmUkO1xyXG4gICAgICAgIHRoaXMubGFuZHNjYXBlJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UubGFuZHNjYXBlJDtcclxuICAgICAgICB0aGlzLnJlcG9ydElkJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlcG9ydElkJDtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5jYW5TYXZlR3JpZFNldHRpbmckLnN1YnNjcmliZSgoY2FuU2F2ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY2FuU2F2ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UubG9hZFNlYXJjaFBhbmVsU2V0dGluZ3MoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlYWRvbmx5JC5zdWJzY3JpYmUoKHJlYWRvbmx5KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucmVhZG9ubHkgPSByZWFkb25seTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5lbmFibGUkLnN1YnNjcmliZSgoZW5hYmxlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZSA9ICFlbmFibGU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5UaXRsZSA9PT0gYj8uVGl0bGUpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncztcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFwcGx5U2VhcmNoUGFuZWxTZXR0aW5ncyhzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncz8uSGlkZVNlYXJjaFBhbmVsKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52aWV3ZXIkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudmlld2VyJDtcclxuICAgICAgICB0aGlzLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3MkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJDtcclxuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICB9XHJcbiAgICBvbkNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5fYWN0aXZhdGVkUm91dGUgfSk7XHJcbiAgICB9XHJcbiAgICBvblNlYXJjaFBhbmVsTW9DaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NldFNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgfVxyXG4gICAgb25QYWdlQ2hhbmdlKGU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2VDaGFuZ2VkKGUpO1xyXG4gICAgfVxyXG4gICAgb25PcGVuTWFuYWdlRmlsdGVycygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBiYWNrZHJvcENsaWNrQ2xvc2VhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBlc2NLZXlDbG9zZWFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgICAgICAgZm9jdXNUcmFwcGVkOiB0cnVlLFxyXG4gICAgICAgICAgICBtb2JpbGU6IHRoaXMuaXNNb2JpbGVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS50b2dnbGVIaWRlU2VhcmNocGFuZWwoY29sbGFwc2VkKTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbE1vQ2hhbmdlZCh0cnVlKTtcclxuICAgIH1cclxuICAgIG9uSGlkZVNlYXJjaFBhbmVsQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25GaWx0ZXJTYXZlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NhdmVGaWx0ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkZpbHRlclNhdmVBcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vcGVuU2F2ZUFzRmlsdGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TaG93RmlsdGVyRmllbGRzU2V0dGluZygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vcGVuU2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3MoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNlYXJjaEZpbHRlcnNNYW5hZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsZWFyU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNsZWFyU2VhcmNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWFyY2goKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5jaGFuZ2VTZWxlY3RlZFNlYXJjaFBhbmVsKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3JlbW92ZUJ1Z0luQ2hyb21lQ3NzQWN0aXZlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChCYXJzYUFwaS5Db21tb24uVXRpbC5SZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBsaXN0OiB7IGk6IGFueTsgbjogYW55OyBhOiBhbnkgfVtdID0gW107XHJcbiAgICAgICAgY29uc3QgaCA9IGRvY3VtZW50LmhlYWQuY2hpbGRyZW47XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxpc3RbaV0gPSB7XHJcbiAgICAgICAgICAgICAgICBpLFxyXG4gICAgICAgICAgICAgICAgbjogaFtpXSxcclxuICAgICAgICAgICAgICAgIGE6IGhbaV0uaW5uZXJIVE1MXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpc3QgPSBsaXN0LnJldmVyc2UoKTtcclxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgICAgIGNvbnN0IHQgPSBgLmZkLXRhYmxlX19jZWxsLS1hY3RpdmFibGU6YWN0aXZlICosLmZkLXRhYmxlX19yb3ctLWFjdGl2YWJsZS5pcy1hY3RpdmUgKiwuZmQtdGFibGVfX3Jvdy0tYWN0aXZhYmxlOmFjdGl2ZSAqe2NvbG9yOnZhcigtLXNhcExpc3RfQWN0aXZlX1RleHRDb2xvcikhaW1wb3J0YW50fWA7XHJcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xyXG4gICAgICAgIGNvbnN0IGYgPSBsaXN0LmZpbHRlcigoYykgPT4gYy5hLmluZGV4T2YodCkgPj0gMCk7XHJcbiAgICAgICAgaWYgKGYubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uVXRpbC5SZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGZbMF0ubi5pbm5lckhUTUwgPSBmWzBdLmEuc2xpY2UoMCwgMTAwNTgpICsgZlswXS5hLnNsaWNlKDEwMDU4ICsgdC5sZW5ndGgsIGZbMF0uYS5sZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NldFNlYXJjaFBhbmVsTW9DaGFuZ2VkKGNoYW5nZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKGNoYW5nZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpZWxkc1NldHRpbmcgPSB0aGlzLl91bHZNYWluU2VydmljZS5nZXRTZWFyY2hQYW5lbEZpZWxkc1NldHRpbmcoKTtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICcyNXJlbScsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIGZpZWxkczogWy4uLmZpZWxkc1NldHRpbmddXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCwgY29uZmlnKTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2V0dGluZzogQ29sdW1uSW5mb1R5cGVbXSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoc2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0QW5kQXBwbHlTZWFyY2hQYW5lbFNldHRpbmdGaWVsZHNTZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX29wZW5TYXZlQXNGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VhcmNoTW8gPSB0aGlzLl91bHZNYWluU2VydmljZS5nZXRTZWFyY2hQYW5lbE1vKCk7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgY29uc3QgZmllbGRzU2V0dGluZyA9IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncz8uRmllbGRzU2V0dGluZztcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICcyNXJlbScsXHJcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHNlYXJjaE1vLFxyXG4gICAgICAgICAgICAgICAgZmllbGRzU2V0dGluZyxcclxuICAgICAgICAgICAgICAgIHJlcG9ydElkOiB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50LCBjb25maWcpO1xyXG4gICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzZWFyY2hQYW5lbFNldHRpbmc6IFNlYXJjaFBhbmVsU2V0dGluZ3MpID0+IHtcclxuICAgICAgICAgICAgaWYgKHNlYXJjaFBhbmVsU2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgc2VhcmNoUGFuZWxTZXR0aW5nLkhpZGVTZWFyY2hQYW5lbCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFkZFNlYXJjaFBhbmVsU2V0dGluZ3Moc2VhcmNoUGFuZWxTZXR0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc2F2ZUZpbHRlcigpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MgPSB0aGlzLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncztcclxuICAgICAgICBpZiAoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XHJcbiAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNhdmVTZWFyY2hQYW5lbFNldHRpbmcoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9vcGVuU2VhcmNoRmlsdGVyc01hbmFnZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBhbGxTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuYWxsU2VhcmNoUGFuZWxTZXR0aW5ncztcclxuICAgICAgICBjb25zdCByZXBvcnRJZCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlcG9ydElkO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0RGlhbG9nQ29uZmlnLFxyXG4gICAgICAgICAgICByZXNwb25zaXZlUGFkZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIGFsbFNlYXJjaFBhbmVsU2V0dGluZ3M6IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MubWFwKChjKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIFRpdGxlOiBjLlRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIElzRGVmYXVsdDogYy5Jc0RlZmF1bHQsXHJcbiAgICAgICAgICAgICAgICAgICAgSXNQdWJsaWM6IGMuSXNQdWJsaWMsXHJcbiAgICAgICAgICAgICAgICAgICAgSXNQcmltYXJ5OiAhIWMuSXNQcmltYXJ5LFxyXG4gICAgICAgICAgICAgICAgICAgIEFwcGx5QXV0b21hdGljYWxseTogYy5BcHBseUF1dG9tYXRpY2FsbHksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVwb3J0SWQ6IHJlcG9ydElkLFxyXG4gICAgICAgICAgICAgICAgICAgIElkOiBjLklkXHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCwgY29uZmlnKTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2V0dGluZzogU2VhcmNoUGFuZWxTZXR0aW5nc1tdKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZXR0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICBzZXR0aW5nXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gIWMuSXNQcmltYXJ5KVxyXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKChuZXdTZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwcyA9IGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MuZmluZCgoYykgPT4gYy5JZCA9PT0gbmV3U2V0dGluZy5JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5NZXJnZXIuTWVyZ2Uoc3BzLCBuZXdTZXR0aW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudXBkYXRlU2VhcmNoUGFuZWxTZXR0aW5ncyhhbGxTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxic3UtYmFyc2EtdWx2LW1haW5cclxuICAgIFtzdHlsZS5tYXJnaW5dPVwiaXNSZXBvcnRQYWdlIHx8IGluRGlhbG9nID8gbnVsbCA6ICd2YXIoLS1mZElucHV0X0ZpZWxkX01hcmdpbiwgLjI1cmVtIDApJ1wiXHJcbiAgICBbc3R5bGUuc3R5bGUud2lkdGhdPVwiIWlzTW9iaWxlID8gbnVsbCA6ICcxMDAlJ1wiXHJcbiAgICBbbGF5b3V0SW5mb109XCJsYXlvdXRJbmZvXCJcclxuICAgIFthdHRyLmlzUmVwb3J0UGFnZV09XCJpc1JlcG9ydFBhZ2VcIlxyXG4gICAgW3NpbXBsZVNlYXJjaFBhbmVsXT1cInNpbXBsZVNlYXJjaFBhbmVsXCJcclxuICAgIFt2aWV3ZXJDb250cm9sXT1cInZpZXdlciQgfCBhc3luY1wiXHJcbiAgICBbbG9hZGluZ109XCIobWFzayQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW3ZpZXdlckxvYWRpbmddPVwiKHZpd2VyTWFzayQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW3N0YW5kYWxvbmVdPVwiKHN0YW5kYWxvbmUkIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtsYW5kc2NhcGVdPVwiKGxhbmRzY2FwZSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW2hpZGVVbHZQYWdlVGl0bGVdPVwiKGhpZGVVbHZQYWdlVGl0bGUkIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtpc1JlcG9ydFBhZ2VdPVwiaXNSZXBvcnRQYWdlXCJcclxuICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcclxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICBbaGlkZVBhZ2luZ109XCIoaGlkZVBhZ2luZyQgfCBhc3luYyk9PT10cnVlXCJcclxuICAgIFtzZWFyY2hQYW5lbFVpXT1cIihzZWFyY2hQYW5lbFVpJCB8IGFzeW5jKSEhXCJcclxuICAgIFticmVhZENydW1ic109XCIoYnJlYWRDcnVtYnMkIHwgYXN5bmMpISFcIlxyXG4gICAgW2FsbFNlYXJjaFBhbmVsU2V0dGluZ3NdPVwiKGFsbFNlYXJjaFBhbmVsU2V0dGluZ3MkIHwgYXN5bmMpISFcIlxyXG4gICAgW2lzQW5vbnltb3VzXT1cIihpc0Fub255bW91cyQgfCBhc3luYykhIVwiXHJcbiAgICBbY2FuU2F2ZUdyaWRTZXR0aW5nXT1cIihjYW5TYXZlR3JpZFNldHRpbmckIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtydGxdPVwiKHJ0bCQgfCBhc3luYykhIVwiXHJcbiAgICBbc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzXT1cIihzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkIHwgYXN5bmMpISFcIlxyXG4gICAgW3NlYXJjaFBhbmVsTW9DaGFuZ2VkXT1cIihzZWFyY2hQYW5lbE1vQ2hhbmdlZCQgfCBhc3luYykhIVwiXHJcbiAgICBbc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWRdPVwiKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5nc0lkJCB8IGFzeW5jKSEhXCJcclxuICAgIFtoaWRlU2VhcmNoUGFuZWxdPVwiKGhpZGVTZWFyY2hQYW5lbCQgfCBhc3luYykhIVwiXHJcbiAgICBbcGFnaW5nU2V0dGluZ109XCIocGFnaW5nU2V0dGluZyQgfCBhc3luYykhIVwiXHJcbiAgICBbY29udGV4dF09XCJjb250ZXh0XCJcclxuICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eSQgfCBhc3luY1wiXHJcbiAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIlxyXG4gICAgKHNlYXJjaFBhbmVsTW9DaGFuZ2UpPVwib25TZWFyY2hQYW5lbE1vQ2hhbmdlZCgpXCJcclxuICAgIChvcGVuTWFuYWdlRmlsdGVycyk9XCJvbk9wZW5NYW5hZ2VGaWx0ZXJzKClcIlxyXG4gICAgKGNvbGxhcHNlZENoYW5nZSk9XCJvbkNvbGxhcHNlZENoYW5nZSgkZXZlbnQpXCJcclxuICAgIChoaWRlU2VhcmNoUGFuZWxDbGljayk9XCJvbkhpZGVTZWFyY2hQYW5lbENsaWNrKClcIlxyXG4gICAgKGZpbHRlclNhdmUpPVwib25GaWx0ZXJTYXZlKClcIlxyXG4gICAgKGZpbHRlclNhdmVBcyk9XCJvbkZpbHRlclNhdmVBcygpXCJcclxuICAgIChzaG93RmlsdGVyRmllbGRzU2V0dGluZyk9XCJvblNob3dGaWx0ZXJGaWVsZHNTZXR0aW5nKClcIlxyXG4gICAgKG1hbmFnZUZpbHRlcnMpPVwib25NYW5hZ2VGaWx0ZXJzKClcIlxyXG4gICAgKGNsZWFyU2VhcmNoKT1cIm9uQ2xlYXJTZWFyY2goKVwiXHJcbiAgICAoc2VhcmNoKT1cIm9uU2VhcmNoKClcIlxyXG4gICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKHNlbGVjdFNlYXJjaFBhbmVsU2V0dGluZ3MpPVwib25TZWxlY3RTZWFyY2hQYW5lbFNldHRpbmdzKCRldmVudClcIlxyXG4+XHJcbjwvYnN1LWJhcnNhLXVsdi1tYWluPlxyXG4iXX0=
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdWx2LW1haW4tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpFLE9BQU8sRUFDSCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGNBQWMsRUFRZCxpQkFBaUIsRUFHcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUN6SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7QUFVbkYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUFVbkQsSUFDSSxvQkFBb0IsQ0FBQyxHQUFHO1FBQ3hCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FB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dGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIENvbnRlbnREZW5zaXR5U2VydmljZSwgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQmFyc2FBcGksXHJcbiAgICBCYXNlQ29tcG9uZW50LFxyXG4gICAgVWx2TWFpblNlcnZpY2UsXHJcbiAgICBQYWdpbmdTZXR0aW5nLFxyXG4gICAgUG9ydGFsU2VydmljZSxcclxuICAgIFNlYXJjaFBhbmVsU2V0dGluZ3MsXHJcbiAgICBCcmVhZENydW1iSW5mbyxcclxuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgQ29sdW1uSW5mb1R5cGUsXHJcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXHJcbiAgICBnZXREZXZpY2VJc01vYmlsZSxcclxuICAgIExheW91dFNldHRpbmcsXHJcbiAgICBDc3NCYWNrZ3JvdW5kXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL21hbmFnZS1maWx0ZXJzLXJlcG9ydC9tYW5hZ2UtZmlsdGVycy1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuLi9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFyc2EtdWx2LW1haW4vYmFyc2EtdWx2LW1haW4uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktdWx2LW1haW4tdWknLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtVbHZNYWluU2VydmljZV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVVsdk1haW5VaUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xyXG4gICAgQElucHV0KCkgaXNSZXBvcnRQYWdlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogTGF5b3V0U2V0dGluZztcclxuICAgIEBWaWV3Q2hpbGQoQmFyc2FVbHZNYWluQ29tcG9uZW50KSBfYmFyc2FVbHZDb21wb25lbnQ6IEJhcnNhVWx2TWFpbkNvbXBvbmVudDtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udHJvbC1yZWFkb25seScpIHJlYWRvbmx5O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb250cm9sLWRpc2FibGVkJykgZGlzYWJsZTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubWFyZ2luLXVsdicpIG1hcmdpblVsdjtcclxuICAgIEBWaWV3Q2hpbGQoU2VhcmNoUGFuZWxDb21wb25lbnQpXHJcbiAgICBzZXQgc2VhcmNoUGFuZWxDb21wb25lbnQodmFsKSB7XHJcbiAgICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpIHNldCBmdWxsc2NyZWVuKHZhbDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEZ1bGxzY3JlZW4odmFsKTtcclxuICAgIH1cclxuICAgIHNpbXBsZVNlYXJjaFBhbmVsOiBib29sZWFuO1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzOiBTZWFyY2hQYW5lbFNldHRpbmdzIHwgdW5kZWZpbmVkO1xyXG4gICAgZmlyc3RBcHBseUF1dG9tYXRpY2FsbHkgPSB0cnVlO1xyXG4gICAgY3NzQmFja2dyb3VuZCQ6IE9ic2VydmFibGU8Q3NzQmFja2dyb3VuZCB8IG51bGw+O1xyXG4gICAgbWFzayQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB2aXdlck1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgdmlld2VyJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgaGlkZVBhZ2luZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBwYWdpbmdTZXR0aW5nJDogT2JzZXJ2YWJsZTxQYWdpbmdTZXR0aW5nIHwgbnVsbD47XHJcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xyXG4gICAgc2VhcmNoUGFuZWxVaSQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGhpZGVTZWFyY2hQYW5lbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcmVwb3J0SWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzZWFyY2hQYW5lbE1vQ2hhbmdlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzJDogT2JzZXJ2YWJsZTxTZWFyY2hQYW5lbFNldHRpbmdzW10+O1xyXG4gICAgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWQkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MkOiBPYnNlcnZhYmxlPFNlYXJjaFBhbmVsU2V0dGluZ3MgfCB1bmRlZmluZWQ+O1xyXG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcclxuICAgIGJyZWFkQ3J1bWJzJDogT2JzZXJ2YWJsZTxCcmVhZENydW1iSW5mb1tdPjtcclxuICAgIGNhblNhdmVHcmlkU2V0dGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBzZWFyY2hQYW5lbExvYWRlZDogYm9vbGVhbjtcclxuICAgIGlzQW5vbnltb3VzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBoYXNTZWFyY2hQYW5lbDogYm9vbGVhbjtcclxuICAgIGlzTW9iaWxlOiBib29sZWFuO1xyXG4gICAgbGFuZHNjYXBlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHN0YW5kYWxvbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaGlkZVVsdlBhZ2VUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB1aVZpZXdlclNlbGVjdG9yJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG5cclxuICAgIHByaXZhdGUgZGVmYXVsdERpYWxvZ0NvbmZpZyA9IHtcclxuICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxyXG4gICAgICAgIG1pbldpZHRoOiBnZXREZXZpY2VJc01vYmlsZSgpID8gJycgOiAnNTByZW0nLFxyXG4gICAgICAgIGJvZHlNaW5IZWlnaHQ6IGdldERldmljZUlzTW9iaWxlKCkgPyAnJyA6ICdjYWxjKDUwdmggLSA4OHB4KScsXHJcbiAgICAgICAgbW9iaWxlOiBnZXREZXZpY2VJc01vYmlsZSgpXHJcbiAgICB9O1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXHJcbiAgICAgICAgX2JyYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuY29udGVudERlbnNpdHkkID0gY29udGVudERlbnNpdHlTZXJ2aWNlLmNvbnRlbnREZW5zaXR5O1xyXG4gICAgICAgIHRoaXMucnRsJCA9IF9wb3J0YWxTZXJ2aWNlLnJ0bCQ7XHJcbiAgICAgICAgdGhpcy5icmVhZENydW1icyQgPSBfYnJhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRJbkRpYWxvZyh0aGlzLmluRGlhbG9nKTtcclxuICAgICAgICB0aGlzLmhpZGVQYWdpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVBhZ2luZyQ7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0SXNNdWx0aVNlbGVjdCh0aGlzLmlzTXVsdGlTZWxlY3QpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVpVmlld2VyU2VsZWN0b3IkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fYmFyc2FVbHZDb21wb25lbnQuU2V0VWlWaWV3ZXJTZWxlY3RvcihjKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXHJcbiAgICAgICAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcclxuICAgICAgICAvLyAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIC8vICAgICAgICAgaWYgKFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIGUudGFyZ2V0ICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50ICE9PSBlLnRhcmdldCAmJlxyXG4gICAgICAgIC8vICAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpICYmXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jb250YWlucyhlLnRhcmdldCBhcyBIVE1MRWxlbWVudClcclxuICAgICAgICAvLyAgICAgICAgICkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldElubGluZUVkaXQoZmFsc2UpO1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9KTtcclxuICAgICAgICB0aGlzLl9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpO1xyXG4gICAgICAgIHRoaXMubWFyZ2luVWx2ID0gIXRoaXMuaXNSZXBvcnRQYWdlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb250ZXh0LlNldHRpbmcuU2VhcmNoUGFuZWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hQYW5lbExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX29ic2VydmVPbigpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3JlbmRlcicsIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgX29ic2VydmVPbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzQW5vbnltb3VzJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuaXNBbm9ueW1vdXMkO1xyXG4gICAgICAgIHRoaXMuaGlkZVNlYXJjaFBhbmVsJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbCQ7XHJcblxyXG4gICAgICAgIHRoaXMudGl0bGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy5UaXRsZScsICcnKTtcclxuICAgICAgICB0aGlzLnNpbXBsZVNlYXJjaFBhbmVsID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzLlNpbXBsZVNlYXJjaFBhbmVsJyxcclxuICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGhpZGVUaXRsZU1vZGUgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgICAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpLlBhcmFtZXRlcnMuSGlkZVRpdGxlTW9kZScsXHJcbiAgICAgICAgICAgICcnXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKGhpZGVUaXRsZU1vZGUgPT09ICcyJyB8fCBoaWRlVGl0bGVNb2RlID09PSAnMycpIHtcclxuICAgICAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlRpdGxlUGFnZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZXRDb250ZXh0KHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2V0TGF5b3V0SW5mbyh0aGlzLmxheW91dEluZm8pO1xyXG5cclxuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubWFzayQ7XHJcbiAgICAgICAgdGhpcy52aXdlck1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJDtcclxuICAgICAgICB0aGlzLmhpZGVVbHZQYWdlVGl0bGUkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVVsdlBhZ2VUaXRsZSQ7XHJcbiAgICAgICAgdGhpcy5jYW5TYXZlR3JpZFNldHRpbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJDtcclxuICAgICAgICB0aGlzLmNzc0JhY2tncm91bmQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY3NzQmFja2dyb3VuZCQ7XHJcbiAgICAgICAgdGhpcy5wYWdpbmdTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2luZ1NldHRpbmckO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxNb0NoYW5nZWQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQkO1xyXG4gICAgICAgIHRoaXMuaGFzU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpICE9PSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxVaSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbFVpJDtcclxuICAgICAgICB0aGlzLnN0YW5kYWxvbmUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJDtcclxuICAgICAgICB0aGlzLmxhbmRzY2FwZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxhbmRzY2FwZSQ7XHJcbiAgICAgICAgdGhpcy5yZXBvcnRJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZCQ7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FuU2F2ZUdyaWRTZXR0aW5nJC5zdWJzY3JpYmUoKGNhblNhdmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNhblNhdmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmxvYWRTZWFyY2hQYW5lbFNldHRpbmdzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZWFkb25seSQuc3Vic2NyaWJlKChyZWFkb25seSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlYWRvbmx5ID0gcmVhZG9ubHk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuZW5hYmxlJC5zdWJzY3JpYmUoKGVuYWJsZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGUgPSAhZW5hYmxlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8uVGl0bGUgPT09IGI/LlRpdGxlKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MgPSBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hcHBseVNlYXJjaFBhbmVsU2V0dGluZ3Moc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRvZ2dsZUhpZGVTZWFyY2hwYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M/LkhpZGVTZWFyY2hQYW5lbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudmlld2VyJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnZpZXdlciQ7XHJcbiAgICAgICAgdGhpcy5hbGxTZWFyY2hQYW5lbFNldHRpbmdzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3MkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCQ7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgfVxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMuX2FjdGl2YXRlZFJvdXRlIH0pO1xyXG4gICAgfVxyXG4gICAgb25TZWFyY2hQYW5lbE1vQ2hhbmdlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZXRTZWFyY2hQYW5lbE1vQ2hhbmdlZCh0cnVlKTtcclxuICAgIH1cclxuICAgIG9uUGFnZUNoYW5nZShlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5wYWdlQ2hhbmdlZChlKTtcclxuICAgIH1cclxuICAgIG9uT3Blbk1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgZXNjS2V5Q2xvc2VhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXHJcbiAgICAgICAgICAgIGZvY3VzVHJhcHBlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbW9iaWxlOiB0aGlzLmlzTW9iaWxlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Db2xsYXBzZWRDaGFuZ2UoY29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UudG9nZ2xlSGlkZVNlYXJjaHBhbmVsKGNvbGxhcHNlZCk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VhcmNoUGFuZWxNb0NoYW5nZWQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBvbkhpZGVTZWFyY2hQYW5lbENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRvZ2dsZUhpZGVTZWFyY2hwYW5lbCgpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRmlsdGVyU2F2ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zYXZlRmlsdGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25GaWx0ZXJTYXZlQXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNhdmVBc0ZpbHRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2hvd0ZpbHRlckZpZWxkc1NldHRpbmcoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3BlblNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25NYW5hZ2VGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29wZW5TZWFyY2hGaWx0ZXJzTWFuYWdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGVhclNlYXJjaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5jbGVhclNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncyhzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY2hhbmdlU2VsZWN0ZWRTZWFyY2hQYW5lbChzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9yZW1vdmVCdWdJbkNocm9tZUNzc0FjdGl2ZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGlzdDogeyBpOiBhbnk7IG46IGFueTsgYTogYW55IH1bXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IGggPSBkb2N1bWVudC5oZWFkLmNoaWxkcmVuO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsaXN0W2ldID0ge1xyXG4gICAgICAgICAgICAgICAgaSxcclxuICAgICAgICAgICAgICAgIG46IGhbaV0sXHJcbiAgICAgICAgICAgICAgICBhOiBoW2ldLmlubmVySFRNTFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaXN0ID0gbGlzdC5yZXZlcnNlKCk7XHJcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cclxuICAgICAgICBjb25zdCB0ID0gYC5mZC10YWJsZV9fY2VsbC0tYWN0aXZhYmxlOmFjdGl2ZSAqLC5mZC10YWJsZV9fcm93LS1hY3RpdmFibGUuaXMtYWN0aXZlICosLmZkLXRhYmxlX19yb3ctLWFjdGl2YWJsZTphY3RpdmUgKntjb2xvcjp2YXIoLS1zYXBMaXN0X0FjdGl2ZV9UZXh0Q29sb3IpIWltcG9ydGFudH1gO1xyXG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgKi9cclxuICAgICAgICBjb25zdCBmID0gbGlzdC5maWx0ZXIoKGMpID0+IGMuYS5pbmRleE9mKHQpID49IDApO1xyXG4gICAgICAgIGlmIChmLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuUmVtb3ZlQnVnSW5DaHJvbWVDc3NBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBmWzBdLm4uaW5uZXJIVE1MID0gZlswXS5hLnNsaWNlKDAsIDEwMDU4KSArIGZbMF0uYS5zbGljZSgxMDA1OCArIHQubGVuZ3RoLCBmWzBdLmEubGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zZXRTZWFyY2hQYW5lbE1vQ2hhbmdlZChjaGFuZ2U6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zZWFyY2hQYW5lbE1vQ2hhbmdlZChjaGFuZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX29wZW5TZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5ncygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWVsZHNTZXR0aW5nID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxGaWVsZHNTZXR0aW5nKCk7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFsuLi5maWVsZHNTZXR0aW5nXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4oUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IENvbHVtbkluZm9UeXBlW10pID0+IHtcclxuICAgICAgICAgICAgaWYgKHNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNldEFuZEFwcGx5U2VhcmNoUGFuZWxTZXR0aW5nRmllbGRzU2V0dGluZyhzZXR0aW5nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnNlYXJjaFBhbmVsTW9DaGFuZ2VkKHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9vcGVuU2F2ZUFzRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaE1vID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ2V0U2VhcmNoUGFuZWxNbygpO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzO1xyXG4gICAgICAgIGNvbnN0IGZpZWxkc1NldHRpbmcgPSBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M/LkZpZWxkc1NldHRpbmc7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHREaWFsb2dDb25maWcsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMjVyZW0nLFxyXG4gICAgICAgICAgICByZXNpemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBzZWFyY2hNbyxcclxuICAgICAgICAgICAgICAgIGZpZWxkc1NldHRpbmcsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRJZDogdGhpcy5fdWx2TWFpblNlcnZpY2UucmVwb3J0SWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCwgY29uZmlnKTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoc2VhcmNoUGFuZWxTZXR0aW5nOiBTZWFyY2hQYW5lbFNldHRpbmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZWFyY2hQYW5lbFNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHNlYXJjaFBhbmVsU2V0dGluZy5IaWRlU2VhcmNoUGFuZWwgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5hZGRTZWFyY2hQYW5lbFNldHRpbmdzKHNlYXJjaFBhbmVsU2V0dGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NhdmVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzID0gdGhpcy5zZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncykge1xyXG4gICAgICAgICAgICBzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3MuSGlkZVNlYXJjaFBhbmVsID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVNlYXJjaHBhbmVsO1xyXG4gICAgICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5zYXZlU2VhcmNoUGFuZWxTZXR0aW5nKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfb3BlblNlYXJjaEZpbHRlcnNNYW5hZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmFsbFNlYXJjaFBhbmVsU2V0dGluZ3M7XHJcbiAgICAgICAgY29uc3QgcmVwb3J0SWQgPSB0aGlzLl91bHZNYWluU2VydmljZS5yZXBvcnRJZDtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZGVmYXVsdERpYWxvZ0NvbmZpZyxcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBhbGxTZWFyY2hQYW5lbFNldHRpbmdzOiBhbGxTZWFyY2hQYW5lbFNldHRpbmdzLm1hcCgoYykgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICBUaXRsZTogYy5UaXRsZSxcclxuICAgICAgICAgICAgICAgICAgICBJc0RlZmF1bHQ6IGMuSXNEZWZhdWx0LFxyXG4gICAgICAgICAgICAgICAgICAgIElzUHVibGljOiBjLklzUHVibGljLFxyXG4gICAgICAgICAgICAgICAgICAgIElzUHJpbWFyeTogISFjLklzUHJpbWFyeSxcclxuICAgICAgICAgICAgICAgICAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGMuQXBwbHlBdXRvbWF0aWNhbGx5LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlcG9ydElkOiByZXBvcnRJZCxcclxuICAgICAgICAgICAgICAgICAgICBJZDogYy5JZFxyXG4gICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHNldHRpbmc6IFNlYXJjaFBhbmVsU2V0dGluZ3NbXSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoc2V0dGluZykge1xyXG4gICAgICAgICAgICAgICAgc2V0dGluZ1xyXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+ICFjLklzUHJpbWFyeSlcclxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgobmV3U2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcHMgPSBhbGxTZWFyY2hQYW5lbFNldHRpbmdzLmZpbmQoKGMpID0+IGMuSWQgPT09IG5ld1NldHRpbmcuSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHNwcywgbmV3U2V0dGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnVwZGF0ZVNlYXJjaFBhbmVsU2V0dGluZ3MoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8YnN1LWJhcnNhLXVsdi1tYWluXHJcbiAgICBbc3R5bGUubWFyZ2luXT1cImlzUmVwb3J0UGFnZSB8fCBpbkRpYWxvZyA/IG51bGwgOiAndmFyKC0tZmRJbnB1dF9GaWVsZF9NYXJnaW4sIC4yNXJlbSAwKSdcIlxyXG4gICAgW3N0eWxlLnN0eWxlLndpZHRoXT1cIiFpc01vYmlsZSA/IG51bGwgOiAnMTAwJSdcIlxyXG4gICAgW2xheW91dEluZm9dPVwibGF5b3V0SW5mb1wiXHJcbiAgICBbYXR0ci5pc1JlcG9ydFBhZ2VdPVwiaXNSZXBvcnRQYWdlXCJcclxuICAgIFtzaW1wbGVTZWFyY2hQYW5lbF09XCJzaW1wbGVTZWFyY2hQYW5lbFwiXHJcbiAgICBbdmlld2VyQ29udHJvbF09XCJ2aWV3ZXIkIHwgYXN5bmNcIlxyXG4gICAgW2xvYWRpbmddPVwiKG1hc2skIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFt2aWV3ZXJMb2FkaW5nXT1cIih2aXdlck1hc2skIHwgYXN5bmMpID09PSB0cnVlXCJcclxuICAgIFtjc3NCYWNrZ3JvdW5kXT1cIihjc3NCYWNrZ3JvdW5kJCB8IGFzeW5jKVwiXHJcbiAgICBbc3RhbmRhbG9uZV09XCIoc3RhbmRhbG9uZSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW2xhbmRzY2FwZV09XCIobGFuZHNjYXBlJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXHJcbiAgICBbaGlkZVVsdlBhZ2VUaXRsZV09XCIoaGlkZVVsdlBhZ2VUaXRsZSQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW2lzUmVwb3J0UGFnZV09XCJpc1JlcG9ydFBhZ2VcIlxyXG4gICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgIFtoaWRlUGFnaW5nXT1cIihoaWRlUGFnaW5nJCB8IGFzeW5jKT09PXRydWVcIlxyXG4gICAgW3NlYXJjaFBhbmVsVWldPVwiKHNlYXJjaFBhbmVsVWkkIHwgYXN5bmMpISFcIlxyXG4gICAgW2JyZWFkQ3J1bWJzXT1cIihicmVhZENydW1icyQgfCBhc3luYykhIVwiXHJcbiAgICBbYWxsU2VhcmNoUGFuZWxTZXR0aW5nc109XCIoYWxsU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXHJcbiAgICBbaXNBbm9ueW1vdXNdPVwiKGlzQW5vbnltb3VzJCB8IGFzeW5jKSEhXCJcclxuICAgIFtjYW5TYXZlR3JpZFNldHRpbmddPVwiKGNhblNhdmVHcmlkU2V0dGluZyQgfCBhc3luYykgPT09IHRydWVcIlxyXG4gICAgW3J0bF09XCIocnRsJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NdPVwiKHNlbGVjdGVkU2VhcmNoUGFuZWxTZXR0aW5ncyQgfCBhc3luYykhIVwiXHJcbiAgICBbc2VhcmNoUGFuZWxNb0NoYW5nZWRdPVwiKHNlYXJjaFBhbmVsTW9DaGFuZ2VkJCB8IGFzeW5jKSEhXCJcclxuICAgIFtzZWxlY3RlZFNlYXJjaFBhbmVsU2V0dGluZ3NJZF09XCIoc2VsZWN0ZWRTZWFyY2hQYW5lbFNldHRpbmdzSWQkIHwgYXN5bmMpISFcIlxyXG4gICAgW2hpZGVTZWFyY2hQYW5lbF09XCIoaGlkZVNlYXJjaFBhbmVsJCB8IGFzeW5jKSEhXCJcclxuICAgIFtwYWdpbmdTZXR0aW5nXT1cIihwYWdpbmdTZXR0aW5nJCB8IGFzeW5jKSEhXCJcclxuICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxyXG4gICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5JCB8IGFzeW5jXCJcclxuICAgIChjbG9zZUV2ZW50KT1cIm9uQ2xvc2UoKVwiXHJcbiAgICAoc2VhcmNoUGFuZWxNb0NoYW5nZSk9XCJvblNlYXJjaFBhbmVsTW9DaGFuZ2VkKClcIlxyXG4gICAgKG9wZW5NYW5hZ2VGaWx0ZXJzKT1cIm9uT3Blbk1hbmFnZUZpbHRlcnMoKVwiXHJcbiAgICAoY29sbGFwc2VkQ2hhbmdlKT1cIm9uQ29sbGFwc2VkQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKGhpZGVTZWFyY2hQYW5lbENsaWNrKT1cIm9uSGlkZVNlYXJjaFBhbmVsQ2xpY2soKVwiXHJcbiAgICAoZmlsdGVyU2F2ZSk9XCJvbkZpbHRlclNhdmUoKVwiXHJcbiAgICAoZmlsdGVyU2F2ZUFzKT1cIm9uRmlsdGVyU2F2ZUFzKClcIlxyXG4gICAgKHNob3dGaWx0ZXJGaWVsZHNTZXR0aW5nKT1cIm9uU2hvd0ZpbHRlckZpZWxkc1NldHRpbmcoKVwiXHJcbiAgICAobWFuYWdlRmlsdGVycyk9XCJvbk1hbmFnZUZpbHRlcnMoKVwiXHJcbiAgICAoY2xlYXJTZWFyY2gpPVwib25DbGVhclNlYXJjaCgpXCJcclxuICAgIChzZWFyY2gpPVwib25TZWFyY2goKVwiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0U2VhcmNoUGFuZWxTZXR0aW5ncyk9XCJvblNlbGVjdFNlYXJjaFBhbmVsU2V0dGluZ3MoJGV2ZW50KVwiXHJcbj5cclxuPC9ic3UtYmFyc2EtdWx2LW1haW4+XHJcbiJdfQ==
@@ -233,9 +233,10 @@ export * from './lib/ui-report-carousel-view/ui-report-carousel-view.component';
233
233
  export * from './lib/barsa-card-banner/barsa-card-banner.component';
234
234
  export * from './lib/contentDensity.directive';
235
235
  export * from './lib/barsa-theme/barsa-theme.component';
236
+ export * from './lib/barsa-img-skeleton/barsa-img-skeleton.component';
236
237
  /*
237
238
  * Public API Surface of barsa-sap-ui
238
239
  */
239
240
  export * from './lib/constants';
240
241
  export * from './lib/barsa-sap-ui.module';
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDJGQUEyRixDQUFDO0FBQzFHLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyRkFBMkYsQ0FBQztBQUMxRyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx5RUFBeUUsQ0FBQztBQUN4RixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYywrRkFBK0YsQ0FBQztBQUM5RyxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsdUdBQXVHLENBQUM7QUFDdEgsY0FBYywrRkFBK0YsQ0FBQztBQUM5RyxjQUFjLHVGQUF1RixDQUFDO0FBQ3RHLGNBQWMsNkdBQTZHLENBQUM7QUFDNUgsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyRUFBMkUsQ0FBQztBQUMxRixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nYW50dC1kaHRtbC1jaGFydC12aWV3L2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ2FudHQtY2hhcnQvdWktZ2FudHQtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbW8taW5mby1nZW5lcmFsLW9iamVjdC11aS91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtaW4tZGlhbG9nL2ZpbGUtaW4tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWFzcC12aWV3ZXIvYmFyc2EtYXNwLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbWF0cml4LXZpZXcvdWktbWF0cml4LXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci9jb2x1bW4tbWF0cml4LXJlbmRlcmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvbWF0cml4LXZhbHVlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9keW5hbWljLXBhZ2Utc2l6ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LXN0YXR1cy1pY29uLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JhcGgvdWktZ3JhcGguY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbWFwL3VpLW1hcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1hc3AtcmVwb3J0LXZpZXdlci91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10cmVlL3VpLXRyZWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdHJlZS12aWV3L3VpLXRyZWUtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcmVwb3J0LWNvbnRhaW5lci91aS1yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNhcmQtdmlldy91aS1jYXJkLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbGlzdC12aWV3L3VpLWxpc3Qtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10YWJsZS12aWV3L3VpLXRhYmxlLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC1maWx0ZXItaXRlbS91aS1ncmlkLWZpbHRlci1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoLXBhbmVsL3NlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MvcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFuYWdlLWZpbHRlcnMtcmVwb3J0L21hbmFnZS1maWx0ZXJzLXJlcG9ydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtbmF2aWdhdG9yL3JlcG9ydC1uYXZpZ2F0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGluZS9seS1saW5lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXVsdi1tYWluLXVpL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZGF0ZS10aW1lLXBpY2tlci9iYXJzYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLW1vbmFjby1lZGl0b3IvYmFyc2EtbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tb25hY28tZWRpdG9yL3VpLW1vbmFjby1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcGRmLXZpZXdlci91aS1wZGYtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIvYmFyc2EtbGlzdC1maWxlLWxpbmVhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtZmlsdGVyLXNldHRpbmdzL3Vsdi1maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LWNvbHVtbi1zZXR0aW5ncy91bHYtY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1ncm91cGJ5LXNldHRpbmdzL3Vsdi1ncm91cGJ5LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1zb3J0LXNldHRpbmdzL3Vsdi1zb3J0LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1mb3JtLW11bHRpLXNlbGVjdC91bHYtZm9ybS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1saW5lYXItbGlzdC1jb250YWluZXItd2l0aC1idXR0b24vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc3NhZ2Utc3RyaXAvbWVzc2FnZS1zdHJpcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGljLXRleHQvc3RhdGljLXRleHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaHlwZXJsaW5rL2h5cGVybGluay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsLXNlYXJjaC1tb2R1bGUvZ2xvYmFsLXNlYXJjaC1tb2R1bGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsLXNlYXJjaC1wYW5lbC9nbG9iYWwtc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LXNpbXBsZS1sYWJlbC9seS1zaW1wbGUtbGFiZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FwdGNoYS1maWVsZC9jYXB0Y2hhLWZpZWxkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWwtbG9hZGluZy1tYXNrLXVpL3VsLWxvYWRpbmctbWFzay11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtY29udGV4dC1tZW51L3Vsdi1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktd29ya2Zsb3ctcGFuZWwtdWkvdWktd29ya2Zsb3ctcGFuZWwtdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyLWF2YXRhci9oZWFkZXItYXZhdGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bC1tc2ctYm94LWFkYXB0ZXIvdWwtbXNnLWJveC1hZGFwdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1vLWluZm8tY29tYm8tdmlld2VyL3VpLW1vLWluZm8tY29tYm8tdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxhYmVsL2x5LWxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LXRhYi1jb250YWluZXIvbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS12ZXJ0aWNhbC1sYXlvdXQvbHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXBpY3R1cmVzLWluZm8vdWktcGljdHVyZXMtaW5mby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yaWNoLXRleHQtc3RhdGljL3JpY2gtdGV4dC1zdGF0aWMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0td2l6YXJkL2Zvcm0td2l6YXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xheW91dC13aXphcmQvbGF5b3V0LXdpemFyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQtY29udHJvbC9sYXlvdXQtY29udHJvbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10ZXh0LWFyZWEvdWktdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci9yZXNwb25zaXZlLXRvb2xiYXItcmVuZGVyZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzcG9uc2l2ZS10b29sYmFyL3Jlc3BvbnNpdmUtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tby1pbmZvLXN1Yi1mb3JtLXVpL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZGF0ZS10aW1lL3VpLWRhdGUtdGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1idXR0b24vdWktYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRpbnltY2UvdWktdGlueW1jZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtc2V0dGluZ3MvdWx2LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1mb3JtLXBhbmVsL3VpLWZvcm0tcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS10b29sYmFyL2Zvcm0tdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1pbmZvLWJhci1wYW5lbC91aS1pbmZvLWJhci1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXNrL21hc2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC1jb2x1bW5zL3VpLWdyaWQtY29sdW1ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkLXNvcnQtaXRlbS91aS1ncmlkLXNvcnQtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkLXNvcnQtc2V0dGluZy91aS1ncmlkLXNvcnQtc2V0dGluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LXRvb2xiYXIvdWx2LXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LXNlbGVjdGlvbi91bHYtc2VsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXNpbmdsZS1waWN0dXJlL3VpLXNpbmdsZS1waWN0dXJlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWVtcHR5LXNwYWNlL2x5LWVtcHR5LXNwYWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWZpbGUtbGluZWFyLWxpc3QtYm94L3VpLWZpbGUtbGluZWFyLWxpc3QtYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRpbWUtc3Bhbi91aS10aW1lLXNwYW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbnVtLWludC11aS91aS1udW0taW50LXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW51bS1kZWNpbWFsLXVpL3VpLW51bS1kZWNpbWFsLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbW8taW5mby11bHYtY29tYm8vdWktbW8taW5mby11bHYtY29tYm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcGljdHVyZS1maWxlL3VpLXBpY3R1cmUtZmlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXJlYWQtb25seS1maWVsZC91aS1yZWFkLW9ubHktZmllbGQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QvbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQvdWktZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1yYWRpby1ncm91cC91aS1yYWRpby1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1sYWJlbC91aS1sYWJlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1yYWRpby1ncm91cC91aS1yYWRpby1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNoZWNrLWJveC91aS1jaGVjay1ib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc3dpdGNoLWJ1dHRvbi91aS1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdGV4dC1maWVsZC91aS10ZXh0LWZpZWxkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi93aXphcmQtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbC1yZW5kZXJlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91cGxvYWQtZmlsZS1zdGF0dXMucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NhcC1mb250LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYXAtZm9udC1jbGFzcy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2FwLXVpLXJlcG9ydC1iYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC12aWV3LXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bGxzY3JlZW4tZGlhbG9nLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRyZWUtaXRlbS9ub2RlLWhhcy1vbmUtZGVwdGgtbGV2ZWwucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQtaXRlbS9jYXJkLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC12aWV3LWNvbnRlbnQvY2FyZC12aWV3LWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAvdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdWx2LW1haW4vYmFyc2EtdWx2LW1haW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9odHJlZS1jcmVhdGUtbmV3L2h0cmVlLWNyZWF0ZS1uZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFibGUtcm93L2JhcnNhLXRhYmxlLXJvdy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWJsZS1jb2x1bW4vYmFyc2EtdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldmljZS1pbmZvLWZpZWxkLWJhc2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1zYXAtdWktcm91dGluZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLXRvb2xiYXItYnV0dG9uL2Zvcm0tdG9vbGJhci1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LW5ldy10b3AtZm9ybS9yZXBvcnQtbmV3LXRvcC1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLW5ldHdvcmstb2ZmbGluZS9iYXJzYS1uZXR3b3JrLW9mZmxpbmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS12aWV3ZXItY29udGVudC9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtdmlld2VyLXBvcG92ZXIvZmlsZS12aWV3ZXItcG9wb3Zlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLXZpZXdlci9maWxlLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ibG9iLXZpZXdlci9ibG9iLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdWxsc2NyZWVuLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi1pdGVtL25vdGlmaWNhdGlvbi1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1ncm91cC1jYXJ0YWJsZS9iYXJzYS1jYXJ0YWJsZS1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jb2x1bW4taW5kaWNhdG9yL2JhcnNhLWNvbHVtbi1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZmllbGQta2V5LXZhbHVlL2JhcnNhLWZpZWxkLWtleS12YWx1ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWh0bWwtdmlld2VyL3VpLWh0bWwtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWxpc3QtZmlsZS1saW5lYXItZ21haWwvYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC9iYXJzYS1saW5rYWJsZS1pdGVtcy1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uL2JhcnNhLWVudW0tbWVudS1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1iYXNlLXBhbmVsL2JhcnNhLWJhc2UtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWJhci1wYW5lbC9iYXJzYS1iYXItcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZm9ybS1zaWRlLWNvbnRlbnQvYmFyc2EtZm9ybS1zaWRlLWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nLWhhbmRsZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwvYmFyc2EtY2FyZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwvYmFyc2EtbGlzdC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZHluYW1pYy1maWVsZC9iYXJzYS1keW5hbWljLWZpZWxkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NhcC1zaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmF0YXItc2l6ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3gvdWktbXVsdGktc2VsZWN0LWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1zbGlkZXIvdWktbXVsdGktc2VsZWN0LXNsaWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3QtY2FyZC91aS1tdWx0aS1zZWxlY3QtY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3Qtc21pbGUvdWktbXVsdGktc2VsZWN0LXNtaWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW51bS1pbnQtc2xpZGVyL3VpLW51bS1pbnQtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIvYmFyc2EtY29sdW1uLXJvd251bWJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QvYmFyc2EtcmVwb3J0LW9uZS1vZi1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNhcmQtcm93LXBheWFtL2JhcnNhLWNhcmQtcm93LXBheWFtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLXBvc3QvYmFyc2EtcXVlc3Rpb24tcG9zdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS1hZGQtY29tbWVudC9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItZm9ybS1hZGQtY29tbWVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1hbnN3ZXItY2FyZC9iYXJzYS1hbnN3ZXItY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci12b3RlLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbnRlbnQtYWN0aW9ucy1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoaXAvYmFyc2EtY2hpcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWctY2hpcC9iYXJzYS10YWctY2hpcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcvYmFyc2EtcmVwb3J0LWNhcmQtZmxleC12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93L2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhZy1jYXRlZ29yaWVzL2JhcnNhLXRhZy1jYXRlZ29yaWVzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LXJvdy9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQvYmFyc2EtY2hhdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhci9iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LW1lc3NhZ2UvYmFyc2EtY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtdGhyZWFkL2JhcnNhLWNoYXQtdGhyZWFkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC10b29sYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0L2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtbGlzdC9iYXJzYS1jaGF0LWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbW9kYWwvYmFyc2EtbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtYnJlYWRjcnVtYnMvYmFyc2EtYnJlYWRjcnVtYnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUtdGguZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2Etcm93LWlubGluZS1hY3Rpb25saXN0L2JhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1icG1uLXZpZXdlci91aS1icG1uLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1iYXItZG93bmxvYWQtZmlsZS9iYXJzYS1iYXItZG93bmxvYWQtZmlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ub3RpZmljYXRpb24tdmlldy91aS1ub3RpZmljYXRpb24tdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24taXRlbS1hY3Rpb25zL25vdGlmaWNhdGlvbi1pdGVtLWFjdGlvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtZm9ybS1sYXlvdXQtcGFuZWwvYmFyc2EtZm9ybS1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcmVwb3J0LWNhcm91c2VsLXZpZXcvdWktcmVwb3J0LWNhcm91c2VsLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1iYW5uZXIvYmFyc2EtY2FyZC1iYW5uZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGVudERlbnNpdHkuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGhlbWUvYmFyc2EtdGhlbWUuY29tcG9uZW50JztcclxuXHJcbi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBiYXJzYS1zYXAtdWlcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnN0YW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXNhcC11aS5tb2R1bGUnO1xyXG4iXX0=
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYywyQ0FBMkMsQ0FBQztBQUMx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QUFDO0FBQzFFLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdURBQXVELENBQUM7QUFFdEU7O0dBRUc7QUFDSCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcvZ2FudHQtZGh0bWwtY2hhcnQtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1nYW50dC1jaGFydC91aS1nYW50dC1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS1pbi1kaWFsb2cvZmlsZS1pbi1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtYXNwLXZpZXdlci9iYXJzYS1hc3Atdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS1kYXRlLXRpbWUvY3VzdG9tLWRhdGUtdGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1leGNlcHRpb24tZm9ybS91aS1leGNlcHRpb24tZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tYXRyaXgtdmlldy91aS1tYXRyaXgtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci9tYXRyaXgtdmFsdWUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2R5bmFtaWMtcGFnZS1zaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9vYmplY3Qtc3RhdHVzLWljb24ucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWVkaXRhYmxlLWdyaWQvdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmFwaC91aS1ncmFwaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tYXAvdWktbWFwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWFzcC1yZXBvcnQtdmlld2VyL3VpLWFzcC1yZXBvcnQtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNhbGVuZGFyL3VpLWNhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10cmVlLXZpZXcvdWktdHJlZS12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lubGluZS1zYXZlLWFuZC1jYW5jZWwvaW5saW5lLXNhdmUtYW5kLWNhbmNlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1yZXBvcnQtY29udGFpbmVyL3VpLXJlcG9ydC1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktY2FyZC12aWV3L3VpLWNhcmQtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1saXN0LXZpZXcvdWktbGlzdC12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRhYmxlLXZpZXcvdWktdGFibGUtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bC1ub3RpZnktcG9wdXAvdWwtbm90aWZ5LXBvcHVwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWRhdGUtcmFuZ2UtZXgvdWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkLWZpbHRlci1pdGVtL3VpLWdyaWQtZmlsdGVyLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC1maWx0ZXItc2V0dGluZ3MvdWktZ3JpZC1maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYW5hZ2UtZmlsdGVycy1yZXBvcnQvbWFuYWdlLWZpbHRlcnMtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1uYXZpZ2F0b3IvcmVwb3J0LW5hdmlnYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1saW5lL2x5LWxpbmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdWx2LW1haW4tdWkvdWktdWx2LW1haW4tdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktY29sb3ItdWkvdWktY29sb3ItdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdHJlZS1pdGVtL2JhcnNhLXRyZWUtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1kYXRlLXRpbWUtcGlja2VyL2JhcnNhLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbW9uYWNvLWVkaXRvci9iYXJzYS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1vbmFjby1lZGl0b3IvdWktbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10aW55ZW1jZS9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1wZGYtdmlld2VyL3VpLXBkZi12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbGlzdC1maWxlLWxpbmVhci9iYXJzYS1saXN0LWZpbGUtbGluZWFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1maWx0ZXItc2V0dGluZ3MvdWx2LWZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtY29sdW1uLXNldHRpbmdzL3Vsdi1jb2x1bW4tc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LWdyb3VwYnktc2V0dGluZ3MvdWx2LWdyb3VwYnktc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LXNvcnQtc2V0dGluZ3MvdWx2LXNvcnQtc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LWZvcm0tbXVsdGktc2VsZWN0L3Vsdi1mb3JtLW11bHRpLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS11bHYtZm9ybS1tdWx0aS1zZWxlY3QtdWkvdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxheW91dC1jb250YWluZXIvbHktbGF5b3V0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQtYWN0aW9ucy9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi91aS1saW5lYXItbGlzdC1jb250YWluZXItd2l0aC1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVzc2FnZS1zdHJpcC9tZXNzYWdlLXN0cmlwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VsLXRvYXN0LWFkYXB0ZXIvdWwtdG9hc3QtYWRhcHRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGF0aWMtdGV4dC9zdGF0aWMtdGV4dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9oeXBlcmxpbmsvaHlwZXJsaW5rLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbG9iYWwtc2VhcmNoLW1vZHVsZS9nbG9iYWwtc2VhcmNoLW1vZHVsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbG9iYWwtc2VhcmNoLXBhbmVsL2dsb2JhbC1zZWFyY2gtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXB0Y2hhLWZpZWxkL2NhcHRjaGEtZmllbGQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdGV4dC1maWVsZC1hdXRvLWNvbXBsZXRlL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bC1sb2FkaW5nLW1hc2stdWkvdWwtbG9hZGluZy1tYXNrLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS13b3JrZmxvdy1wYW5lbC11aS91aS13b3JrZmxvdy1wYW5lbC11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWFkZXItYXZhdGFyL2hlYWRlci1hdmF0YXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdHJlZS91aS10cmVlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VsLW1zZy1ib3gtYWRhcHRlci91bC1tc2ctYm94LWFkYXB0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbW8taW5mby1jb21iby12aWV3ZXIvdWktbW8taW5mby1jb21iby12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGFiZWwvbHktbGFiZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktdGFiLXBhZ2UvbHktdGFiLXBhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktdGFiLWNvbnRhaW5lci9seS10YWItY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LXZlcnRpY2FsLWxheW91dC9seS12ZXJ0aWNhbC1sYXlvdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktaG9yaXpvbnRhbC1sYXlvdXQvbHktaG9yaXpvbnRhbC1sYXlvdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcGljdHVyZXMtaW5mby91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JpY2gtdGV4dC1zdGF0aWMvcmljaC10ZXh0LXN0YXRpYy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWRpYWxvZy1sZXNzL2Zvcm0tZGlhbG9nLWxlc3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS13aXphcmQvZm9ybS13aXphcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0LXdpemFyZC9sYXlvdXQtd2l6YXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xheW91dC1jb250cm9sL2xheW91dC1jb250cm9sLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXRleHQtYXJlYS91aS10ZXh0LWFyZWEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNwb25zaXZlLXRvb2xiYXIvcmVzcG9uc2l2ZS10b29sYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkvdWktbW8taW5mby1zdWItZm9ybS11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWRpYWxvZy9mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1kYXRlLXRpbWUvdWktZGF0ZS10aW1lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWJ1dHRvbi91aS1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdGlueW1jZS91aS10aW55bWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1zZXR0aW5ncy91bHYtc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS91aS1zZWFyY2gtY29tbWFuZC1pbmZvLXVpLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWZvcm0tcGFuZWwvdWktZm9ybS1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLXRvb2xiYXIvZm9ybS10b29sYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWluZm8tYmFyLXBhbmVsL3VpLWluZm8tYmFyLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hc2svbWFzay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1ncmlkLWNvbHVtbnMvdWktZ3JpZC1jb2x1bW5zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQtc29ydC1pdGVtL3VpLWdyaWQtc29ydC1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWdyaWQtc29ydC1zZXR0aW5nL3VpLWdyaWQtc29ydC1zZXR0aW5nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Vsdi1wYWdpbmcvdWx2LXBhZ2luZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtdG9vbGJhci91bHYtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91bHYtc2VsZWN0aW9uL3Vsdi1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktc2luZ2xlLXBpY3R1cmUvdWktc2luZ2xlLXBpY3R1cmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktZW1wdHktc3BhY2UvbHktZW1wdHktc3BhY2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1udW0taW50LXVpL3VpLW51bS1pbnQtdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbnVtLWRlY2ltYWwtdWkvdWktbnVtLWRlY2ltYWwtdWkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbXVsdGktc2VsZWN0LWNvbWJvL3VpLW11bHRpLXNlbGVjdC1jb21iby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tby1pbmZvLXVsdi1jb21iby91aS1tby1pbmZvLXVsdi1jb21iby5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1waWN0dXJlLWZpbGUvdWktcGljdHVyZS1maWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWNvbnRhaW5lci13aXRoLWJ1dHRvbi91aS1jb250YWluZXItd2l0aC1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktcmVhZC1vbmx5LWZpZWxkL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9seS1sYXlvdXQtcGFuZWwvbHktbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZ3JpZC91aS1ncmlkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXJhZGlvLWdyb3VwL3VpLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWxhYmVsL3VpLWxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXJhZGlvLWdyb3VwL3VpLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLXNpbXBsZS1jb21iby91aS1zaW1wbGUtY29tYm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktY2hlY2stYm94L3VpLWNoZWNrLWJveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1zd2l0Y2gtYnV0dG9uL3VpLXN3aXRjaC1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbHktbGF5b3V0LWZpZWxkLWxhYmVsL2x5LWxheW91dC1maWVsZC1sYWJlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS10ZXh0LWZpZWxkL3VpLXRleHQtZmllbGQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWx2LWNvbnRleHQtbWVudS91bHYtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpemFyZC1sYXlvdXQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwcGx5LWNvbmRpdGlvbmFsLWZvcm1tYXRpbmdzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1maWxlLXN0YXR1cy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2FwLWZvbnQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NhcC1mb250LWNsYXNzLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYXAtdWktcmVwb3J0LWJhc2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdHJlZS1pdGVtL25vZGUtaGFzLW9uZS1kZXB0aC1sZXZlbC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkLXZpZXctY29udGVudC9jYXJkLXZpZXctY29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aXRsZS90aXRsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS11bHYtbWFpbi9iYXJzYS11bHYtbWFpbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0cmVlLWNyZWF0ZS1uZXcvaHRyZWUtY3JlYXRlLW5ldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWJsZS1yb3cvYmFyc2EtdGFibGUtcm93LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhYmxlLWNvbHVtbi9iYXJzYS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFibGUtaGVhZGVyL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGV2aWNlLWluZm8tZmllbGQtYmFzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXNhcC11aS1yb3V0aW5nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tdG9vbGJhci1idXR0b24vZm9ybS10b29sYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1zZWFyY2gtZm9ybS9iYXJzYS1zZWFyY2gtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXBvcnQtbmV3LXRvcC1mb3JtL3JlcG9ydC1uZXctdG9wLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbmV0d29yay1vZmZsaW5lL2JhcnNhLW5ldHdvcmstb2ZmbGluZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLXZpZXdlci1jb250ZW50L2ZpbGUtdmlld2VyLWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtdmlld2VyL2ZpbGUtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jsb2Itdmlld2VyL2Jsb2Itdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bGxzY3JlZW4tZmlsZXMuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZG93bmxvYWQtZmlsZXMuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FydGFibGUtdGVtcGxhdGUvYmFyc2EtY2FydGFibGUtdGVtcGxhdGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FydGFibGUtZm9ybS9iYXJzYS1jYXJ0YWJsZS1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWdyb3VwLWNhcnRhYmxlL2JhcnNhLWNhcnRhYmxlLWdyb3VwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNvbHVtbi1pbmRpY2F0b3IvYmFyc2EtY29sdW1uLWluZGljYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1maWVsZC1rZXktdmFsdWUvYmFyc2EtZmllbGQta2V5LXZhbHVlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRvb2xiYXJpdGVtLXNlYXJjaC9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktaHRtbC12aWV3ZXIvdWktaHRtbC12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10ZXh0LWVsbGlwc2lzL2JhcnNhLXRleHQtZWxsaXBzaXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWxpbmthYmxlLWl0ZW1zLXBhbmVsL2JhcnNhLWxpbmthYmxlLWl0ZW1zLXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWVudW0tbWVudS1idXR0b24vYmFyc2EtZW51bS1tZW51LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1ob3Jpem9udGFsLWZsZXgtcGFuZWwvYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWJhc2UtcGFuZWwvYmFyc2EtYmFzZS1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtYmFyLXBhbmVsL2JhcnNhLWJhci1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1mb3JtLXNpZGUtY29udGVudC9iYXJzYS1mb3JtLXNpZGUtY29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaWFsb2ctaGFuZGxlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1zaW1wbGUtZm9ybS9iYXJzYS1zaW1wbGUtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1saXN0LWxheW91dC1wYW5lbC9iYXJzYS1saXN0LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1ncmlkLWxheW91dC1wYW5lbC9iYXJzYS1ncmlkLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1keW5hbWljLWZpZWxkL2JhcnNhLWR5bmFtaWMtZmllbGQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2FwLXNpemUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci1zaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1tdWx0aS1zZWxlY3QtcmFkaW8vdWktbXVsdGktc2VsZWN0LXJhZGlvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbXVsdGktc2VsZWN0LXNsaWRlci91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1jYXJkL3VpLW11bHRpLXNlbGVjdC1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW11bHRpLXNlbGVjdC1zbWlsZS91aS1tdWx0aS1zZWxlY3Qtc21pbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktbnVtLWludC1zbGlkZXIvdWktbnVtLWludC1zbGlkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcmVwb3J0LWNoZWNrYm94LXN3aXRjaC1idXR0b24vYmFyc2EtcmVwb3J0LWNoZWNrYm94LXN3aXRjaC1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY29sdW1uLXJvd251bWJlci9iYXJzYS1jb2x1bW4tcm93bnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2FyZC1yb3ctcGF5YW0vYmFyc2EtY2FyZC1yb3ctcGF5YW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcXVlc3Rpb24tcG9zdC9iYXJzYS1xdWVzdGlvbi1wb3N0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLWFkZC1jb21tZW50L2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLWFkZC1jb21tZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWFuc3dlci1jYXJkL2JhcnNhLWFuc3dlci1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jcmVhdG9yLXRpbWUtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbW1lbnRzLXNlY3Rpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItdm90ZS1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hpcC9iYXJzYS1jaGlwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXRhZy1jaGlwL2JhcnNhLXRhZy1jaGlwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLXJlcG9ydC1jYXJkLWZsZXgtdmlldy9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cvYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtdGFnLWNhdGVnb3JpZXMvYmFyc2EtdGFnLWNhdGVnb3JpZXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC9iYXJzYS1jaGF0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtY29udGVudC10b29sYmFyL2JhcnNhLWNoYXQtY29udGVudC10b29sYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWNoYXQtbWVzc2FnZS9iYXJzYS1jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC10aHJlYWQvYmFyc2EtY2hhdC10aHJlYWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC1jb250ZW50L2JhcnNhLWNoYXQtY29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC10b29sYmFyL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFyc2EtY2hhdC1saXN0L2JhcnNhLWNoYXQtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1tb2RhbC9iYXJzYS1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10YWItcm91dGUtbWFuYWdlci9iYXJzYS10YWItcm91dGUtbWFuYWdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1icmVhZGNydW1icy9iYXJzYS1icmVhZGNydW1icy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS10aC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3QvYmFyc2Etcm93LWlubGluZS1hY3Rpb25saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWJwbW4tdmlld2VyL3VpLWJwbW4tdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLWJhci1kb3dubG9hZC1maWxlL2JhcnNhLWJhci1kb3dubG9hZC1maWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLW5vdGlmaWNhdGlvbi12aWV3L3VpLW5vdGlmaWNhdGlvbi12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi1pdGVtLWFjdGlvbnMvbm90aWZpY2F0aW9uLWl0ZW0tYWN0aW9ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1mb3JtLWxheW91dC1wYW5lbC9iYXJzYS1mb3JtLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1yZXBvcnQtY2Fyb3VzZWwtdmlldy91aS1yZXBvcnQtY2Fyb3VzZWwtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1jYXJkLWJhbm5lci9iYXJzYS1jYXJkLWJhbm5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50RGVuc2l0eS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS10aGVtZS9iYXJzYS10aGVtZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1pbWctc2tlbGV0b24vYmFyc2EtaW1nLXNrZWxldG9uLmNvbXBvbmVudCc7XHJcblxyXG4vKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYmFyc2Etc2FwLXVpXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXJzYS1zYXAtdWkubW9kdWxlJztcclxuIl19