@sachin9822/reports-lib 0.0.150 → 0.0.152

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.
@@ -246,9 +246,9 @@ export class AccountingReportComponent {
246
246
  }
247
247
  }
248
248
  AccountingReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccountingReportComponent, deps: [{ token: i1.ReportService }, { token: i2.ExportService }], target: i0.ɵɵFactoryTarget.Component });
249
- AccountingReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AccountingReportComponent, selector: "lib-accounting-report", ngImport: i0, template: "<lib-search-filter [ReportName]=\"ReportName\" (searchClicked)=\"getReport($event)\">\n</lib-search-filter>\n\n<lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\" [metaDataOne]=\"leftData\"\n [metaDataTwo]=\"rightData\" (exportEvent)=\"handleExport($event)\" (searchEvent)=\"onSearch($event)\"></lib-metadata>\n\n<div style=\"position: relative;\">\n <lib-page-size-selector [totalEntries]=\"accountingReportModel?.accountingReportEntriesList?.length\"\n [defaultSize]=\"'15'\" [gridApi]=\"gridApi\">\n ></lib-page-size-selector>\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\"\n [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\"\n [suppressRowHoverHighlight]=\"false\" [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\n </ag-grid-angular>\n</div>", styles: ["::ng-deep .compact-grid{font-weight:500!important;line-height:1.1!important}::ng-deep .compact-grid .ag-header-cell{padding:1px 2px!important;font-size:10px!important;font-weight:700!important;line-height:1.2!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background-color:#f8f9fa;border-right:1px solid #e0e0e0}::ng-deep .compact-grid .ag-header-cell-text{font-size:10px!important;font-weight:700!important;text-align:center!important;width:100%}::ng-deep .ag-theme-alpine .ag-header-cell-label{white-space:normal;line-height:1.2;text-align:center}::ng-deep .compact-grid .ag-cell{cursor:default!important;border-right:1px solid #e0e0e0;padding:2px 4px!important;font-size:9px!important;display:flex!important;align-items:center!important}::ng-deep .compact-grid .ag-cell-value{cursor:text!important;font-size:9px!important;padding:0 3px 0 2!important}::ng-deep .compact-grid .ag-right-aligned-cell{text-align:right!important;justify-content:flex-end!important;text-overflow:\"ellipsis\"}::ng-deep .ag-left-cols-cell{text-align:left!important;text-overflow:ellipsis!important}::ng-deep .compact-grid .ag-center-cols-cell{text-align:center!important;justify-content:center!important}::ng-deep .compact-grid .ag-row{min-height:20px!important;max-height:none!important;border-bottom:1px solid #f0f0f0}::ng-deep .compact-grid .ag-row:hover{background-color:#f8f9fa!important}::ng-deep .ag-cell-value.ag-cell-link{cursor:pointer!important}::ng-deep .compact-grid .ag-paging-panel{font-size:11px!important;height:30px!important;padding:4px!important}::ng-deep .compact-grid .ag-paging-button{height:20px!important;width:20px!important;font-size:10px!important;margin:0 2px!important}::ng-deep .compact-grid .ag-paging-description{font-size:11px!important}::ng-deep .compact-grid .compact-cell{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:center!important}::ng-deep .compact-grid .description-cell{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-overflow:clip!important;text-align:left!important;padding:3px 4px!important;line-height:1.5!important;display:block!important;overflow:hidden!important;max-height:none!important}::ng-deep .compact-cell-transaction{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:left!important;padding-left:5px!important}.grid-size{width:100%!important;font-weight:500!important;height:390px!important}::ng-deep .ag-root{-webkit-user-select:text!important;user-select:text!important}::ng-deep .ag-cell{-webkit-user-select:text!important;user-select:text!important}\n"], dependencies: [{ kind: "component", type: i3.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: i4.PageSizeSelectorComponent, selector: "lib-page-size-selector", inputs: ["pageSizeArray", "defaultSize", "totalEntries", "gridApi"] }, { kind: "component", type: i5.MetadataComponent, selector: "lib-metadata", inputs: ["metaDataOne", "metaDataTwo", "showmetaDataOne", "showmetaDataTwo", "reportName"], outputs: ["searchEvent", "exportEvent"] }, { kind: "component", type: i6.SearchFilterComponent, selector: "lib-search-filter", inputs: ["ReportName"], outputs: ["searchClicked"] }] });
249
+ AccountingReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AccountingReportComponent, selector: "lib-accounting-report", ngImport: i0, template: "<lib-search-filter [ReportName]=\"ReportName\" (searchClicked)=\"getReport($event)\">\r\n</lib-search-filter>\r\n\r\n<lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\" [metaDataOne]=\"leftData\"\r\n [metaDataTwo]=\"rightData\" (exportEvent)=\"handleExport($event)\" (searchEvent)=\"onSearch($event)\"></lib-metadata>\r\n\r\n<div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"accountingReportModel?.accountingReportEntriesList?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApi\">\r\n ></lib-page-size-selector>\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\"\r\n [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\"\r\n [suppressRowHoverHighlight]=\"false\" [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n</div>", styles: ["::ng-deep .compact-grid{font-weight:500!important;line-height:1.1!important}::ng-deep .compact-grid .ag-header-cell{padding:1px 2px!important;font-size:10px!important;font-weight:700!important;line-height:1.2!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background-color:#f8f9fa;border-right:1px solid #e0e0e0}::ng-deep .compact-grid .ag-header-cell-text{font-size:10px!important;font-weight:700!important;text-align:center!important;width:100%}::ng-deep .ag-theme-alpine .ag-header-cell-label{white-space:normal;line-height:1.2;text-align:center}::ng-deep .compact-grid .ag-cell{cursor:default!important;border-right:1px solid #e0e0e0;padding:2px 4px!important;font-size:9px!important;display:flex!important;align-items:center!important}::ng-deep .compact-grid .ag-cell-value{cursor:text!important;font-size:9px!important;padding:0 3px 0 2!important}::ng-deep .compact-grid .ag-right-aligned-cell{text-align:right!important;justify-content:flex-end!important;text-overflow:\"ellipsis\"}::ng-deep .ag-left-cols-cell{text-align:left!important;text-overflow:ellipsis!important}::ng-deep .compact-grid .ag-center-cols-cell{text-align:center!important;justify-content:center!important}::ng-deep .compact-grid .ag-row{min-height:20px!important;max-height:none!important;border-bottom:1px solid #f0f0f0}::ng-deep .compact-grid .ag-row:hover{background-color:#f8f9fa!important}::ng-deep .ag-cell-value.ag-cell-link{cursor:pointer!important}::ng-deep .compact-grid .ag-paging-panel{font-size:11px!important;height:30px!important;padding:4px!important}::ng-deep .compact-grid .ag-paging-button{height:20px!important;width:20px!important;font-size:10px!important;margin:0 2px!important}::ng-deep .compact-grid .ag-paging-description{font-size:11px!important}::ng-deep .compact-grid .compact-cell{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:center!important}::ng-deep .compact-grid .description-cell{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-overflow:clip!important;text-align:left!important;padding:3px 4px!important;line-height:1.5!important;display:block!important;overflow:hidden!important;max-height:none!important}::ng-deep .compact-cell-transaction{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:left!important;padding-left:5px!important}.grid-size{width:100%!important;font-weight:500!important;height:390px!important}::ng-deep .ag-root{-webkit-user-select:text!important;user-select:text!important}::ng-deep .ag-cell{-webkit-user-select:text!important;user-select:text!important}\n"], dependencies: [{ kind: "component", type: i3.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: i4.PageSizeSelectorComponent, selector: "lib-page-size-selector", inputs: ["pageSizeArray", "defaultSize", "totalEntries", "gridApi"] }, { kind: "component", type: i5.MetadataComponent, selector: "lib-metadata", inputs: ["metaDataOne", "metaDataTwo", "showmetaDataOne", "showmetaDataTwo", "reportName"], outputs: ["searchEvent", "exportEvent"] }, { kind: "component", type: i6.SearchFilterComponent, selector: "lib-search-filter", inputs: ["ReportName"], outputs: ["searchClicked"] }] });
250
250
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AccountingReportComponent, decorators: [{
251
251
  type: Component,
252
- args: [{ selector: 'lib-accounting-report', template: "<lib-search-filter [ReportName]=\"ReportName\" (searchClicked)=\"getReport($event)\">\n</lib-search-filter>\n\n<lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\" [metaDataOne]=\"leftData\"\n [metaDataTwo]=\"rightData\" (exportEvent)=\"handleExport($event)\" (searchEvent)=\"onSearch($event)\"></lib-metadata>\n\n<div style=\"position: relative;\">\n <lib-page-size-selector [totalEntries]=\"accountingReportModel?.accountingReportEntriesList?.length\"\n [defaultSize]=\"'15'\" [gridApi]=\"gridApi\">\n ></lib-page-size-selector>\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\"\n [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\"\n [suppressRowHoverHighlight]=\"false\" [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\n </ag-grid-angular>\n</div>", styles: ["::ng-deep .compact-grid{font-weight:500!important;line-height:1.1!important}::ng-deep .compact-grid .ag-header-cell{padding:1px 2px!important;font-size:10px!important;font-weight:700!important;line-height:1.2!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background-color:#f8f9fa;border-right:1px solid #e0e0e0}::ng-deep .compact-grid .ag-header-cell-text{font-size:10px!important;font-weight:700!important;text-align:center!important;width:100%}::ng-deep .ag-theme-alpine .ag-header-cell-label{white-space:normal;line-height:1.2;text-align:center}::ng-deep .compact-grid .ag-cell{cursor:default!important;border-right:1px solid #e0e0e0;padding:2px 4px!important;font-size:9px!important;display:flex!important;align-items:center!important}::ng-deep .compact-grid .ag-cell-value{cursor:text!important;font-size:9px!important;padding:0 3px 0 2!important}::ng-deep .compact-grid .ag-right-aligned-cell{text-align:right!important;justify-content:flex-end!important;text-overflow:\"ellipsis\"}::ng-deep .ag-left-cols-cell{text-align:left!important;text-overflow:ellipsis!important}::ng-deep .compact-grid .ag-center-cols-cell{text-align:center!important;justify-content:center!important}::ng-deep .compact-grid .ag-row{min-height:20px!important;max-height:none!important;border-bottom:1px solid #f0f0f0}::ng-deep .compact-grid .ag-row:hover{background-color:#f8f9fa!important}::ng-deep .ag-cell-value.ag-cell-link{cursor:pointer!important}::ng-deep .compact-grid .ag-paging-panel{font-size:11px!important;height:30px!important;padding:4px!important}::ng-deep .compact-grid .ag-paging-button{height:20px!important;width:20px!important;font-size:10px!important;margin:0 2px!important}::ng-deep .compact-grid .ag-paging-description{font-size:11px!important}::ng-deep .compact-grid .compact-cell{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:center!important}::ng-deep .compact-grid .description-cell{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-overflow:clip!important;text-align:left!important;padding:3px 4px!important;line-height:1.5!important;display:block!important;overflow:hidden!important;max-height:none!important}::ng-deep .compact-cell-transaction{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:left!important;padding-left:5px!important}.grid-size{width:100%!important;font-weight:500!important;height:390px!important}::ng-deep .ag-root{-webkit-user-select:text!important;user-select:text!important}::ng-deep .ag-cell{-webkit-user-select:text!important;user-select:text!important}\n"] }]
252
+ args: [{ selector: 'lib-accounting-report', template: "<lib-search-filter [ReportName]=\"ReportName\" (searchClicked)=\"getReport($event)\">\r\n</lib-search-filter>\r\n\r\n<lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\" [metaDataOne]=\"leftData\"\r\n [metaDataTwo]=\"rightData\" (exportEvent)=\"handleExport($event)\" (searchEvent)=\"onSearch($event)\"></lib-metadata>\r\n\r\n<div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"accountingReportModel?.accountingReportEntriesList?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApi\">\r\n ></lib-page-size-selector>\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\"\r\n [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\"\r\n [suppressRowHoverHighlight]=\"false\" [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n</div>", styles: ["::ng-deep .compact-grid{font-weight:500!important;line-height:1.1!important}::ng-deep .compact-grid .ag-header-cell{padding:1px 2px!important;font-size:10px!important;font-weight:700!important;line-height:1.2!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background-color:#f8f9fa;border-right:1px solid #e0e0e0}::ng-deep .compact-grid .ag-header-cell-text{font-size:10px!important;font-weight:700!important;text-align:center!important;width:100%}::ng-deep .ag-theme-alpine .ag-header-cell-label{white-space:normal;line-height:1.2;text-align:center}::ng-deep .compact-grid .ag-cell{cursor:default!important;border-right:1px solid #e0e0e0;padding:2px 4px!important;font-size:9px!important;display:flex!important;align-items:center!important}::ng-deep .compact-grid .ag-cell-value{cursor:text!important;font-size:9px!important;padding:0 3px 0 2!important}::ng-deep .compact-grid .ag-right-aligned-cell{text-align:right!important;justify-content:flex-end!important;text-overflow:\"ellipsis\"}::ng-deep .ag-left-cols-cell{text-align:left!important;text-overflow:ellipsis!important}::ng-deep .compact-grid .ag-center-cols-cell{text-align:center!important;justify-content:center!important}::ng-deep .compact-grid .ag-row{min-height:20px!important;max-height:none!important;border-bottom:1px solid #f0f0f0}::ng-deep .compact-grid .ag-row:hover{background-color:#f8f9fa!important}::ng-deep .ag-cell-value.ag-cell-link{cursor:pointer!important}::ng-deep .compact-grid .ag-paging-panel{font-size:11px!important;height:30px!important;padding:4px!important}::ng-deep .compact-grid .ag-paging-button{height:20px!important;width:20px!important;font-size:10px!important;margin:0 2px!important}::ng-deep .compact-grid .ag-paging-description{font-size:11px!important}::ng-deep .compact-grid .compact-cell{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:center!important}::ng-deep .compact-grid .description-cell{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-overflow:clip!important;text-align:left!important;padding:3px 4px!important;line-height:1.5!important;display:block!important;overflow:hidden!important;max-height:none!important}::ng-deep .compact-cell-transaction{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;align-items:left!important;padding-left:5px!important}.grid-size{width:100%!important;font-weight:500!important;height:390px!important}::ng-deep .ag-root{-webkit-user-select:text!important;user-select:text!important}::ng-deep .ag-cell{-webkit-user-select:text!important;user-select:text!important}\n"] }]
253
253
  }], ctorParameters: function () { return [{ type: i1.ReportService }, { type: i2.ExportService }]; } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZy1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnRpbmctcmVwb3J0L2FjY291bnRpbmctcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50aW5nLXJlcG9ydC9hY2NvdW50aW5nLXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFvQjdDLE1BQU0sT0FBTyx5QkFBeUI7SUEyR3BDLFlBQW9CLGFBQTRCLEVBQVUsYUFBNEI7UUFBbEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhHdEYsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUtsQyxrQkFBYSxHQUE0QjtZQUN2QyxTQUFTLEVBQUUsWUFBWTtZQUN2QixPQUFPLEVBQUUsWUFBWTtZQUNyQixlQUFlLEVBQUUsS0FBSztZQUN0QixlQUFlLEVBQUUsS0FBSztZQUN0Qiw0QkFBNEIsRUFBRSxLQUFLO1lBQ25DLGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztRQUtGLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUViLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFdEIseUJBQW9CLEdBQVcsT0FBTyxDQUFDO1FBQ3ZD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QyxpQkFBaUIsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2RixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDO1lBQ3RDLGNBQWMsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUs7WUFDdkMsZUFBZSxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSztZQUN2QyxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLO1lBQ2pDLFdBQVcsRUFBRSxLQUFLLENBQUMsK0NBQStDO1NBQ25FLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7c0hBdlRVLHlCQUF5QjswR0FBekIseUJBQXlCLDZEQ3pCdEMsMG9DQWdCTTsyRkRTTyx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY291bnRpbmdSZXBvcnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50aW5nLXJlcG9ydC9hY2NvdW50aW5nLXJlcG9ydC1tb2RlbCc7XG5pbXBvcnQgeyBDb2xEZWYsIENvbHVtbkFwaSwgR3JpZEFwaSwgR3JpZFJlYWR5RXZlbnQgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBSZXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVwb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXhwb3J0U2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9leHBvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50aW5nUmVwb3J0UmVxdWVzdCB7XG4gIHN0YXJ0RGF0ZTogc3RyaW5nO1xuICBlbmREYXRlOiBzdHJpbmc7XG4gIHNlbmRDb3VudHJ5Q29kZTogc3RyaW5nO1xuICByZWN2Q291bnRyeUNvZGU6IHN0cmluZztcbiAgYnVzaW5lc3NQYXJ0bmVyQ29ycmVsYXRpb25JRDogc3RyaW5nO1xuICB0cmFuc2FjdGlvblN0YXR1czogc3RyaW5nO1xuICBwYXlvdXRDdXJyZW5jeTogc3RyaW5nO1xuICB0cmFuc2FjdGlvblR5cGU6IHN0cmluZztcbiAgYnJhbmNoQ29kZTogc3RyaW5nO1xuICBjb21wYW55Q29kZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYWNjb3VudGluZy1yZXBvcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudGluZy1yZXBvcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2NvdW50aW5nLXJlcG9ydC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRpbmdSZXBvcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgUmVwb3J0TmFtZTogc3RyaW5nID0gXCJBY2NvdW50aW5nXCI7XG4gIHJlcG9ydFVzZXI6IGFueTtcbiAgcmVwb3J0VGltZTogYW55O1xuICByZXBvcnRQZXJpb2Q6IGFueTtcblxuICByZXBvcnRSZXF1ZXN0OiBBY2NvdW50aW5nUmVwb3J0UmVxdWVzdCA9IHtcbiAgICBzdGFydERhdGU6IFwiMjAyNS0wNi0wMVwiLFxuICAgIGVuZERhdGU6IFwiMjAyNS0xMS0wOFwiLFxuICAgIHNlbmRDb3VudHJ5Q29kZTogXCJBTExcIixcbiAgICByZWN2Q291bnRyeUNvZGU6IFwiQUxMXCIsXG4gICAgYnVzaW5lc3NQYXJ0bmVyQ29ycmVsYXRpb25JRDogXCJBTExcIixcbiAgICB0cmFuc2FjdGlvblN0YXR1czogXCJBTExcIixcbiAgICBwYXlvdXRDdXJyZW5jeTogXCJBTExcIixcbiAgICB0cmFuc2FjdGlvblR5cGU6IFwiQUxMXCIsXG4gICAgYnJhbmNoQ29kZTogXCJBTExcIixcbiAgICBjb21wYW55Q29kZTogXCJBTExcIlxuICB9O1xuXG4gIGxlZnREYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICByaWdodERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgc2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XG4gIHJvd0RhdGEgPSBbXTtcbiAgYWNjb3VudGluZ1JlcG9ydE1vZGVsOiBBY2NvdW50aW5nUmVwb3J0TW9kZWw7XG4gIHBhZ2VTaXplOiBudW1iZXIgPSAxNTtcblxuICBzZWxlY3RlZEV4cG9ydE9wdGlvbjogc3RyaW5nID0gJ2V4Y2VsJztcbiAgZXhwb3J0Rm9ybWF0cyA9IFt7IGZvcm1hdE5hbWU6IFwiRXhjZWxcIiwgY29kZTogJ2V4Y2VsJyB9LCB7IGZvcm1hdE5hbWU6IFwiUERGXCIsIGNvZGU6ICdwZGYnIH0sIHsgZm9ybWF0TmFtZTogXCJDU1ZcIiwgY29kZTogJ2NzdicgfV1cblxuXG5cbiAgZGVmYXVsdENvbERlZjogQ29sRGVmID0ge1xuICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgbWluV2lkdGg6IDQwLFxuICAgIHN1cHByZXNzU2l6ZVRvRml0OiBmYWxzZSxcblxuICAgIC8vIPCflLkgSGVhZGVyIHdyYXBwaW5nXG4gICAgd3JhcEhlYWRlclRleHQ6IHRydWUsXG4gICAgYXV0b0hlYWRlckhlaWdodDogdHJ1ZSxcblxuICAgIC8vIPCflLkgQ2VsbCB3cmFwcGluZ1xuICAgIHdyYXBUZXh0OiB0cnVlLFxuICAgIGF1dG9IZWlnaHQ6IHRydWVcbiAgfTtcblxuICAvLyBjb2x1bW5EZWZzOiBDb2xEZWZbXSA9IFtcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdCdXNpbmVzc0RhdGUnLCBmaWVsZDogJ2J1c2luZXNzRGF0ZScsIGZsZXg6IDEuMiwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDgwLCB0b29sdGlwRmllbGQ6ICdidXNpbmVzc0RhdGUnIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnVHhuRGF0ZSZUaW1lJywgZmllbGQ6ICd0cmFuc2FjdGlvbkRhdGVBbmRUaW1lJywgZmxleDogMS44LCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwtdHJhbnNhY3Rpb24nLCBtaW5XaWR0aDogODAsIHRvb2x0aXBGaWVsZDogJ3RyYW5zYWN0aW9uRGF0ZUFuZFRpbWUnLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXREYXRlIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnVHJhbnNhY3Rpb24gTnVtYmVyJywgZmllbGQ6ICd0cmFuc2FjdGlvbk51bWJlcicsIGZsZXg6IDEuMiwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDkwLCB0b29sdGlwRmllbGQ6ICd0cmFuc2FjdGlvbk51bWJlcicgfSxcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTZW5kQ2xpZW50JywgZmllbGQ6ICdzZW5kQ2xpZW50JywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogODAsIHRvb2x0aXBGaWVsZDogJ3NlbmRDbGllbnQnIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnUHJpbmNpcGxlIFNlbmRDbGllbnQgKElmIEFwcGxpY2FibGUpJywgZmllbGQ6ICdwcmluY2lwbGVTZW5kQ2xpZW50JywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTYwLCB0b29sdGlwRmllbGQ6ICdwcmluY2lwbGVTZW5kQ2xpZW50JyB9LFxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1JlY2VpdmVDbGllbnQnLCBmaWVsZDogJ3JlY2VpdmVDbGllbnQnLCBmbGV4OiAxLjIsIGNlbGxDbGFzczogJ2FnLWxlZnQtY29scy1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxMjAsIHRvb2x0aXBGaWVsZDogJ3JlY2VpdmVDbGllbnQnIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnUHJpbmNpcGxlIFJlY2VpdmVDbGllbnQgKElmIEFwcGxpY2FibGUpJywgZmllbGQ6ICdwcmluY2lwbGVSZWNlaXZlQ2xpZW50JywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTcwLCB0b29sdGlwRmllbGQ6ICdwcmluY2lwbGVSZWNlaXZlQ2xpZW50JyB9LFxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1JlY2VpdmVDY3knLCBmaWVsZDogJ3JlY2VpdmVDdXJyZW5jeScsIGZsZXg6IDAuOCwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDgwLCB0b29sdGlwRmllbGQ6ICdyZWNlaXZlQ3VycmVuY3knIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnQW1vdW50UGFpZCcsIGZpZWxkOiAnYW1vdW50UGFpZCcsIGZsZXg6IDEuMiwgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZm9ybWF0TnVtYmVyLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDEwMCwgdG9vbHRpcFZhbHVlR2V0dGVyOiAocGFyYW1zKSA9PiB0aGlzLmZvcm1hdE51bWJlcihwYXJhbXMpIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnU2VuZENjeScsIGZpZWxkOiAnc2VuZEN1cnJlbmN5JywgZmxleDogMC44LCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogODAsIHRvb2x0aXBGaWVsZDogJ3NlbmRDdXJyZW5jeScgfSxcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTZXJ2aWNlRmVlJywgZmllbGQ6ICdzZXJ2aWNlRmVlJywgZmxleDogMS4yLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXROdW1iZXIsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogOTAsIHRvb2x0aXBWYWx1ZUdldHRlcjogKHBhcmFtcykgPT4gdGhpcy5mb3JtYXROdW1iZXIocGFyYW1zKSB9LFxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1RheCcsIGZpZWxkOiAndGF4JywgZmxleDogMS4yLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXROdW1iZXIsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogNzAsIHRvb2x0aXBWYWx1ZUdldHRlcjogKHBhcmFtcykgPT4gdGhpcy5mb3JtYXROdW1iZXIocGFyYW1zKSB9LFxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1ByaW5jaXBsZVNlbmQgQW1vdW50JywgZmllbGQ6ICdwcmluY2lwbGVTZW5kQW1vdW50JywgZmxleDogMS4yLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXROdW1iZXIsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTMwLCB0b29sdGlwVmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHBhcmFtcykgfSxcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdUcmFuc2FjdGlvbiBTdGF0dXMnLCBmaWVsZDogJ3RyYW5zYWN0aW9uU3RhdHVzJywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTIwLCB0b29sdGlwRmllbGQ6ICd0cmFuc2FjdGlvblN0YXR1cycgfSxcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTZXR0bGVtZW50Q2N5JywgZmllbGQ6ICdzZXR0bGVtZW50Q3VycmVuY3knLCBmbGV4OiAwLjgsIGNlbGxDbGFzczogJ2FnLWxlZnQtY29scy1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxMDAsIHRvb2x0aXBGaWVsZDogJ3NldHRsZW1lbnRDdXJyZW5jeScgfSxcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdDbGllbnRTZXR0bCAoaW4gU0NjeSknLCBmaWVsZDogJ2NsaWVudFNldHRsZW1lbnRJblNDY3knLCBmbGV4OiAxLjIsIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdE51bWJlciwgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxNDAsIHRvb2x0aXBWYWx1ZUdldHRlcjogKHBhcmFtcykgPT4gdGhpcy5mb3JtYXROdW1iZXIocGFyYW1zKSB9LFxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ0NsaWVudFNldHRsIChpbiBVU0QpJywgZmllbGQ6ICdjbGllbnRTZXR0bGVtZW50SW5VU0QnLCBmbGV4OiAxLjIsIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdE51bWJlciwgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxNDAsIHRvb2x0aXBWYWx1ZUdldHRlcjogKHBhcmFtcykgPT4gdGhpcy5mb3JtYXROdW1iZXIocGFyYW1zKSB9LFxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1NoYXJlVHlwZScsIGZpZWxkOiAnc2hhcmVUeXBlJywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTAwLCB0b29sdGlwRmllbGQ6ICdzaGFyZVR5cGUnIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnU2hhcmVWYWx1ZScsIGZpZWxkOiAnc2hhcmVWYWx1ZScsIGZsZXg6IDEuMiwgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZm9ybWF0TnVtYmVyLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDEwMCwgdG9vbHRpcFZhbHVlR2V0dGVyOiAocGFyYW1zKSA9PiB0aGlzLmZvcm1hdE51bWJlcihwYXJhbXMpIH0sXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnU2VuZC9SZWNlaXZlIEZlZUNjeScsIGZpZWxkOiAnc2VuZFJlY2VpdmVGZWVDY3knLCBmbGV4OiAxLjIsIGNlbGxDbGFzczogJ2FnLWxlZnQtY29scy1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxNTAsIHRvb2x0aXBGaWVsZDogJ3NlbmRSZWNlaXZlRmVlQ2N5JyB9LFxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1NoYXJlQW10IChpbiBVU0QpJywgZmllbGQ6ICdzaGFyZUFtb3VudEluVVNEJywgZmxleDogMS4yLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXROdW1iZXIsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTMwLCB0b29sdGlwVmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHBhcmFtcykgfSxcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTZXR0bGVtZW50IFJhdGUnLCBmaWVsZDogJ3NldHRsZW1lbnRSYXRlJywgZmxleDogMS4yLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXROdW1iZXIsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTMwLCB0b29sdGlwVmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHBhcmFtcykgfSxcbiAgLy8gXTtcblxuXG4gIGNvbHVtbkRlZnM6IENvbERlZltdID0gW1xuICAgIHsgaGVhZGVyTmFtZTogJ0J1c2luZXNzRGF0ZScsIGZpZWxkOiAnYnVzaW5lc3NEYXRlJywgdG9vbHRpcEZpZWxkOiAnYnVzaW5lc3NEYXRlJyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1R4bkRhdGUmVGltZScsIGZpZWxkOiAndHJhbnNhY3Rpb25EYXRlQW5kVGltZScsIHRvb2x0aXBGaWVsZDogJ3RyYW5zYWN0aW9uRGF0ZUFuZFRpbWUnLCBtaW5XaWR0aDogMTEwLCB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1RyYW5zYWN0aW9uIE51bWJlcicsIGZpZWxkOiAndHJhbnNhY3Rpb25OdW1iZXInLCB0b29sdGlwRmllbGQ6ICd0cmFuc2FjdGlvbk51bWJlcicgfSxcbiAgICB7IGhlYWRlck5hbWU6ICdTZW5kQ2xpZW50JywgZmllbGQ6ICdzZW5kQ2xpZW50JywgdG9vbHRpcEZpZWxkOiAnc2VuZENsaWVudCcgfSxcbiAgICB7IGhlYWRlck5hbWU6ICdQcmluY2lwbGUgU2VuZENsaWVudCAoSWYgQXBwbGljYWJsZSknLCBmaWVsZDogJ3ByaW5jaXBsZVNlbmRDbGllbnQnLCB0b29sdGlwRmllbGQ6ICdwcmluY2lwbGVTZW5kQ2xpZW50JyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1JlY2VpdmVDbGllbnQnLCBmaWVsZDogJ3JlY2VpdmVDbGllbnQnLCB0b29sdGlwRmllbGQ6ICdyZWNlaXZlQ2xpZW50JyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1ByaW5jaXBsZSBSZWNlaXZlQ2xpZW50IChJZiBBcHBsaWNhYmxlKScsIGZpZWxkOiAncHJpbmNpcGxlUmVjZWl2ZUNsaWVudCcsIHRvb2x0aXBGaWVsZDogJ3ByaW5jaXBsZVJlY2VpdmVDbGllbnQnIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnUmVjZWl2ZUNjeScsIGZpZWxkOiAncmVjZWl2ZUN1cnJlbmN5JywgdG9vbHRpcEZpZWxkOiAncmVjZWl2ZUN1cnJlbmN5JyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ0Ftb3VudFBhaWQnLCBmaWVsZDogJ2Ftb3VudFBhaWQnLCB0b29sdGlwRmllbGQ6ICdhbW91bnRQYWlkJywgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsJyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1NlbmRDY3knLCBmaWVsZDogJ3NlbmRDdXJyZW5jeScsIHRvb2x0aXBGaWVsZDogJ3NlbmRDdXJyZW5jeScsIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnU2VydmljZUZlZScsIGZpZWxkOiAnc2VydmljZUZlZScsIHRvb2x0aXBGaWVsZDogJ3NlcnZpY2VGZWUnLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnVGF4JywgZmllbGQ6ICd0YXgnLCB0b29sdGlwRmllbGQ6ICd0YXgnLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnUHJpbmNpcGxlU2VuZCBBbW91bnQnLCBmaWVsZDogJ3ByaW5jaXBsZVNlbmRBbW91bnQnLCB0b29sdGlwRmllbGQ6ICdwcmluY2lwbGVTZW5kQW1vdW50JywgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsJyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1RyYW5zYWN0aW9uIFN0YXR1cycsIGZpZWxkOiAndHJhbnNhY3Rpb25TdGF0dXMnLCB0b29sdGlwRmllbGQ6ICd0cmFuc2FjdGlvblN0YXR1cycgfSxcbiAgICB7IGhlYWRlck5hbWU6ICdTZXR0bGVtZW50Q2N5JywgZmllbGQ6ICdzZXR0bGVtZW50Q3VycmVuY3knLCB0b29sdGlwRmllbGQ6ICdzZXR0bGVtZW50Q3VycmVuY3knLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnQ2xpZW50U2V0dGwgKGluIFNDY3kpJywgZmllbGQ6ICdjbGllbnRTZXR0bGVtZW50SW5TQ2N5JywgdG9vbHRpcEZpZWxkOiAnY2xpZW50U2V0dGxlbWVudEluU0NjeScsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCcgfSxcbiAgICB7IGhlYWRlck5hbWU6ICdDbGllbnRTZXR0bCAoaW4gVVNEKScsIGZpZWxkOiAnY2xpZW50U2V0dGxlbWVudEluVVNEJywgdG9vbHRpcEZpZWxkOiAnY2xpZW50U2V0dGxlbWVudEluVVNEJywgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsJyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1NoYXJlVHlwZScsIGZpZWxkOiAnc2hhcmVUeXBlJywgdG9vbHRpcEZpZWxkOiAnc2hhcmVUeXBlJyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1NoYXJlVmFsdWUnLCBmaWVsZDogJ3NoYXJlVmFsdWUnLCB0b29sdGlwRmllbGQ6ICdzaGFyZVZhbHVlJywgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsJyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1NlbmQvUmVjZWl2ZSBGZWVDY3knLCBmaWVsZDogJ3NlbmRSZWNlaXZlRmVlQ2N5JywgdG9vbHRpcEZpZWxkOiAnc2VuZFJlY2VpdmVGZWVDY3knIH0sXG4gICAgeyBoZWFkZXJOYW1lOiAnU2hhcmVBbXQgKGluIFVTRCknLCBmaWVsZDogJ3NoYXJlQW1vdW50SW5VU0QnLCB0b29sdGlwRmllbGQ6ICdzaGFyZUFtb3VudEluVVNEJywgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsJyB9LFxuICAgIHsgaGVhZGVyTmFtZTogJ1NldHRsZW1lbnQgUmF0ZScsIGZpZWxkOiAnc2V0dGxlbWVudFJhdGUnLCB0b29sdGlwRmllbGQ6ICdzZXR0bGVtZW50UmF0ZScsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCcgfSxcbiAgXTtcblxuXG5cblxuXG4gIGdyaWRBcGk6IEdyaWRBcGk8YW55Pjs7XG4gIGdyaWRDb2x1bW5BcGk6IENvbHVtbkFwaTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcG9ydFNlcnZpY2U6IFJlcG9ydFNlcnZpY2UsIHByaXZhdGUgZXhwb3J0U2VydmljZTogRXhwb3J0U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuXG4gIHB1YmxpYyBnZXRBY2NvdW50aW5nUmVwb3J0KHJlcXVlc3Q/OiBBY2NvdW50aW5nUmVwb3J0UmVxdWVzdCkge1xuXG4gICAgY29uc3QgZmluYWxSZXEgPSByZXF1ZXN0ID8/IHRoaXMucmVwb3J0UmVxdWVzdDtcblxuICAgIHRoaXMucmVwb3J0U2VydmljZS5nZXRBY2NvdW50aW5nUmVwb3J0KGZpbmFsUmVxKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbCA9IGRhdGE7XG4gICAgICAvLyB0aGlzLnJvd0RhdGEgPSB0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5hY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3Q7XG5cbiAgICAgIHRoaXMucm93RGF0YSA9IHRoaXMuYWNjb3VudGluZ1JlcG9ydE1vZGVsLmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdC5tYXAoZW50cnkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgIGJ1c2luZXNzRGF0ZTogZm9ybWF0RGF0ZShlbnRyeS5idXNpbmVzc0RhdGUsICdkZC9NTS95eXl5JywgJ2VuLVVTJyksXG4gICAgICAgICAgdHJhbnNhY3Rpb25EYXRlQW5kVGltZTogZm9ybWF0RGF0ZShlbnRyeS50cmFuc2FjdGlvbkRhdGVBbmRUaW1lLCAnZGQvTU0veXl5eSBoaDptbSBhJywgJ2VuLVVTJyksXG5cbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlcG9ydFVzZXIgPSB0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5yZXBvcnRVc2VyO1xuICAgICAgdGhpcy5yZXBvcnRUaW1lID0gZm9ybWF0RGF0ZShuZXcgRGF0ZSgpLCAnZGQvTU0veXl5eSBoaDptbSBhJywgJ2VuLVVTJyk7XG4gICAgICB0aGlzLnJlcG9ydFBlcmlvZCA9IGAke2Zvcm1hdERhdGUoZmluYWxSZXEuc3RhcnREYXRlLCAnZGQvTU0veXl5eScsICdlbi1VUycpfSAtICR7Zm9ybWF0RGF0ZShmaW5hbFJlcS5lbmREYXRlLCAnZGQvTU0veXl5eScsICdlbi1VUycpfWA7XG5cbiAgICAgIHRoaXMubGVmdERhdGEgPSB7XG4gICAgICAgICdSZXBvcnQgVXNlciAnOiBgJHt0aGlzLnJlcG9ydFVzZXJ9YCxcbiAgICAgICAgJ1JlcG9ydCBUaW1lJzogYCR7dGhpcy5yZXBvcnRUaW1lfWAsXG4gICAgICB9XG5cbiAgICAgIHRoaXMucmlnaHREYXRhID0ge1xuICAgICAgICAnQ29tcGFueSc6IFwiWHByZXNzIE1vbmV5XCIsXG4gICAgICAgICdSZXBvcnQgUGVyaW9kJzogYCR7dGhpcy5yZXBvcnRQZXJpb2R9YCxcbiAgICAgIH1cblxuXG5cbiAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5hY2NvdW50aW5nUmVwb3J0TW9kZWwpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5yb3dEYXRhKTtcbiAgICB9LCBlcnJvciA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgfSk7XG4gIH1cblxuXG4gIGFzeW5jIGhhbmRsZUV4cG9ydChvcHRpb246IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRFeHBvcnRPcHRpb24gPSBvcHRpb247XG4gICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkRXhwb3J0T3B0aW9uKSB7XG4gICAgICBjYXNlICdleGNlbCc6XG4gICAgICAgIHRoaXMuZXhwb3J0VG9FeGNlbCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3BkZic6XG4gICAgICAgIHRoaXMuZXhwb3J0VG9QZGYoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjc3YnOlxuICAgICAgICB0aGlzLmV4cG9ydFRvQ3N2KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYWxlcnQoJ1BsZWFzZSBzZWxlY3QgYW4gZXhwb3J0IGZvcm1hdC4nKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgb25TZWFyY2godGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplID0gKHN0cjogYW55KTogc3RyaW5nID0+XG4gICAgICBzdHI/LnRvU3RyaW5nKClcbiAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgLnJlcGxhY2UoLywvZywgJycpICAgICAgICAgICAvLyByZW1vdmUgY29tbWFzXG4gICAgICAgIC5yZXBsYWNlKC9cXHMrL2csICcgJykgICAgICAgIC8vIG5vcm1hbGl6ZSBhbGwgc3BhY2VzIHRvIG9uZVxuICAgICAgICAucmVwbGFjZSgvW1xcdTIwMEItXFx1MjAwRFxcdUZFRkZdL2csICcnKSAvLyByZW1vdmUgaW52aXNpYmxlIGNoYXJzXG4gICAgICAgIC50cmltKCk7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcbiAgICBjb25zdCBzZWFyY2ggPSBub3JtYWxpemUodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGEgPSB0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5hY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3QubWFwKGVudHJ5ID0+ICh7XG4gICAgICAuLi5lbnRyeSxcbiAgICAgIGJ1c2luZXNzRGF0ZTogZm9ybWF0RGF0ZShlbnRyeS5idXNpbmVzc0RhdGUsICdkZC9NTS95eXl5JywgJ2VuLVVTJyksXG4gICAgICB0cmFuc2FjdGlvbkRhdGVBbmRUaW1lOiBmb3JtYXREYXRlKGVudHJ5LnRyYW5zYWN0aW9uRGF0ZUFuZFRpbWUsICdkZC9NTS95eXl5IGhoOm1tIGEnLCAnZW4tVVMnKSxcbiAgICB9KSk7XG5cbiAgICBpZiAoc2VhcmNoKSB7XG4gICAgICB0aGlzLnJvd0RhdGEgPSBmb3JtYXR0ZWREYXRhLmZpbHRlcihpdGVtID0+XG4gICAgICAgIE9iamVjdC52YWx1ZXMoaXRlbSkuc29tZSh2YWx1ZSA9PlxuICAgICAgICAgIG5vcm1hbGl6ZSh2YWx1ZSkuaW5jbHVkZXMoc2VhcmNoKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvd0RhdGEgPSBmb3JtYXR0ZWREYXRhO1xuICAgIH1cblxuICB9XG5cblxuICAvLyBwdWJsaWMgZm9ybWF0RGF0ZShwYXJhbXM6IGFueSk6IHN0cmluZyB7XG4gIC8vICAgcmV0dXJuIGZvcm1hdERhdGUobmV3IERhdGUocGFyYW1zLnZhbHVlKSwgJ2RkL01NL3l5eXknLCAnZW4tVVMnKTtcbiAgLy8gfVxuXG4gIG9uR3JpZFJlYWR5KHBhcmFtczogR3JpZFJlYWR5RXZlbnQpIHtcbiAgICB0aGlzLmdyaWRBcGkgPSBwYXJhbXMuYXBpO1xuICAgIHRoaXMuZ3JpZENvbHVtbkFwaSA9IHBhcmFtcy5jb2x1bW5BcGk7XG4gICAgdGhpcy5ncmlkQ29sdW1uQXBpLmF1dG9TaXplQWxsQ29sdW1ucygpO1xuICB9XG5cbiAgZ2V0Um93SGVpZ2h0KHBhcmFtczogYW55KTogbnVtYmVyIHtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHBhcmFtcy5kYXRhPy5kZXNjcmlwdGlvbiB8fCAnJztcbiAgICBpZiAoZGVzY3JpcHRpb24ubGVuZ3RoID4gNTApIHtcbiAgICAgIHJldHVybiA0MDtcbiAgICB9XG4gICAgcmV0dXJuIDIwO1xuICB9XG5cbiAgZm9ybWF0TnVtYmVyKHBhcmFtczogYW55KTogc3RyaW5nIHtcbiAgICBpZiAocGFyYW1zLnZhbHVlID09IG51bGwpIHJldHVybiAnJztcblxuICAgIGNvbnN0IGZpZWxkID0gcGFyYW1zLmNvbERlZi5maWVsZDtcblxuICAgIGlmIChmaWVsZCA9PT0gJ3NldHRsZW1lbnRSYXRlJykge1xuICAgICAgcmV0dXJuIE51bWJlcihwYXJhbXMudmFsdWUpLnRvRml4ZWQoOCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE51bWJlcihwYXJhbXMudmFsdWUpLnRvRml4ZWQoMyk7XG4gIH1cblxuXG5cblxuICBhc3luYyBleHBvcnRUb1BkZigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWNjb3VudGluZ1JlcG9ydE1vZGVsLmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdD8ubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCB0aXRsZSA9IGBYcHJlc3MgTW9uZXkgLSBBY2NvdW50aW5nIFJlcG9ydGA7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4cG9ydFNlcnZpY2UuZ2VuZXJhdGVSZXBvcnRNZXRhZGF0YShbXG4gICAgICBbJ1JlcG9ydCBVc2VyIDogJywgdGhpcy5yZXBvcnRVc2VyXSxcbiAgICAgIFsnUmVwb3J0IFRpbWUgOiAnLCB0aGlzLnJlcG9ydFRpbWVdLFxuICAgICAgWydSZXBvcnQgUGVyaW9kIDogJywgdGhpcy5yZXBvcnRQZXJpb2RdLFxuICAgIF0pO1xuXG4gICAgY29uc3QgeyBoZWFkZXJzLCByb3dzIH0gPSB0aGlzLmV4cG9ydFNlcnZpY2UucHJlcGFyZUV4cG9ydFRhYmxlKHRoaXMuYWNjb3VudGluZ1JlcG9ydE1vZGVsLmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdCwgdGhpcy5jb2x1bW5EZWZzLCB7XG4gICAgICBjdXJyZW5jeUZpZWxkczogWydsb2NhbENyZWRpdCcsICdmb3JleENyZWRpdCcsICdsb2NhbERlYml0JywgJ2ZvcmV4RGViaXQnXVxuICAgIH0pO1xuXG4gICAgYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydFRvUGRmVW5pdmVyc2FsKHRpdGxlLCBtZXRhZGF0YSwgaGVhZGVycywgcm93cywgJ0FjY291bnRpbmctUmVwb3J0LnBkZicpO1xuICB9XG5cbiAgZXhwb3J0VG9FeGNlbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWNjb3VudGluZ1JlcG9ydE1vZGVsLmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdD8ubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCB0aXRsZSA9IGBYcHJlc3MgTW9uZXkgLSBBY2NvdW50aW5nIFJlcG9ydGA7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4cG9ydFNlcnZpY2UuZ2VuZXJhdGVSZXBvcnRNZXRhZGF0YShbXG4gICAgICBbJ1JlcG9ydCBVc2VyJywgdGhpcy5yZXBvcnRVc2VyXSxcbiAgICAgIFsnUmVwb3J0IFRpbWUnLCB0aGlzLnJlcG9ydFRpbWVdLFxuICAgICAgWydSZXBvcnQgUGVyaW9kJywgdGhpcy5yZXBvcnRQZXJpb2RdLFxuXG4gICAgXSk7XG5cbiAgICBjb25zdCB7IGhlYWRlcnMsIHJvd3MgfSA9IHRoaXMuZXhwb3J0U2VydmljZS5wcmVwYXJlRXhwb3J0VGFibGUodGhpcy5hY2NvdW50aW5nUmVwb3J0TW9kZWwuYWNjb3VudGluZ1JlcG9ydEVudHJpZXNMaXN0LCB0aGlzLmNvbHVtbkRlZnMsIHtcbiAgICAgIGN1cnJlbmN5RmllbGRzOiBbJ2xvY2FsQ3JlZGl0JywgJ2ZvcmV4Q3JlZGl0JywgJ2xvY2FsRGViaXQnLCAnZm9yZXhEZWJpdCddXG4gICAgfSk7XG5cbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UuZXhwb3J0VG9FeGNlbFVuaXZlcnNhbCh0aXRsZSwgbWV0YWRhdGEsIGhlYWRlcnMsIHJvd3MsICdBY2NvdW50aW5nLVJlcG9ydC54bHN4Jyk7XG4gIH1cblxuICBleHBvcnRUb0NzdigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWNjb3VudGluZ1JlcG9ydE1vZGVsLmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdD8ubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCB0aXRsZSA9IGBYcHJlc3MgTW9uZXkgLSBBY2NvdW50aW5nIFJlcG9ydGA7XG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmV4cG9ydFNlcnZpY2UuZ2VuZXJhdGVSZXBvcnRNZXRhZGF0YShbXG4gICAgICBbJ1JlcG9ydCBVc2VyJywgdGhpcy5yZXBvcnRVc2VyXSxcbiAgICAgIFsnUmVwb3J0IFRpbWUnLCB0aGlzLnJlcG9ydFRpbWVdLFxuICAgICAgWydSZXBvcnQgUGVyaW9kJywgdGhpcy5yZXBvcnRQZXJpb2RdLFxuICAgIF0pO1xuXG4gICAgY29uc3QgeyBoZWFkZXJzLCByb3dzIH0gPSB0aGlzLmV4cG9ydFNlcnZpY2UucHJlcGFyZUV4cG9ydFRhYmxlKHRoaXMuYWNjb3VudGluZ1JlcG9ydE1vZGVsLmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdCwgdGhpcy5jb2x1bW5EZWZzLCB7XG4gICAgICBjdXJyZW5jeUZpZWxkczogWydsb2NhbENyZWRpdCcsICdmb3JleENyZWRpdCcsICdsb2NhbERlYml0JywgJ2ZvcmV4RGViaXQnXVxuICAgIH0pO1xuXG4gICAgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydFRvQ3N2VW5pdmVyc2FsKHRpdGxlLCBtZXRhZGF0YSwgaGVhZGVycywgcm93cywgJ0FjY291bnRpbmctUmVwb3J0LmNzdicpO1xuICB9XG5cblxuXG5cbiAgZ2V0UmVwb3J0KHBheWxvYWQ6IGFueSkge1xuICAgIGNvbnN0IG1vZGFsID0gcGF5bG9hZD8ubW9kYWwgfHwgcGF5bG9hZDtcblxuICAgIGNvbnN0IHJlcTogQWNjb3VudGluZ1JlcG9ydFJlcXVlc3QgPSB7XG4gICAgICBzdGFydERhdGU6IG5ldyBEYXRlKG1vZGFsLmZyb21EYXRlKS50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXSwgLy8geXl5eS1NTS1kZCBmcm9tIHRoZSBmaWx0ZXJcbiAgICAgIGVuZERhdGU6IG5ldyBEYXRlKG1vZGFsLnRvRGF0ZSkudG9JU09TdHJpbmcoKS5zcGxpdChcIlRcIilbMF0sXG4gICAgICBzZW5kQ291bnRyeUNvZGU6IG1vZGFsLnNlbmRDb3VudHJ5ID8/ICdBTEwnLFxuICAgICAgcmVjdkNvdW50cnlDb2RlOiBtb2RhbC5yZWNlaXZlQ291bnRyeSA/PyAnQUxMJyxcbiAgICAgIGJ1c2luZXNzUGFydG5lckNvcnJlbGF0aW9uSUQ6IG1vZGFsLmNsaWVudCA/PyAnQUxMJyxcbiAgICAgIHRyYW5zYWN0aW9uU3RhdHVzOiBBcnJheS5pc0FycmF5KG1vZGFsLnRyYW5zYWN0aW9uU3RhdHVzKVxuICAgICAgICA/IChtb2RhbC50cmFuc2FjdGlvblN0YXR1cy5pbmNsdWRlcygnQWxsJykgPyAnQUxMJyA6IG1vZGFsLnRyYW5zYWN0aW9uU3RhdHVzLmpvaW4oJywnKSlcbiAgICAgICAgOiAobW9kYWwudHJhbnNhY3Rpb25TdGF0dXMgfHwgJ0FMTCcpLFxuICAgICAgcGF5b3V0Q3VycmVuY3k6IG1vZGFsLmN1cnJlbmN5ID8/ICdBTEwnLFxuICAgICAgdHJhbnNhY3Rpb25UeXBlOiBtb2RhbC5wcm9kdWN0ID8/ICdBTEwnLFxuICAgICAgYnJhbmNoQ29kZTogbW9kYWwuYnJhbmNoID8/ICdBTEwnLFxuICAgICAgY29tcGFueUNvZGU6ICdBTEwnIC8vIG9yICdCSCcgaWYgeW91ciBBUEkgcmVxdWlyZXMgaXQgc3BlY2lmaWNhbGx5XG4gICAgfTtcblxuICAgIHRoaXMuZ2V0QWNjb3VudGluZ1JlcG9ydChyZXEpO1xuICB9XG5cblxuXG59XG4iLCI8bGliLXNlYXJjaC1maWx0ZXIgW1JlcG9ydE5hbWVdPVwiUmVwb3J0TmFtZVwiIChzZWFyY2hDbGlja2VkKT1cImdldFJlcG9ydCgkZXZlbnQpXCI+XG48L2xpYi1zZWFyY2gtZmlsdGVyPlxuXG48bGliLW1ldGFkYXRhIFtyZXBvcnROYW1lXT1cIlJlcG9ydE5hbWVcIiBbc2hvd21ldGFEYXRhT25lXT1cInRydWVcIiBbc2hvd21ldGFEYXRhVHdvXT1cInRydWVcIiBbbWV0YURhdGFPbmVdPVwibGVmdERhdGFcIlxuICBbbWV0YURhdGFUd29dPVwicmlnaHREYXRhXCIgKGV4cG9ydEV2ZW50KT1cImhhbmRsZUV4cG9ydCgkZXZlbnQpXCIgKHNlYXJjaEV2ZW50KT1cIm9uU2VhcmNoKCRldmVudClcIj48L2xpYi1tZXRhZGF0YT5cblxuPGRpdiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTtcIj5cbiAgPGxpYi1wYWdlLXNpemUtc2VsZWN0b3IgW3RvdGFsRW50cmllc109XCJhY2NvdW50aW5nUmVwb3J0TW9kZWw/LmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdD8ubGVuZ3RoXCJcbiAgICBbZGVmYXVsdFNpemVdPVwiJzE1J1wiIFtncmlkQXBpXT1cImdyaWRBcGlcIj5cbiAgICA+PC9saWItcGFnZS1zaXplLXNlbGVjdG9yPlxuICA8YWctZ3JpZC1hbmd1bGFyIGNsYXNzPVwiYWctdGhlbWUtYWxwaW5lIGNvbXBhY3QtZ3JpZCBncmlkLXNpemVcIiBbcm93RGF0YV09XCJyb3dEYXRhXCIgW2NvbHVtbkRlZnNdPVwiY29sdW1uRGVmc1wiXG4gICAgW2RlZmF1bHRDb2xEZWZdPVwiZGVmYXVsdENvbERlZlwiIFthbmltYXRlUm93c109XCJ0cnVlXCIgW3Jvd0hlaWdodF09XCIyMFwiIFtoZWFkZXJIZWlnaHRdPVwiMjRcIiBbcGFnaW5hdGlvbl09XCJ0cnVlXCJcbiAgICBbZG9tTGF5b3V0XT1cIidub3JtYWwnXCIgW3BhZ2luYXRpb25QYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIFtzdXBwcmVzc0hvcml6b250YWxTY3JvbGxdPVwiZmFsc2VcIlxuICAgIFtzdXBwcmVzc1Jvd0hvdmVySGlnaGxpZ2h0XT1cImZhbHNlXCIgW2dldFJvd0hlaWdodF09XCJnZXRSb3dIZWlnaHQuYmluZCh0aGlzKVwiIChncmlkUmVhZHkpPVwib25HcmlkUmVhZHkoJGV2ZW50KVwiXG4gICAgW3N1cHByZXNzRHJhZ0xlYXZlSGlkZXNDb2x1bW5zXT1cInRydWVcIiBbc3VwcHJlc3NNb3ZhYmxlQ29sdW1uc109XCJmYWxzZVwiPlxuICA8L2FnLWdyaWQtYW5ndWxhcj5cbjwvZGl2PiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZy1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FjY291bnRpbmctcmVwb3J0L2FjY291bnRpbmctcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9hY2NvdW50aW5nLXJlcG9ydC9hY2NvdW50aW5nLXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFvQjdDLE1BQU0sT0FBTyx5QkFBeUI7SUEyR3BDLFlBQW9CLGFBQTRCLEVBQVUsYUFBNEI7UUFBbEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhHdEYsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUtsQyxrQkFBYSxHQUE0QjtZQUN2QyxTQUFTLEVBQUUsWUFBWTtZQUN2QixPQUFPLEVBQUUsWUFBWTtZQUNyQixlQUFlLEVBQUUsS0FBSztZQUN0QixlQUFlLEVBQUUsS0FBSztZQUN0Qiw0QkFBNEIsRUFBRSxLQUFLO1lBQ25DLGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztRQUtGLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUViLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFdEIseUJBQW9CLEdBQVcsT0FBTyxDQUFDO1FBQ3ZD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QyxpQkFBaUIsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2RixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDO1lBQ3RDLGNBQWMsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUs7WUFDdkMsZUFBZSxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSztZQUN2QyxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLO1lBQ2pDLFdBQVcsRUFBRSxLQUFLLENBQUMsK0NBQStDO1NBQ25FLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7c0hBdlRVLHlCQUF5QjswR0FBekIseUJBQXlCLDZEQ3pCdEMsMHFDQWdCTTsyRkRTTyx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjb3VudGluZ1JlcG9ydE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnRpbmctcmVwb3J0L2FjY291bnRpbmctcmVwb3J0LW1vZGVsJztcclxuaW1wb3J0IHsgQ29sRGVmLCBDb2x1bW5BcGksIEdyaWRBcGksIEdyaWRSZWFkeUV2ZW50IH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xyXG5pbXBvcnQgeyBSZXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVwb3J0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeHBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2V4cG9ydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnRpbmdSZXBvcnRSZXF1ZXN0IHtcclxuICBzdGFydERhdGU6IHN0cmluZztcclxuICBlbmREYXRlOiBzdHJpbmc7XHJcbiAgc2VuZENvdW50cnlDb2RlOiBzdHJpbmc7XHJcbiAgcmVjdkNvdW50cnlDb2RlOiBzdHJpbmc7XHJcbiAgYnVzaW5lc3NQYXJ0bmVyQ29ycmVsYXRpb25JRDogc3RyaW5nO1xyXG4gIHRyYW5zYWN0aW9uU3RhdHVzOiBzdHJpbmc7XHJcbiAgcGF5b3V0Q3VycmVuY3k6IHN0cmluZztcclxuICB0cmFuc2FjdGlvblR5cGU6IHN0cmluZztcclxuICBicmFuY2hDb2RlOiBzdHJpbmc7XHJcbiAgY29tcGFueUNvZGU6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWNjb3VudGluZy1yZXBvcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvdW50aW5nLXJlcG9ydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudGluZy1yZXBvcnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNjb3VudGluZ1JlcG9ydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBSZXBvcnROYW1lOiBzdHJpbmcgPSBcIkFjY291bnRpbmdcIjtcclxuICByZXBvcnRVc2VyOiBhbnk7XHJcbiAgcmVwb3J0VGltZTogYW55O1xyXG4gIHJlcG9ydFBlcmlvZDogYW55O1xyXG5cclxuICByZXBvcnRSZXF1ZXN0OiBBY2NvdW50aW5nUmVwb3J0UmVxdWVzdCA9IHtcclxuICAgIHN0YXJ0RGF0ZTogXCIyMDI1LTA2LTAxXCIsXHJcbiAgICBlbmREYXRlOiBcIjIwMjUtMTEtMDhcIixcclxuICAgIHNlbmRDb3VudHJ5Q29kZTogXCJBTExcIixcclxuICAgIHJlY3ZDb3VudHJ5Q29kZTogXCJBTExcIixcclxuICAgIGJ1c2luZXNzUGFydG5lckNvcnJlbGF0aW9uSUQ6IFwiQUxMXCIsXHJcbiAgICB0cmFuc2FjdGlvblN0YXR1czogXCJBTExcIixcclxuICAgIHBheW91dEN1cnJlbmN5OiBcIkFMTFwiLFxyXG4gICAgdHJhbnNhY3Rpb25UeXBlOiBcIkFMTFwiLFxyXG4gICAgYnJhbmNoQ29kZTogXCJBTExcIixcclxuICAgIGNvbXBhbnlDb2RlOiBcIkFMTFwiXHJcbiAgfTtcclxuXHJcbiAgbGVmdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgcmlnaHREYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG5cclxuICBzZWFyY2hUZXh0OiBzdHJpbmcgPSAnJztcclxuICByb3dEYXRhID0gW107XHJcbiAgYWNjb3VudGluZ1JlcG9ydE1vZGVsOiBBY2NvdW50aW5nUmVwb3J0TW9kZWw7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDE1O1xyXG5cclxuICBzZWxlY3RlZEV4cG9ydE9wdGlvbjogc3RyaW5nID0gJ2V4Y2VsJztcclxuICBleHBvcnRGb3JtYXRzID0gW3sgZm9ybWF0TmFtZTogXCJFeGNlbFwiLCBjb2RlOiAnZXhjZWwnIH0sIHsgZm9ybWF0TmFtZTogXCJQREZcIiwgY29kZTogJ3BkZicgfSwgeyBmb3JtYXROYW1lOiBcIkNTVlwiLCBjb2RlOiAnY3N2JyB9XVxyXG5cclxuXHJcblxyXG4gIGRlZmF1bHRDb2xEZWY6IENvbERlZiA9IHtcclxuICAgIHJlc2l6YWJsZTogdHJ1ZSxcclxuICAgIHNvcnRhYmxlOiBmYWxzZSxcclxuICAgIG1pbldpZHRoOiA0MCxcclxuICAgIHN1cHByZXNzU2l6ZVRvRml0OiBmYWxzZSxcclxuXHJcbiAgICAvLyDwn5S5IEhlYWRlciB3cmFwcGluZ1xyXG4gICAgd3JhcEhlYWRlclRleHQ6IHRydWUsXHJcbiAgICBhdXRvSGVhZGVySGVpZ2h0OiB0cnVlLFxyXG5cclxuICAgIC8vIPCflLkgQ2VsbCB3cmFwcGluZ1xyXG4gICAgd3JhcFRleHQ6IHRydWUsXHJcbiAgICBhdXRvSGVpZ2h0OiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgLy8gY29sdW1uRGVmczogQ29sRGVmW10gPSBbXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdCdXNpbmVzc0RhdGUnLCBmaWVsZDogJ2J1c2luZXNzRGF0ZScsIGZsZXg6IDEuMiwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDgwLCB0b29sdGlwRmllbGQ6ICdidXNpbmVzc0RhdGUnIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdUeG5EYXRlJlRpbWUnLCBmaWVsZDogJ3RyYW5zYWN0aW9uRGF0ZUFuZFRpbWUnLCBmbGV4OiAxLjgsIGNlbGxDbGFzczogJ2FnLWxlZnQtY29scy1jZWxsIGNvbXBhY3QtY2VsbC10cmFuc2FjdGlvbicsIG1pbldpZHRoOiA4MCwgdG9vbHRpcEZpZWxkOiAndHJhbnNhY3Rpb25EYXRlQW5kVGltZScsIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdERhdGUgfSxcclxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1RyYW5zYWN0aW9uIE51bWJlcicsIGZpZWxkOiAndHJhbnNhY3Rpb25OdW1iZXInLCBmbGV4OiAxLjIsIGNlbGxDbGFzczogJ2FnLWxlZnQtY29scy1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiA5MCwgdG9vbHRpcEZpZWxkOiAndHJhbnNhY3Rpb25OdW1iZXInIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTZW5kQ2xpZW50JywgZmllbGQ6ICdzZW5kQ2xpZW50JywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogODAsIHRvb2x0aXBGaWVsZDogJ3NlbmRDbGllbnQnIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdQcmluY2lwbGUgU2VuZENsaWVudCAoSWYgQXBwbGljYWJsZSknLCBmaWVsZDogJ3ByaW5jaXBsZVNlbmRDbGllbnQnLCBmbGV4OiAxLjIsIGNlbGxDbGFzczogJ2FnLWxlZnQtY29scy1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxNjAsIHRvb2x0aXBGaWVsZDogJ3ByaW5jaXBsZVNlbmRDbGllbnQnIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdSZWNlaXZlQ2xpZW50JywgZmllbGQ6ICdyZWNlaXZlQ2xpZW50JywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTIwLCB0b29sdGlwRmllbGQ6ICdyZWNlaXZlQ2xpZW50JyB9LFxyXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnUHJpbmNpcGxlIFJlY2VpdmVDbGllbnQgKElmIEFwcGxpY2FibGUpJywgZmllbGQ6ICdwcmluY2lwbGVSZWNlaXZlQ2xpZW50JywgZmxleDogMS4yLCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTcwLCB0b29sdGlwRmllbGQ6ICdwcmluY2lwbGVSZWNlaXZlQ2xpZW50JyB9LFxyXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnUmVjZWl2ZUNjeScsIGZpZWxkOiAncmVjZWl2ZUN1cnJlbmN5JywgZmxleDogMC44LCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogODAsIHRvb2x0aXBGaWVsZDogJ3JlY2VpdmVDdXJyZW5jeScgfSxcclxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ0Ftb3VudFBhaWQnLCBmaWVsZDogJ2Ftb3VudFBhaWQnLCBmbGV4OiAxLjIsIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdE51bWJlciwgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxMDAsIHRvb2x0aXBWYWx1ZUdldHRlcjogKHBhcmFtcykgPT4gdGhpcy5mb3JtYXROdW1iZXIocGFyYW1zKSB9LFxyXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnU2VuZENjeScsIGZpZWxkOiAnc2VuZEN1cnJlbmN5JywgZmxleDogMC44LCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogODAsIHRvb2x0aXBGaWVsZDogJ3NlbmRDdXJyZW5jeScgfSxcclxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1NlcnZpY2VGZWUnLCBmaWVsZDogJ3NlcnZpY2VGZWUnLCBmbGV4OiAxLjIsIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdE51bWJlciwgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiA5MCwgdG9vbHRpcFZhbHVlR2V0dGVyOiAocGFyYW1zKSA9PiB0aGlzLmZvcm1hdE51bWJlcihwYXJhbXMpIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdUYXgnLCBmaWVsZDogJ3RheCcsIGZsZXg6IDEuMiwgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZm9ybWF0TnVtYmVyLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDcwLCB0b29sdGlwVmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHBhcmFtcykgfSxcclxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1ByaW5jaXBsZVNlbmQgQW1vdW50JywgZmllbGQ6ICdwcmluY2lwbGVTZW5kQW1vdW50JywgZmxleDogMS4yLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXROdW1iZXIsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTMwLCB0b29sdGlwVmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHBhcmFtcykgfSxcclxuICAvLyAgIHsgaGVhZGVyTmFtZTogJ1RyYW5zYWN0aW9uIFN0YXR1cycsIGZpZWxkOiAndHJhbnNhY3Rpb25TdGF0dXMnLCBmbGV4OiAxLjIsIGNlbGxDbGFzczogJ2FnLWxlZnQtY29scy1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxMjAsIHRvb2x0aXBGaWVsZDogJ3RyYW5zYWN0aW9uU3RhdHVzJyB9LFxyXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnU2V0dGxlbWVudENjeScsIGZpZWxkOiAnc2V0dGxlbWVudEN1cnJlbmN5JywgZmxleDogMC44LCBjZWxsQ2xhc3M6ICdhZy1sZWZ0LWNvbHMtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTAwLCB0b29sdGlwRmllbGQ6ICdzZXR0bGVtZW50Q3VycmVuY3knIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdDbGllbnRTZXR0bCAoaW4gU0NjeSknLCBmaWVsZDogJ2NsaWVudFNldHRsZW1lbnRJblNDY3knLCBmbGV4OiAxLjIsIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmZvcm1hdE51bWJlciwgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsIGNvbXBhY3QtY2VsbCcsIG1pbldpZHRoOiAxNDAsIHRvb2x0aXBWYWx1ZUdldHRlcjogKHBhcmFtcykgPT4gdGhpcy5mb3JtYXROdW1iZXIocGFyYW1zKSB9LFxyXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnQ2xpZW50U2V0dGwgKGluIFVTRCknLCBmaWVsZDogJ2NsaWVudFNldHRsZW1lbnRJblVTRCcsIGZsZXg6IDEuMiwgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZm9ybWF0TnVtYmVyLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDE0MCwgdG9vbHRpcFZhbHVlR2V0dGVyOiAocGFyYW1zKSA9PiB0aGlzLmZvcm1hdE51bWJlcihwYXJhbXMpIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTaGFyZVR5cGUnLCBmaWVsZDogJ3NoYXJlVHlwZScsIGZsZXg6IDEuMiwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDEwMCwgdG9vbHRpcEZpZWxkOiAnc2hhcmVUeXBlJyB9LFxyXG4gIC8vICAgeyBoZWFkZXJOYW1lOiAnU2hhcmVWYWx1ZScsIGZpZWxkOiAnc2hhcmVWYWx1ZScsIGZsZXg6IDEuMiwgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZm9ybWF0TnVtYmVyLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDEwMCwgdG9vbHRpcFZhbHVlR2V0dGVyOiAocGFyYW1zKSA9PiB0aGlzLmZvcm1hdE51bWJlcihwYXJhbXMpIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTZW5kL1JlY2VpdmUgRmVlQ2N5JywgZmllbGQ6ICdzZW5kUmVjZWl2ZUZlZUNjeScsIGZsZXg6IDEuMiwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDE1MCwgdG9vbHRpcEZpZWxkOiAnc2VuZFJlY2VpdmVGZWVDY3knIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTaGFyZUFtdCAoaW4gVVNEKScsIGZpZWxkOiAnc2hhcmVBbW91bnRJblVTRCcsIGZsZXg6IDEuMiwgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZm9ybWF0TnVtYmVyLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgbWluV2lkdGg6IDEzMCwgdG9vbHRpcFZhbHVlR2V0dGVyOiAocGFyYW1zKSA9PiB0aGlzLmZvcm1hdE51bWJlcihwYXJhbXMpIH0sXHJcbiAgLy8gICB7IGhlYWRlck5hbWU6ICdTZXR0bGVtZW50IFJhdGUnLCBmaWVsZDogJ3NldHRsZW1lbnRSYXRlJywgZmxleDogMS4yLCB2YWx1ZUZvcm1hdHRlcjogdGhpcy5mb3JtYXROdW1iZXIsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCBtaW5XaWR0aDogMTMwLCB0b29sdGlwVmFsdWVHZXR0ZXI6IChwYXJhbXMpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHBhcmFtcykgfSxcclxuICAvLyBdO1xyXG5cclxuXHJcbiAgY29sdW1uRGVmczogQ29sRGVmW10gPSBbXHJcbiAgICB7IGhlYWRlck5hbWU6ICdCdXNpbmVzc0RhdGUnLCBmaWVsZDogJ2J1c2luZXNzRGF0ZScsIHRvb2x0aXBGaWVsZDogJ2J1c2luZXNzRGF0ZScgfSxcclxuICAgIHsgaGVhZGVyTmFtZTogJ1R4bkRhdGUmVGltZScsIGZpZWxkOiAndHJhbnNhY3Rpb25EYXRlQW5kVGltZScsIHRvb2x0aXBGaWVsZDogJ3RyYW5zYWN0aW9uRGF0ZUFuZFRpbWUnLCBtaW5XaWR0aDogMTEwLCB9LFxyXG4gICAgeyBoZWFkZXJOYW1lOiAnVHJhbnNhY3Rpb24gTnVtYmVyJywgZmllbGQ6ICd0cmFuc2FjdGlvbk51bWJlcicsIHRvb2x0aXBGaWVsZDogJ3RyYW5zYWN0aW9uTnVtYmVyJyB9LFxyXG4gICAgeyBoZWFkZXJOYW1lOiAnU2VuZENsaWVudCcsIGZpZWxkOiAnc2VuZENsaWVudCcsIHRvb2x0aXBGaWVsZDogJ3NlbmRDbGllbnQnIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdQcmluY2lwbGUgU2VuZENsaWVudCAoSWYgQXBwbGljYWJsZSknLCBmaWVsZDogJ3ByaW5jaXBsZVNlbmRDbGllbnQnLCB0b29sdGlwRmllbGQ6ICdwcmluY2lwbGVTZW5kQ2xpZW50JyB9LFxyXG4gICAgeyBoZWFkZXJOYW1lOiAnUmVjZWl2ZUNsaWVudCcsIGZpZWxkOiAncmVjZWl2ZUNsaWVudCcsIHRvb2x0aXBGaWVsZDogJ3JlY2VpdmVDbGllbnQnIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdQcmluY2lwbGUgUmVjZWl2ZUNsaWVudCAoSWYgQXBwbGljYWJsZSknLCBmaWVsZDogJ3ByaW5jaXBsZVJlY2VpdmVDbGllbnQnLCB0b29sdGlwRmllbGQ6ICdwcmluY2lwbGVSZWNlaXZlQ2xpZW50JyB9LFxyXG4gICAgeyBoZWFkZXJOYW1lOiAnUmVjZWl2ZUNjeScsIGZpZWxkOiAncmVjZWl2ZUN1cnJlbmN5JywgdG9vbHRpcEZpZWxkOiAncmVjZWl2ZUN1cnJlbmN5JyB9LFxyXG4gICAgeyBoZWFkZXJOYW1lOiAnQW1vdW50UGFpZCcsIGZpZWxkOiAnYW1vdW50UGFpZCcsIHRvb2x0aXBGaWVsZDogJ2Ftb3VudFBhaWQnLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdTZW5kQ2N5JywgZmllbGQ6ICdzZW5kQ3VycmVuY3knLCB0b29sdGlwRmllbGQ6ICdzZW5kQ3VycmVuY3knLCB9LFxyXG4gICAgeyBoZWFkZXJOYW1lOiAnU2VydmljZUZlZScsIGZpZWxkOiAnc2VydmljZUZlZScsIHRvb2x0aXBGaWVsZDogJ3NlcnZpY2VGZWUnLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdUYXgnLCBmaWVsZDogJ3RheCcsIHRvb2x0aXBGaWVsZDogJ3RheCcsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCcgfSxcclxuICAgIHsgaGVhZGVyTmFtZTogJ1ByaW5jaXBsZVNlbmQgQW1vdW50JywgZmllbGQ6ICdwcmluY2lwbGVTZW5kQW1vdW50JywgdG9vbHRpcEZpZWxkOiAncHJpbmNpcGxlU2VuZEFtb3VudCcsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCcgfSxcclxuICAgIHsgaGVhZGVyTmFtZTogJ1RyYW5zYWN0aW9uIFN0YXR1cycsIGZpZWxkOiAndHJhbnNhY3Rpb25TdGF0dXMnLCB0b29sdGlwRmllbGQ6ICd0cmFuc2FjdGlvblN0YXR1cycgfSxcclxuICAgIHsgaGVhZGVyTmFtZTogJ1NldHRsZW1lbnRDY3knLCBmaWVsZDogJ3NldHRsZW1lbnRDdXJyZW5jeScsIHRvb2x0aXBGaWVsZDogJ3NldHRsZW1lbnRDdXJyZW5jeScsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCcgfSxcclxuICAgIHsgaGVhZGVyTmFtZTogJ0NsaWVudFNldHRsIChpbiBTQ2N5KScsIGZpZWxkOiAnY2xpZW50U2V0dGxlbWVudEluU0NjeScsIHRvb2x0aXBGaWVsZDogJ2NsaWVudFNldHRsZW1lbnRJblNDY3knLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdDbGllbnRTZXR0bCAoaW4gVVNEKScsIGZpZWxkOiAnY2xpZW50U2V0dGxlbWVudEluVVNEJywgdG9vbHRpcEZpZWxkOiAnY2xpZW50U2V0dGxlbWVudEluVVNEJywgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsJyB9LFxyXG4gICAgeyBoZWFkZXJOYW1lOiAnU2hhcmVUeXBlJywgZmllbGQ6ICdzaGFyZVR5cGUnLCB0b29sdGlwRmllbGQ6ICdzaGFyZVR5cGUnIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdTaGFyZVZhbHVlJywgZmllbGQ6ICdzaGFyZVZhbHVlJywgdG9vbHRpcEZpZWxkOiAnc2hhcmVWYWx1ZScsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCcgfSxcclxuICAgIHsgaGVhZGVyTmFtZTogJ1NlbmQvUmVjZWl2ZSBGZWVDY3knLCBmaWVsZDogJ3NlbmRSZWNlaXZlRmVlQ2N5JywgdG9vbHRpcEZpZWxkOiAnc2VuZFJlY2VpdmVGZWVDY3knIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdTaGFyZUFtdCAoaW4gVVNEKScsIGZpZWxkOiAnc2hhcmVBbW91bnRJblVTRCcsIHRvb2x0aXBGaWVsZDogJ3NoYXJlQW1vdW50SW5VU0QnLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXHJcbiAgICB7IGhlYWRlck5hbWU6ICdTZXR0bGVtZW50IFJhdGUnLCBmaWVsZDogJ3NldHRsZW1lbnRSYXRlJywgdG9vbHRpcEZpZWxkOiAnc2V0dGxlbWVudFJhdGUnLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwnIH0sXHJcbiAgXTtcclxuXHJcblxyXG5cclxuXHJcblxyXG4gIGdyaWRBcGk6IEdyaWRBcGk8YW55Pjs7XHJcbiAgZ3JpZENvbHVtbkFwaTogQ29sdW1uQXBpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcG9ydFNlcnZpY2U6IFJlcG9ydFNlcnZpY2UsIHByaXZhdGUgZXhwb3J0U2VydmljZTogRXhwb3J0U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBnZXRBY2NvdW50aW5nUmVwb3J0KHJlcXVlc3Q/OiBBY2NvdW50aW5nUmVwb3J0UmVxdWVzdCkge1xyXG5cclxuICAgIGNvbnN0IGZpbmFsUmVxID0gcmVxdWVzdCA/PyB0aGlzLnJlcG9ydFJlcXVlc3Q7XHJcblxyXG4gICAgdGhpcy5yZXBvcnRTZXJ2aWNlLmdldEFjY291bnRpbmdSZXBvcnQoZmluYWxSZXEpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5hY2NvdW50aW5nUmVwb3J0TW9kZWwgPSBkYXRhO1xyXG4gICAgICAvLyB0aGlzLnJvd0RhdGEgPSB0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5hY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3Q7XHJcblxyXG4gICAgICB0aGlzLnJvd0RhdGEgPSB0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5hY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3QubWFwKGVudHJ5ID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uZW50cnksXHJcbiAgICAgICAgICBidXNpbmVzc0RhdGU6IGZvcm1hdERhdGUoZW50cnkuYnVzaW5lc3NEYXRlLCAnZGQvTU0veXl5eScsICdlbi1VUycpLFxyXG4gICAgICAgICAgdHJhbnNhY3Rpb25EYXRlQW5kVGltZTogZm9ybWF0RGF0ZShlbnRyeS50cmFuc2FjdGlvbkRhdGVBbmRUaW1lLCAnZGQvTU0veXl5eSBoaDptbSBhJywgJ2VuLVVTJyksXHJcblxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5yZXBvcnRVc2VyID0gdGhpcy5hY2NvdW50aW5nUmVwb3J0TW9kZWwucmVwb3J0VXNlcjtcclxuICAgICAgdGhpcy5yZXBvcnRUaW1lID0gZm9ybWF0RGF0ZShuZXcgRGF0ZSgpLCAnZGQvTU0veXl5eSBoaDptbSBhJywgJ2VuLVVTJyk7XHJcbiAgICAgIHRoaXMucmVwb3J0UGVyaW9kID0gYCR7Zm9ybWF0RGF0ZShmaW5hbFJlcS5zdGFydERhdGUsICdkZC9NTS95eXl5JywgJ2VuLVVTJyl9IC0gJHtmb3JtYXREYXRlKGZpbmFsUmVxLmVuZERhdGUsICdkZC9NTS95eXl5JywgJ2VuLVVTJyl9YDtcclxuXHJcbiAgICAgIHRoaXMubGVmdERhdGEgPSB7XHJcbiAgICAgICAgJ1JlcG9ydCBVc2VyICc6IGAke3RoaXMucmVwb3J0VXNlcn1gLFxyXG4gICAgICAgICdSZXBvcnQgVGltZSc6IGAke3RoaXMucmVwb3J0VGltZX1gLFxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnJpZ2h0RGF0YSA9IHtcclxuICAgICAgICAnQ29tcGFueSc6IFwiWHByZXNzIE1vbmV5XCIsXHJcbiAgICAgICAgJ1JlcG9ydCBQZXJpb2QnOiBgJHt0aGlzLnJlcG9ydFBlcmlvZH1gLFxyXG4gICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMucm93RGF0YSk7XHJcbiAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGFzeW5jIGhhbmRsZUV4cG9ydChvcHRpb246IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZEV4cG9ydE9wdGlvbiA9IG9wdGlvbjtcclxuICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZEV4cG9ydE9wdGlvbikge1xyXG4gICAgICBjYXNlICdleGNlbCc6XHJcbiAgICAgICAgdGhpcy5leHBvcnRUb0V4Y2VsKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3BkZic6XHJcbiAgICAgICAgdGhpcy5leHBvcnRUb1BkZigpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjc3YnOlxyXG4gICAgICAgIHRoaXMuZXhwb3J0VG9Dc3YoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBhbGVydCgnUGxlYXNlIHNlbGVjdCBhbiBleHBvcnQgZm9ybWF0LicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBvblNlYXJjaCh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IG5vcm1hbGl6ZSA9IChzdHI6IGFueSk6IHN0cmluZyA9PlxyXG4gICAgICBzdHI/LnRvU3RyaW5nKClcclxuICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgIC5yZXBsYWNlKC8sL2csICcnKSAgICAgICAgICAgLy8gcmVtb3ZlIGNvbW1hc1xyXG4gICAgICAgIC5yZXBsYWNlKC9cXHMrL2csICcgJykgICAgICAgIC8vIG5vcm1hbGl6ZSBhbGwgc3BhY2VzIHRvIG9uZVxyXG4gICAgICAgIC5yZXBsYWNlKC9bXFx1MjAwQi1cXHUyMDBEXFx1RkVGRl0vZywgJycpIC8vIHJlbW92ZSBpbnZpc2libGUgY2hhcnNcclxuICAgICAgICAudHJpbSgpO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcclxuICAgIGNvbnN0IHNlYXJjaCA9IG5vcm1hbGl6ZSh0aGlzLnNlYXJjaFRleHQpO1xyXG5cclxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGEgPSB0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5hY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3QubWFwKGVudHJ5ID0+ICh7XHJcbiAgICAgIC4uLmVudHJ5LFxyXG4gICAgICBidXNpbmVzc0RhdGU6IGZvcm1hdERhdGUoZW50cnkuYnVzaW5lc3NEYXRlLCAnZGQvTU0veXl5eScsICdlbi1VUycpLFxyXG4gICAgICB0cmFuc2FjdGlvbkRhdGVBbmRUaW1lOiBmb3JtYXREYXRlKGVudHJ5LnRyYW5zYWN0aW9uRGF0ZUFuZFRpbWUsICdkZC9NTS95eXl5IGhoOm1tIGEnLCAnZW4tVVMnKSxcclxuICAgIH0pKTtcclxuXHJcbiAgICBpZiAoc2VhcmNoKSB7XHJcbiAgICAgIHRoaXMucm93RGF0YSA9IGZvcm1hdHRlZERhdGEuZmlsdGVyKGl0ZW0gPT5cclxuICAgICAgICBPYmplY3QudmFsdWVzKGl0ZW0pLnNvbWUodmFsdWUgPT5cclxuICAgICAgICAgIG5vcm1hbGl6ZSh2YWx1ZSkuaW5jbHVkZXMoc2VhcmNoKVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucm93RGF0YSA9IGZvcm1hdHRlZERhdGE7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vIHB1YmxpYyBmb3JtYXREYXRlKHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAvLyAgIHJldHVybiBmb3JtYXREYXRlKG5ldyBEYXRlKHBhcmFtcy52YWx1ZSksICdkZC9NTS95eXl5JywgJ2VuLVVTJyk7XHJcbiAgLy8gfVxyXG5cclxuICBvbkdyaWRSZWFkeShwYXJhbXM6IEdyaWRSZWFkeUV2ZW50KSB7XHJcbiAgICB0aGlzLmdyaWRBcGkgPSBwYXJhbXMuYXBpO1xyXG4gICAgdGhpcy5ncmlkQ29sdW1uQXBpID0gcGFyYW1zLmNvbHVtbkFwaTtcclxuICAgIHRoaXMuZ3JpZENvbHVtbkFwaS5hdXRvU2l6ZUFsbENvbHVtbnMoKTtcclxuICB9XHJcblxyXG4gIGdldFJvd0hlaWdodChwYXJhbXM6IGFueSk6IG51bWJlciB7XHJcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHBhcmFtcy5kYXRhPy5kZXNjcmlwdGlvbiB8fCAnJztcclxuICAgIGlmIChkZXNjcmlwdGlvbi5sZW5ndGggPiA1MCkge1xyXG4gICAgICByZXR1cm4gNDA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gMjA7XHJcbiAgfVxyXG5cclxuICBmb3JtYXROdW1iZXIocGFyYW1zOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKHBhcmFtcy52YWx1ZSA9PSBudWxsKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZmllbGQgPSBwYXJhbXMuY29sRGVmLmZpZWxkO1xyXG5cclxuICAgIGlmIChmaWVsZCA9PT0gJ3NldHRsZW1lbnRSYXRlJykge1xyXG4gICAgICByZXR1cm4gTnVtYmVyKHBhcmFtcy52YWx1ZSkudG9GaXhlZCg4KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gTnVtYmVyKHBhcmFtcy52YWx1ZSkudG9GaXhlZCgzKTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIGFzeW5jIGV4cG9ydFRvUGRmKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5hY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3Q/Lmxlbmd0aCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHRpdGxlID0gYFhwcmVzcyBNb25leSAtIEFjY291bnRpbmcgUmVwb3J0YDtcclxuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5leHBvcnRTZXJ2aWNlLmdlbmVyYXRlUmVwb3J0TWV0YWRhdGEoW1xyXG4gICAgICBbJ1JlcG9ydCBVc2VyIDogJywgdGhpcy5yZXBvcnRVc2VyXSxcclxuICAgICAgWydSZXBvcnQgVGltZSA6ICcsIHRoaXMucmVwb3J0VGltZV0sXHJcbiAgICAgIFsnUmVwb3J0IFBlcmlvZCA6ICcsIHRoaXMucmVwb3J0UGVyaW9kXSxcclxuICAgIF0pO1xyXG5cclxuICAgIGNvbnN0IHsgaGVhZGVycywgcm93cyB9ID0gdGhpcy5leHBvcnRTZXJ2aWNlLnByZXBhcmVFeHBvcnRUYWJsZSh0aGlzLmFjY291bnRpbmdSZXBvcnRNb2RlbC5hY2NvdW50aW5nUmVwb3J0RW50cmllc0xpc3QsIHRoaXMuY29sdW1uRGVmcywge1xyXG4gICAgICBjdXJyZW5jeUZpZWxkczogWydsb2NhbENyZWRpdCcsICdmb3JleENyZWRpdCcsICdsb2NhbERlYml0JywgJ2ZvcmV4RGViaXQnXVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydFRvUGRmVW5pdmVyc2FsKHRpdGxlLCBtZXRhZGF0YSwgaGVhZGVycywgcm93cywgJ0FjY291bnRpbmctUmVwb3J0LnBkZicpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hY2NvdW50aW5nUmVwb3J0TW9kZWwuYWNjb3VudGluZ1JlcG9ydEVudHJpZXNMaXN0Py5sZW5ndGgpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0aXRsZSA9IGBYcHJlc3MgTW9uZXkgLSBBY2NvdW50aW5nIFJlcG9ydGA7XHJcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZXhwb3J0U2VydmljZS5nZW5lcmF0ZVJlcG9ydE1ldGFkYXRhKFtcclxuICAgICAgWydSZXBvcnQgVXNlcicsIHRoaXMucmVwb3J0VXNlcl0sXHJcbiAgICAgIFsnUmVwb3J0IFRpbWUnLCB0aGlzLnJlcG9ydFRpbWVdLFxyXG4gICAgICBbJ1JlcG9ydCBQZXJpb2QnLCB0aGlzLnJlcG9ydFBlcmlvZF0sXHJcblxyXG4gICAgXSk7XHJcblxyXG4gICAgY29uc3QgeyBoZWFkZXJzLCByb3dzIH0gPSB0aGlzLmV4cG9ydFNlcnZpY2UucHJlcGFyZUV4cG9ydFRhYmxlKHRoaXMuYWNjb3VudGluZ1JlcG9ydE1vZGVsLmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdCwgdGhpcy5jb2x1bW5EZWZzLCB7XHJcbiAgICAgIGN1cnJlbmN5RmllbGRzOiBbJ2xvY2FsQ3JlZGl0JywgJ2ZvcmV4Q3JlZGl0JywgJ2xvY2FsRGViaXQnLCAnZm9yZXhEZWJpdCddXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmV4cG9ydFNlcnZpY2UuZXhwb3J0VG9FeGNlbFVuaXZlcnNhbCh0aXRsZSwgbWV0YWRhdGEsIGhlYWRlcnMsIHJvd3MsICdBY2NvdW50aW5nLVJlcG9ydC54bHN4Jyk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRUb0NzdigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hY2NvdW50aW5nUmVwb3J0TW9kZWwuYWNjb3VudGluZ1JlcG9ydEVudHJpZXNMaXN0Py5sZW5ndGgpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0aXRsZSA9IGBYcHJlc3MgTW9uZXkgLSBBY2NvdW50aW5nIFJlcG9ydGA7XHJcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZXhwb3J0U2VydmljZS5nZW5lcmF0ZVJlcG9ydE1ldGFkYXRhKFtcclxuICAgICAgWydSZXBvcnQgVXNlcicsIHRoaXMucmVwb3J0VXNlcl0sXHJcbiAgICAgIFsnUmVwb3J0IFRpbWUnLCB0aGlzLnJlcG9ydFRpbWVdLFxyXG4gICAgICBbJ1JlcG9ydCBQZXJpb2QnLCB0aGlzLnJlcG9ydFBlcmlvZF0sXHJcbiAgICBdKTtcclxuXHJcbiAgICBjb25zdCB7IGhlYWRlcnMsIHJvd3MgfSA9IHRoaXMuZXhwb3J0U2VydmljZS5wcmVwYXJlRXhwb3J0VGFibGUodGhpcy5hY2NvdW50aW5nUmVwb3J0TW9kZWwuYWNjb3VudGluZ1JlcG9ydEVudHJpZXNMaXN0LCB0aGlzLmNvbHVtbkRlZnMsIHtcclxuICAgICAgY3VycmVuY3lGaWVsZHM6IFsnbG9jYWxDcmVkaXQnLCAnZm9yZXhDcmVkaXQnLCAnbG9jYWxEZWJpdCcsICdmb3JleERlYml0J11cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZXhwb3J0U2VydmljZS5leHBvcnRUb0NzdlVuaXZlcnNhbCh0aXRsZSwgbWV0YWRhdGEsIGhlYWRlcnMsIHJvd3MsICdBY2NvdW50aW5nLVJlcG9ydC5jc3YnKTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIGdldFJlcG9ydChwYXlsb2FkOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsID0gcGF5bG9hZD8ubW9kYWwgfHwgcGF5bG9hZDtcclxuXHJcbiAgICBjb25zdCByZXE6IEFjY291bnRpbmdSZXBvcnRSZXF1ZXN0ID0ge1xyXG4gICAgICBzdGFydERhdGU6IG5ldyBEYXRlKG1vZGFsLmZyb21EYXRlKS50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXSwgLy8geXl5eS1NTS1kZCBmcm9tIHRoZSBmaWx0ZXJcclxuICAgICAgZW5kRGF0ZTogbmV3IERhdGUobW9kYWwudG9EYXRlKS50b0lTT1N0cmluZygpLnNwbGl0KFwiVFwiKVswXSxcclxuICAgICAgc2VuZENvdW50cnlDb2RlOiBtb2RhbC5zZW5kQ291bnRyeSA/PyAnQUxMJyxcclxuICAgICAgcmVjdkNvdW50cnlDb2RlOiBtb2RhbC5yZWNlaXZlQ291bnRyeSA/PyAnQUxMJyxcclxuICAgICAgYnVzaW5lc3NQYXJ0bmVyQ29ycmVsYXRpb25JRDogbW9kYWwuY2xpZW50ID8/ICdBTEwnLFxyXG4gICAgICB0cmFuc2FjdGlvblN0YXR1czogQXJyYXkuaXNBcnJheShtb2RhbC50cmFuc2FjdGlvblN0YXR1cylcclxuICAgICAgICA/IChtb2RhbC50cmFuc2FjdGlvblN0YXR1cy5pbmNsdWRlcygnQWxsJykgPyAnQUxMJyA6IG1vZGFsLnRyYW5zYWN0aW9uU3RhdHVzLmpvaW4oJywnKSlcclxuICAgICAgICA6IChtb2RhbC50cmFuc2FjdGlvblN0YXR1cyB8fCAnQUxMJyksXHJcbiAgICAgIHBheW91dEN1cnJlbmN5OiBtb2RhbC5jdXJyZW5jeSA/PyAnQUxMJyxcclxuICAgICAgdHJhbnNhY3Rpb25UeXBlOiBtb2RhbC5wcm9kdWN0ID8/ICdBTEwnLFxyXG4gICAgICBicmFuY2hDb2RlOiBtb2RhbC5icmFuY2ggPz8gJ0FMTCcsXHJcbiAgICAgIGNvbXBhbnlDb2RlOiAnQUxMJyAvLyBvciAnQkgnIGlmIHlvdXIgQVBJIHJlcXVpcmVzIGl0IHNwZWNpZmljYWxseVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmdldEFjY291bnRpbmdSZXBvcnQocmVxKTtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGxpYi1zZWFyY2gtZmlsdGVyIFtSZXBvcnROYW1lXT1cIlJlcG9ydE5hbWVcIiAoc2VhcmNoQ2xpY2tlZCk9XCJnZXRSZXBvcnQoJGV2ZW50KVwiPlxyXG48L2xpYi1zZWFyY2gtZmlsdGVyPlxyXG5cclxuPGxpYi1tZXRhZGF0YSBbcmVwb3J0TmFtZV09XCJSZXBvcnROYW1lXCIgW3Nob3dtZXRhRGF0YU9uZV09XCJ0cnVlXCIgW3Nob3dtZXRhRGF0YVR3b109XCJ0cnVlXCIgW21ldGFEYXRhT25lXT1cImxlZnREYXRhXCJcclxuICBbbWV0YURhdGFUd29dPVwicmlnaHREYXRhXCIgKGV4cG9ydEV2ZW50KT1cImhhbmRsZUV4cG9ydCgkZXZlbnQpXCIgKHNlYXJjaEV2ZW50KT1cIm9uU2VhcmNoKCRldmVudClcIj48L2xpYi1tZXRhZGF0YT5cclxuXHJcbjxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgPGxpYi1wYWdlLXNpemUtc2VsZWN0b3IgW3RvdGFsRW50cmllc109XCJhY2NvdW50aW5nUmVwb3J0TW9kZWw/LmFjY291bnRpbmdSZXBvcnRFbnRyaWVzTGlzdD8ubGVuZ3RoXCJcclxuICAgIFtkZWZhdWx0U2l6ZV09XCInMTUnXCIgW2dyaWRBcGldPVwiZ3JpZEFwaVwiPlxyXG4gICAgPjwvbGliLXBhZ2Utc2l6ZS1zZWxlY3Rvcj5cclxuICA8YWctZ3JpZC1hbmd1bGFyIGNsYXNzPVwiYWctdGhlbWUtYWxwaW5lIGNvbXBhY3QtZ3JpZCBncmlkLXNpemVcIiBbcm93RGF0YV09XCJyb3dEYXRhXCIgW2NvbHVtbkRlZnNdPVwiY29sdW1uRGVmc1wiXHJcbiAgICBbZGVmYXVsdENvbERlZl09XCJkZWZhdWx0Q29sRGVmXCIgW2FuaW1hdGVSb3dzXT1cInRydWVcIiBbcm93SGVpZ2h0XT1cIjIwXCIgW2hlYWRlckhlaWdodF09XCIyNFwiIFtwYWdpbmF0aW9uXT1cInRydWVcIlxyXG4gICAgW2RvbUxheW91dF09XCInbm9ybWFsJ1wiIFtwYWdpbmF0aW9uUGFnZVNpemVdPVwicGFnZVNpemVcIiBbc3VwcHJlc3NIb3Jpem9udGFsU2Nyb2xsXT1cImZhbHNlXCJcclxuICAgIFtzdXBwcmVzc1Jvd0hvdmVySGlnaGxpZ2h0XT1cImZhbHNlXCIgW2dldFJvd0hlaWdodF09XCJnZXRSb3dIZWlnaHQuYmluZCh0aGlzKVwiIChncmlkUmVhZHkpPVwib25HcmlkUmVhZHkoJGV2ZW50KVwiXHJcbiAgICBbc3VwcHJlc3NEcmFnTGVhdmVIaWRlc0NvbHVtbnNdPVwidHJ1ZVwiIFtzdXBwcmVzc01vdmFibGVDb2x1bW5zXT1cImZhbHNlXCI+XHJcbiAgPC9hZy1ncmlkLWFuZ3VsYXI+XHJcbjwvZGl2PiJdfQ==
@@ -455,9 +455,9 @@ export class BranchActivityReceiveReportComponent {
455
455
  }
456
456
  }
457
457
  BranchActivityReceiveReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BranchActivityReceiveReportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
458
- BranchActivityReceiveReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BranchActivityReceiveReportComponent, selector: "lib-branch-activity-receive-report", ngImport: i0, template: "<lib-search-filter \r\n [ReportName]=\"ReportName\" \r\n (searchClicked)=\"handleSearch($event)\">\r\n</lib-search-filter>\r\n\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<section *ngIf=\"showReport\" class=\"my-2 mx-1\">\r\n <lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"false\" [metaDataOne]=\"metaDataOne\" [metaDataTwo]=\"\"(exportEvent)=\"handleExport($event)\" (searchEvent)=\"filter($event)\"></lib-metadata>\r\n\r\n <ngb-accordion #acc=\"ngbAccordion\" [closeOthers]=\"false\" [activeIds]=\"'panel-0'\">\r\n <ng-container *ngFor=\"let item of filteredData | keyvalue; let i = index\">\r\n <ngb-panel *ngIf=\"item.value.length > 0\" [id]=\"'panel-' + i\">\r\n\r\n <ng-template ngbPanelTitle style=\"height: 10%;\">\r\n <label\r\n style=\"font-weight: bold; font-size: 13px; line-height: 1.2; margin: 0; padding: 2px 0;color: #0c63e4;\">{{\r\n item.key\r\n }}</label>\r\n </ng-template>\r\n\r\n <ng-template ngbPanelContent>\r\n\r\n <div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"item?.value?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApis[i]\">\r\n ></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"width: 100%;height: 370px;\"\r\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [rowData]=\"item.value\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\" [gridOptions]=\"{\r\n suppressHorizontalScroll: true,\r\n scrollbarWidth: 0\r\n }\" [pagination]=\"true\" [paginationPageSize]=\"paginationArray[i]\" (gridReady)=\"onGridReady($event,i)\"\r\n (gridSizeChanged)=\"onGridSizeChanged($event)\">\r\n </ag-grid-angular>\r\n </div>\r\n </ng-template>\r\n\r\n </ngb-panel>\r\n </ng-container>\r\n </ngb-accordion>\r\n <div class=\"alert alert-warning mt-3\" *ngIf=\"noDataFound\">\r\n No Data Found\r\n </div>\r\n\r\n</section>\r\n", styles: [".btn-report{border-radius:4px;background-color:#8091a5;color:#fff!important;font-size:14px!important;height:32px!important;height:32px;min-width:110px;margin:0 0 0 20px!important;padding:4px 15px!important}.tooltip-block{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #ccc!important}.dpicker{border:1px solid #ccc!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"!important;font-size:12px!important;font-weight:400!important;height:32px!important}.dpicker:focus{box-shadow:0 0 5px 3px #1877f2!important}.cal{height:32px!important;background-color:#1877f2!important}.cal:focus{box-shadow:none!important}.input-group-button{background:none;border:1px solid #0081c6;background-color:#0081c6;border-radius:0 3px 3px 0;min-width:35px;margin-left:1px;cursor:pointer}.labl{font-size:11.2px;font-weight:700!important}.info{font-size:12px!important;font-weight:400;padding-left:.5rem}.label-data{font-weight:600!important;font-size:.7rem!important;line-height:1rem}.meta-td{padding:0!important}.title{text-align:center;font-size:18px;font-weight:700!important}.export-options{display:inline-flex;font-size:.75rem;height:2rem!important;width:5rem!important;margin-right:-1;margin-left:.4rem}.opt-cls{display:block;height:100%;width:5rem;border:1px solid #ccc!important;border-radius:4px!important;margin-right:1rem!important;outline:none!important}.opt-cls:focus{box-shadow:0 0 5px 3px #1877f2}.export-selector{height:2rem!important;width:100%}.search-btn{height:32px!important;height:32px;width:36px;background-color:#8091a5;border:none;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center}.search-btn:hover{background-color:#8091a5}.search-icon{height:16px;width:16px;object-fit:contain}.search-input{outline:none!important;border:1px solid #ccc!important;width:190px;height:32px!important;font-size:.75rem;padding:.25rem .5rem;border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;text-transform:uppercase}.search-input:focus{box-shadow:0 0 5px 3px #1877f2!important}.searchBox{margin-right:auto;display:flex}table{width:100%;border-collapse:separate;margin-bottom:0!important;table-layout:fixed!important}td{padding:0 1rem 6px 0!important;border-right:0 solid #ffffff!important;background-color:#fff!important}.row-cls{height:2.5rem!important}.inputbox{padding-left:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}::ng-deep .ng-select.ng-select-single .ng-select-container{height:32px I!important}::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;overflow-y:auto;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container .ng-value{max-width:200px!important;overflow:hidden!important;text-overflow:hidden!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow-x:scroll!important;text-overflow:clip!important}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option::-webkit-scrollbar{display:none!important;width:0!important}::ng-deep .ng-select .ng-select-container:focus-within{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container:focus{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container,::ng-deep .ng-select.ng-select-single .ng-select-container,::ng-deep .ng-select.ng-select-multiple .ng-select-container{min-height:32px!important;height:32px!important;font-size:12px!important}.transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important}::ng-deep .compact-grid .ag-cell{cursor:default!important;border-right:1px solid #e0e0e0;padding:2px 3px!important;font-size:9px!important;display:flex!important;align-items:center!important}::ng-deep .compact-grid .ag-cell-value{cursor:text!important;font-size:9px!important;padding:0 3px 0 2px!important}::ng-deep .compact-grid .ag-right-aligned-cell{text-align:right!important;justify-content:flex-end!important;text-overflow:ellipsis}::ng-deep .ag-center-cols-viewport{width:100%;overflow-x:hidden}\n"], dependencies: [{ kind: "component", type: i1.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PageSizeSelectorComponent, selector: "lib-page-size-selector", inputs: ["pageSizeArray", "defaultSize", "totalEntries", "gridApi"] }, { kind: "component", type: i4.MetadataComponent, selector: "lib-metadata", inputs: ["metaDataOne", "metaDataTwo", "showmetaDataOne", "showmetaDataTwo", "reportName"], outputs: ["searchEvent", "exportEvent"] }, { kind: "component", type: i5.NgbAccordion, selector: "ngb-accordion", inputs: ["animation", "activeIds", "closeOthers", "destroyOnHide", "type"], outputs: ["panelChange", "shown", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i5.NgbPanel, selector: "ngb-panel", inputs: ["disabled", "id", "title", "type", "cardClass"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i5.NgbPanelTitle, selector: "ng-template[ngbPanelTitle]" }, { kind: "directive", type: i5.NgbPanelContent, selector: "ng-template[ngbPanelContent]" }, { kind: "component", type: i6.LoaderComponent, selector: "app-loader" }, { kind: "component", type: i7.SearchFilterComponent, selector: "lib-search-filter", inputs: ["ReportName"], outputs: ["searchClicked"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }] });
458
+ BranchActivityReceiveReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BranchActivityReceiveReportComponent, selector: "lib-branch-activity-receive-report", ngImport: i0, template: "<lib-search-filter \r\n [ReportName]=\"ReportName\" \r\n (searchClicked)=\"handleSearch($event)\">\r\n</lib-search-filter>\r\n\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<section *ngIf=\"showReport\" class=\"my-2 mx-1\">\r\n <lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"false\" [metaDataOne]=\"metaDataOne\" [metaDataTwo]=\"\"(exportEvent)=\"handleExport($event)\" (searchEvent)=\"filter($event)\"></lib-metadata>\r\n\r\n <ngb-accordion #acc=\"ngbAccordion\" [closeOthers]=\"false\" [activeIds]=\"'panel-0'\">\r\n <ng-container *ngFor=\"let item of filteredData | keyvalue; let i = index\">\r\n <ngb-panel *ngIf=\"item.value.length > 0\" [id]=\"'panel-' + i\">\r\n\r\n <ng-template ngbPanelTitle style=\"height: 10%;\">\r\n <label\r\n style=\"font-weight: bold; font-size: 13px; line-height: 1.2; margin: 0; padding: 2px 0;color: #0c63e4;\">{{\r\n item.key\r\n }}</label>\r\n </ng-template>\r\n\r\n <ng-template ngbPanelContent>\r\n\r\n <div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"item?.value?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApis[i]\">\r\n ></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"width: 100%;height: 370px;\"\r\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [rowData]=\"item.value\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\" [gridOptions]=\"{\r\n suppressHorizontalScroll: true,\r\n scrollbarWidth: 0\r\n }\" [pagination]=\"true\" [paginationPageSize]=\"paginationArray[i]\" (gridReady)=\"onGridReady($event,i)\"\r\n (gridSizeChanged)=\"onGridSizeChanged($event)\">\r\n </ag-grid-angular>\r\n </div>\r\n </ng-template>\r\n\r\n </ngb-panel>\r\n </ng-container>\r\n </ngb-accordion>\r\n <div class=\"alert alert-warning mt-3\" *ngIf=\"noDataFound\">\r\n No Data Found\r\n </div>\r\n\r\n</section>\r\n", styles: [".btn-report{border-radius:4px;background-color:#8091a5;color:#fff!important;font-size:14px!important;height:32px!important;height:32px;min-width:110px;margin:0 0 0 20px!important;padding:4px 15px!important}.tooltip-block{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #ccc!important}.dpicker{border:1px solid #ccc!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"!important;font-size:12px!important;font-weight:400!important;height:32px!important}.dpicker:focus{box-shadow:0 0 5px 3px #1877f2!important}.cal{height:32px!important;background-color:#1877f2!important}.cal:focus{box-shadow:none!important}.input-group-button{background:none;border:1px solid #0081c6;background-color:#0081c6;border-radius:0 3px 3px 0;min-width:35px;margin-left:1px;cursor:pointer}.labl{font-size:11.2px;font-weight:700!important}.info{font-size:12px!important;font-weight:400;padding-left:.5rem}.label-data{font-weight:600!important;font-size:.7rem!important;line-height:1rem}.meta-td{padding:0!important}.title{text-align:center;font-size:18px;font-weight:700!important}.export-options{display:inline-flex;font-size:.75rem;height:2rem!important;width:5rem!important;margin-right:-1;margin-left:.4rem}.opt-cls{display:block;height:100%;width:5rem;border:1px solid #ccc!important;border-radius:4px!important;margin-right:1rem!important;outline:none!important}.opt-cls:focus{box-shadow:0 0 5px 3px #1877f2}.export-selector{height:2rem!important;width:100%}.search-btn{height:32px!important;height:32px;width:36px;background-color:#8091a5;border:none;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center}.search-btn:hover{background-color:#8091a5}.search-icon{height:16px;width:16px;object-fit:contain}.search-input{outline:none!important;border:1px solid #ccc!important;width:190px;height:32px!important;font-size:.75rem;padding:.25rem .5rem;border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;text-transform:uppercase}.search-input:focus{box-shadow:0 0 5px 3px #1877f2!important}.searchBox{margin-right:auto;display:flex}table{width:100%;border-collapse:separate;margin-bottom:0!important;table-layout:fixed!important}td{padding:0 1rem 6px 0!important;border-right:0 solid #ffffff!important;background-color:#fff!important}.row-cls{height:2.5rem!important}.inputbox{padding-left:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}::ng-deep .ng-select.ng-select-single .ng-select-container{height:32px I!important}::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;overflow-y:auto;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container .ng-value{max-width:200px!important;overflow:hidden!important;text-overflow:hidden!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow-x:scroll!important;text-overflow:clip!important}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option::-webkit-scrollbar{display:none!important;width:0!important}::ng-deep .ng-select .ng-select-container:focus-within{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container:focus{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container,::ng-deep .ng-select.ng-select-single .ng-select-container,::ng-deep .ng-select.ng-select-multiple .ng-select-container{min-height:32px!important;height:32px!important;font-size:12px!important}.transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important}::ng-deep .ag-center-cols-viewport{width:100%;overflow-x:hidden}\n"], dependencies: [{ kind: "component", type: i1.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PageSizeSelectorComponent, selector: "lib-page-size-selector", inputs: ["pageSizeArray", "defaultSize", "totalEntries", "gridApi"] }, { kind: "component", type: i4.MetadataComponent, selector: "lib-metadata", inputs: ["metaDataOne", "metaDataTwo", "showmetaDataOne", "showmetaDataTwo", "reportName"], outputs: ["searchEvent", "exportEvent"] }, { kind: "component", type: i5.NgbAccordion, selector: "ngb-accordion", inputs: ["animation", "activeIds", "closeOthers", "destroyOnHide", "type"], outputs: ["panelChange", "shown", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i5.NgbPanel, selector: "ngb-panel", inputs: ["disabled", "id", "title", "type", "cardClass"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i5.NgbPanelTitle, selector: "ng-template[ngbPanelTitle]" }, { kind: "directive", type: i5.NgbPanelContent, selector: "ng-template[ngbPanelContent]" }, { kind: "component", type: i6.LoaderComponent, selector: "app-loader" }, { kind: "component", type: i7.SearchFilterComponent, selector: "lib-search-filter", inputs: ["ReportName"], outputs: ["searchClicked"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }] });
459
459
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BranchActivityReceiveReportComponent, decorators: [{
460
460
  type: Component,
461
- args: [{ selector: 'lib-branch-activity-receive-report', template: "<lib-search-filter \r\n [ReportName]=\"ReportName\" \r\n (searchClicked)=\"handleSearch($event)\">\r\n</lib-search-filter>\r\n\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<section *ngIf=\"showReport\" class=\"my-2 mx-1\">\r\n <lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"false\" [metaDataOne]=\"metaDataOne\" [metaDataTwo]=\"\"(exportEvent)=\"handleExport($event)\" (searchEvent)=\"filter($event)\"></lib-metadata>\r\n\r\n <ngb-accordion #acc=\"ngbAccordion\" [closeOthers]=\"false\" [activeIds]=\"'panel-0'\">\r\n <ng-container *ngFor=\"let item of filteredData | keyvalue; let i = index\">\r\n <ngb-panel *ngIf=\"item.value.length > 0\" [id]=\"'panel-' + i\">\r\n\r\n <ng-template ngbPanelTitle style=\"height: 10%;\">\r\n <label\r\n style=\"font-weight: bold; font-size: 13px; line-height: 1.2; margin: 0; padding: 2px 0;color: #0c63e4;\">{{\r\n item.key\r\n }}</label>\r\n </ng-template>\r\n\r\n <ng-template ngbPanelContent>\r\n\r\n <div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"item?.value?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApis[i]\">\r\n ></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"width: 100%;height: 370px;\"\r\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [rowData]=\"item.value\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\" [gridOptions]=\"{\r\n suppressHorizontalScroll: true,\r\n scrollbarWidth: 0\r\n }\" [pagination]=\"true\" [paginationPageSize]=\"paginationArray[i]\" (gridReady)=\"onGridReady($event,i)\"\r\n (gridSizeChanged)=\"onGridSizeChanged($event)\">\r\n </ag-grid-angular>\r\n </div>\r\n </ng-template>\r\n\r\n </ngb-panel>\r\n </ng-container>\r\n </ngb-accordion>\r\n <div class=\"alert alert-warning mt-3\" *ngIf=\"noDataFound\">\r\n No Data Found\r\n </div>\r\n\r\n</section>\r\n", styles: [".btn-report{border-radius:4px;background-color:#8091a5;color:#fff!important;font-size:14px!important;height:32px!important;height:32px;min-width:110px;margin:0 0 0 20px!important;padding:4px 15px!important}.tooltip-block{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #ccc!important}.dpicker{border:1px solid #ccc!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"!important;font-size:12px!important;font-weight:400!important;height:32px!important}.dpicker:focus{box-shadow:0 0 5px 3px #1877f2!important}.cal{height:32px!important;background-color:#1877f2!important}.cal:focus{box-shadow:none!important}.input-group-button{background:none;border:1px solid #0081c6;background-color:#0081c6;border-radius:0 3px 3px 0;min-width:35px;margin-left:1px;cursor:pointer}.labl{font-size:11.2px;font-weight:700!important}.info{font-size:12px!important;font-weight:400;padding-left:.5rem}.label-data{font-weight:600!important;font-size:.7rem!important;line-height:1rem}.meta-td{padding:0!important}.title{text-align:center;font-size:18px;font-weight:700!important}.export-options{display:inline-flex;font-size:.75rem;height:2rem!important;width:5rem!important;margin-right:-1;margin-left:.4rem}.opt-cls{display:block;height:100%;width:5rem;border:1px solid #ccc!important;border-radius:4px!important;margin-right:1rem!important;outline:none!important}.opt-cls:focus{box-shadow:0 0 5px 3px #1877f2}.export-selector{height:2rem!important;width:100%}.search-btn{height:32px!important;height:32px;width:36px;background-color:#8091a5;border:none;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center}.search-btn:hover{background-color:#8091a5}.search-icon{height:16px;width:16px;object-fit:contain}.search-input{outline:none!important;border:1px solid #ccc!important;width:190px;height:32px!important;font-size:.75rem;padding:.25rem .5rem;border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;text-transform:uppercase}.search-input:focus{box-shadow:0 0 5px 3px #1877f2!important}.searchBox{margin-right:auto;display:flex}table{width:100%;border-collapse:separate;margin-bottom:0!important;table-layout:fixed!important}td{padding:0 1rem 6px 0!important;border-right:0 solid #ffffff!important;background-color:#fff!important}.row-cls{height:2.5rem!important}.inputbox{padding-left:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}::ng-deep .ng-select.ng-select-single .ng-select-container{height:32px I!important}::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;overflow-y:auto;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container .ng-value{max-width:200px!important;overflow:hidden!important;text-overflow:hidden!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow-x:scroll!important;text-overflow:clip!important}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option::-webkit-scrollbar{display:none!important;width:0!important}::ng-deep .ng-select .ng-select-container:focus-within{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container:focus{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container,::ng-deep .ng-select.ng-select-single .ng-select-container,::ng-deep .ng-select.ng-select-multiple .ng-select-container{min-height:32px!important;height:32px!important;font-size:12px!important}.transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important}::ng-deep .compact-grid .ag-cell{cursor:default!important;border-right:1px solid #e0e0e0;padding:2px 3px!important;font-size:9px!important;display:flex!important;align-items:center!important}::ng-deep .compact-grid .ag-cell-value{cursor:text!important;font-size:9px!important;padding:0 3px 0 2px!important}::ng-deep .compact-grid .ag-right-aligned-cell{text-align:right!important;justify-content:flex-end!important;text-overflow:ellipsis}::ng-deep .ag-center-cols-viewport{width:100%;overflow-x:hidden}\n"] }]
461
+ args: [{ selector: 'lib-branch-activity-receive-report', template: "<lib-search-filter \r\n [ReportName]=\"ReportName\" \r\n (searchClicked)=\"handleSearch($event)\">\r\n</lib-search-filter>\r\n\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<section *ngIf=\"showReport\" class=\"my-2 mx-1\">\r\n <lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"false\" [metaDataOne]=\"metaDataOne\" [metaDataTwo]=\"\"(exportEvent)=\"handleExport($event)\" (searchEvent)=\"filter($event)\"></lib-metadata>\r\n\r\n <ngb-accordion #acc=\"ngbAccordion\" [closeOthers]=\"false\" [activeIds]=\"'panel-0'\">\r\n <ng-container *ngFor=\"let item of filteredData | keyvalue; let i = index\">\r\n <ngb-panel *ngIf=\"item.value.length > 0\" [id]=\"'panel-' + i\">\r\n\r\n <ng-template ngbPanelTitle style=\"height: 10%;\">\r\n <label\r\n style=\"font-weight: bold; font-size: 13px; line-height: 1.2; margin: 0; padding: 2px 0;color: #0c63e4;\">{{\r\n item.key\r\n }}</label>\r\n </ng-template>\r\n\r\n <ng-template ngbPanelContent>\r\n\r\n <div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"item?.value?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApis[i]\">\r\n ></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"width: 100%;height: 370px;\"\r\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [rowData]=\"item.value\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\" [gridOptions]=\"{\r\n suppressHorizontalScroll: true,\r\n scrollbarWidth: 0\r\n }\" [pagination]=\"true\" [paginationPageSize]=\"paginationArray[i]\" (gridReady)=\"onGridReady($event,i)\"\r\n (gridSizeChanged)=\"onGridSizeChanged($event)\">\r\n </ag-grid-angular>\r\n </div>\r\n </ng-template>\r\n\r\n </ngb-panel>\r\n </ng-container>\r\n </ngb-accordion>\r\n <div class=\"alert alert-warning mt-3\" *ngIf=\"noDataFound\">\r\n No Data Found\r\n </div>\r\n\r\n</section>\r\n", styles: [".btn-report{border-radius:4px;background-color:#8091a5;color:#fff!important;font-size:14px!important;height:32px!important;height:32px;min-width:110px;margin:0 0 0 20px!important;padding:4px 15px!important}.tooltip-block{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #ccc!important}.dpicker{border:1px solid #ccc!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"!important;font-size:12px!important;font-weight:400!important;height:32px!important}.dpicker:focus{box-shadow:0 0 5px 3px #1877f2!important}.cal{height:32px!important;background-color:#1877f2!important}.cal:focus{box-shadow:none!important}.input-group-button{background:none;border:1px solid #0081c6;background-color:#0081c6;border-radius:0 3px 3px 0;min-width:35px;margin-left:1px;cursor:pointer}.labl{font-size:11.2px;font-weight:700!important}.info{font-size:12px!important;font-weight:400;padding-left:.5rem}.label-data{font-weight:600!important;font-size:.7rem!important;line-height:1rem}.meta-td{padding:0!important}.title{text-align:center;font-size:18px;font-weight:700!important}.export-options{display:inline-flex;font-size:.75rem;height:2rem!important;width:5rem!important;margin-right:-1;margin-left:.4rem}.opt-cls{display:block;height:100%;width:5rem;border:1px solid #ccc!important;border-radius:4px!important;margin-right:1rem!important;outline:none!important}.opt-cls:focus{box-shadow:0 0 5px 3px #1877f2}.export-selector{height:2rem!important;width:100%}.search-btn{height:32px!important;height:32px;width:36px;background-color:#8091a5;border:none;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center}.search-btn:hover{background-color:#8091a5}.search-icon{height:16px;width:16px;object-fit:contain}.search-input{outline:none!important;border:1px solid #ccc!important;width:190px;height:32px!important;font-size:.75rem;padding:.25rem .5rem;border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;text-transform:uppercase}.search-input:focus{box-shadow:0 0 5px 3px #1877f2!important}.searchBox{margin-right:auto;display:flex}table{width:100%;border-collapse:separate;margin-bottom:0!important;table-layout:fixed!important}td{padding:0 1rem 6px 0!important;border-right:0 solid #ffffff!important;background-color:#fff!important}.row-cls{height:2.5rem!important}.inputbox{padding-left:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}::ng-deep .ng-select.ng-select-single .ng-select-container{height:32px I!important}::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;overflow-y:auto;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container .ng-value{max-width:200px!important;overflow:hidden!important;text-overflow:hidden!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow-x:scroll!important;text-overflow:clip!important}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option::-webkit-scrollbar{display:none!important;width:0!important}::ng-deep .ng-select .ng-select-container:focus-within{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container:focus{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container,::ng-deep .ng-select.ng-select-single .ng-select-container,::ng-deep .ng-select.ng-select-multiple .ng-select-container{min-height:32px!important;height:32px!important;font-size:12px!important}.transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important}::ng-deep .ag-center-cols-viewport{width:100%;overflow-x:hidden}\n"] }]
462
462
  }], ctorParameters: function () { return []; } });
463
463
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmNoLWFjdGl2aXR5LXJlY2VpdmUtcmVwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9icmFuY2gtYWN0aXZpdHktcmVjZWl2ZS1yZXBvcnQvYnJhbmNoLWFjdGl2aXR5LXJlY2VpdmUtcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9icmFuY2gtYWN0aXZpdHktcmVjZWl2ZS1yZXBvcnQvYnJhbmNoLWFjdGl2aXR5LXJlY2VpdmUtcmVwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFL0UsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUV4QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBT3pCLE1BQU0sT0FBTyxvQ0FBb0M7SUE4Qy9DO1FBN0NBLFNBQUksR0FBUSxFQUFFLENBQUM7UUFDZixZQUFPLEdBQXVELEVBQUUsQ0FBQTtRQUNoRSxpQkFBWSxHQUF1RCxFQUFFLENBQUE7UUFDckUsU0FB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sRGVmLCBHcmlkQXBpLCBHcmlkUmVhZHlFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcclxuaW1wb3J0IHsgUmVwb3J0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudExvYWRpbmdTdGF0ZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tcG9uZW50LWxvYWRpbmctc3RhdGVzJztcclxuaW1wb3J0IHsgQnJhbmNoQWN0aXZpdHlSZWNlaXZlUmVwb3J0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJhbmNoLWFjdGl2aXR5LXJlY2VpdmUtcmVwb3J0L2JyYW5jaC1hY3Rpdml0eS1yZWNlaXZlLm1vZGVsJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCAqIGFzIEV4Y2VsSlMgZnJvbSAnZXhjZWxqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgdGhlbWVBbHBpbmUgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvdGhlbWluZyc7XHJcbmltcG9ydCBqc1BERiBmcm9tICdqc3BkZic7XHJcbmltcG9ydCAnanNwZGYtYXV0b3RhYmxlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJyYW5jaC1hY3Rpdml0eS1yZWNlaXZlLXJlcG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JyYW5jaC1hY3Rpdml0eS1yZWNlaXZlLXJlcG9ydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnJhbmNoLWFjdGl2aXR5LXJlY2VpdmUtcmVwb3J0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJyYW5jaEFjdGl2aXR5UmVjZWl2ZVJlcG9ydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF0YTogYW55ID0gW107XHJcbiAgZGF0YU1hcDogUmVjb3JkPHN0cmluZywgQnJhbmNoQWN0aXZpdHlSZWNlaXZlUmVwb3J0TW9kZWxbXT4gPSB7fVxyXG4gIGZpbHRlcmVkRGF0YTogUmVjb3JkPHN0cmluZywgQnJhbmNoQWN0aXZpdHlSZWNlaXZlUmVwb3J0TW9kZWxbXT4gPSB7fVxyXG4gIHVzZXI6IHN0cmluZyA9IFwia2F1c2hpay5rdWxzYW5nZUB4cHJlc3Ntb25leS50ZWNoXCI7XHJcbiAgUmVwb3J0TmFtZSA9IFwiQnJhbmNoIEFjdGl2aXR5IFJlY2VpdmVcIlxyXG4gIHJlcG9ydFNlcnZpY2U6IFJlcG9ydFNlcnZpY2UgPSBpbmplY3QoUmVwb3J0U2VydmljZSk7XHJcbiAgcmVwb3J0RGF0ZTogc3RyaW5nO1xyXG4gIG1ldGFEYXRhT25lOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIENvbXBvbmVudExvYWRpbmdTdGF0ZSA9IENvbXBvbmVudExvYWRpbmdTdGF0ZXM7XHJcbiAgbG9hZGluZ1N0YXRlOiBDb21wb25lbnRMb2FkaW5nU3RhdGVzID0gQ29tcG9uZW50TG9hZGluZ1N0YXRlcy5Db21wbGV0ZTtcclxuICBwYWdpbmF0aW9uQXJyYXk6IGFueVtdO1xyXG4gIHNlbGVjdGVkRXhwb3J0T3B0aW9uOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBsb2dvQmFzZTY0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgc2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XHJcblxyXG4gIGdyaWRBcGlzOiBHcmlkQXBpW10gPSBbXTtcclxuXHJcbiAgc2hvd1JlcG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG5vRGF0YUZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbHVtbkRlZnM6IENvbERlZjxCcmFuY2hBY3Rpdml0eVJlY2VpdmVSZXBvcnRNb2RlbD5bXSA9IFtcclxuICAgIHsgZmllbGQ6ICdidXNpbmVzc0RhdGVUaW1lJywgaGVhZGVyTmFtZTogJ0J1c2luZXNzIERhdGUnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWhlYWRlci1jZWxsJywgbWluV2lkdGg6IDcwLCB3aWR0aDogNzAsIHRvb2x0aXBGaWVsZDogJ2J1c2luZXNzRGF0ZVRpbWUnIH0sXHJcbiAgICB7IGZpZWxkOiAndHJhbnNhY3Rpb25EYXRlQW5kVGltZScsIGhlYWRlck5hbWU6ICdSZWNlaXZlIERhdGUnLCBmbGV4OiAyLCBoZWFkZXJDbGFzczogJ2FnLWhlYWRlci1jZWxsJywgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIHRvb2x0aXBGaWVsZDogJ3RyYW5zYWN0aW9uRGF0ZUFuZFRpbWUnIH0sXHJcbiAgICB7IGZpZWxkOiAndHJhbnNhY3Rpb25OdW1iZXInLCBoZWFkZXJOYW1lOiAnVHJhbnNhY3Rpb24gTnVtYmVyJywgZmxleDogMS44LCBoZWFkZXJDbGFzczogJ2FnLWhlYWRlci1jZWxsJywgd2lkdGg6IDEzMCwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsLXRyYW5zYWN0aW9uJywgdG9vbHRpcEZpZWxkOiAndHJhbnNhY3Rpb25OdW1iZXInIH0sXHJcbiAgICB7IGZpZWxkOiAncHJvZHVjdCcsIGhlYWRlck5hbWU6ICdQcm9kdWN0JywgZmxleDogMC41LCBoZWFkZXJDbGFzczogJ2FnLWhlYWRlci1jZWxsJywgbWluV2lkdGg6IDUwLCB3aWR0aDogNjAsIHRvb2x0aXBGaWVsZDogJ3Byb2R1Y3QnIH0sXHJcbiAgICB7IGZpZWxkOiAnc2VuZGVyTmFtZScsIGhlYWRlck5hbWU6ICdTZW5kZXIgTmFtZScsIGZsZXg6IDEsIGhlYWRlckNsYXNzOiAnYWctaGVhZGVyLWNlbGwnLCB3aWR0aDogMTMwLCB0b29sdGlwRmllbGQ6ICdzZW5kZXJOYW1lJyB9LFxyXG4gICAgeyBmaWVsZDogJ3NlbmRBZ2VudENvZGUnLCBoZWFkZXJOYW1lOiAnU2VuZCBDbGllbnRDb2RlJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1oZWFkZXItY2VsbCcsIG1pbldpZHRoOiA3MCwgd2lkdGg6IDcwLCB0b29sdGlwRmllbGQ6ICdzZW5kQWdlbnRDb2RlJyB9LFxyXG4gICAgeyBmaWVsZDogJ3JlY2VpdmVyTmFtZScsIGhlYWRlck5hbWU6ICdSZWNlaXZlciBOYW1lJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1oZWFkZXItY2VsbCcsIHdpZHRoOiAxMzAsIHRvb2x0aXBGaWVsZDogJ3JlY2VpdmVyTmFtZScgfSxcclxuICAgIHsgZmllbGQ6ICdyZWNlaXZlQWdlbnRCcmFuY2hDb2RlJywgaGVhZGVyTmFtZTogJ1JlY2VpdmVDbGllbnQgQnJhbmNoQ29kZScsIGhlYWRlckNsYXNzOiAnYWctaGVhZGVyLWNlbGwnLCBmbGV4OiAxLCBtYXhXaWR0aDogMTIwLCB0b29sdGlwRmllbGQ6ICdyZWNlaXZlQWdlbnRCcmFuY2hDb2RlJyB9LFxyXG4gICAgeyBmaWVsZDogJ3BheU91dEN1cnJlbmN5JywgaGVhZGVyTmFtZTogJ1JlY2VpdmUgQ2N5Q29kZScsIGZsZXg6IDEsIGhlYWRlckNsYXNzOiAnYWctaGVhZGVyLWNlbGwnLCBtYXhXaWR0aDogOTAsIHRvb2x0aXBGaWVsZDogJ3BheU91dEN1cnJlbmN5JyB9LFxyXG4gICAgeyBmaWVsZDogJ2Ftb3VudFBhaWQnLCBoZWFkZXJOYW1lOiAnQW1vdW50IFBhaWQnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWhlYWRlci1jZWxsJywgd2lkdGg6IDEwMCwgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuY3VycmVuY3lGb3JtYXR0ZXIuYmluZCh0aGlzKSwgY2VsbENsYXNzOiAnYWctcmlnaHQtYWxpZ25lZC1jZWxsIGNvbXBhY3QtY2VsbCcsIHRvb2x0aXBGaWVsZDogJ2Ftb3VudFBhaWQnIH0sXHJcbiAgICB7IGZpZWxkOiAnc3RhdHVzJywgaGVhZGVyTmFtZTogJ1RyYW5zYWN0aW9uIFN0YXR1cycsIGZsZXg6IDEsIGhlYWRlckNsYXNzOiAnYWctaGVhZGVyLWNlbGwnLCB0b29sdGlwRmllbGQ6ICdzdGF0dXMnIH1cclxuICBdO1xyXG5cclxuICBkZWZhdWx0Q29sRGVmID0ge1xyXG4gICAgc29ydGFibGU6IHRydWUsXHJcbiAgICBmaWx0ZXI6IGZhbHNlLFxyXG4gICAgcmVzaXphYmxlOiB0cnVlLFxyXG4gICAgbWlud2lkdGg6IDQwLFxyXG4gICAgd3JhcEhlYWRlclRleHQ6IHRydWUsXHJcbiAgICBhdXRvSGVhZGVySGVpZ2h0OiB0cnVlLFxyXG4gICAgc3VwcHJlc3NTaXplVG9GaXQ6IGZhbHNlLFxyXG4gICAgd3JhcFRleHQ6IHRydWVcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZEltYWdlQXNCYXNlNjQoJy9hc3NldHMvcmVwb3J0cy1saWIvYXNzZXRzL2ltYWdlcy9YTUxvZ28ucG5nJykudGhlbihiYXNlNjQgPT4ge1xyXG4gICAgICB0aGlzLmxvZ29CYXNlNjQgPSBiYXNlNjQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uR3JpZFJlYWR5KHBhcmFtczogR3JpZFJlYWR5RXZlbnQsIGlkOiBudW1iZXIpIHtcclxuICAgIHBhcmFtcy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xyXG4gICAgdGhpcy5ncmlkQXBpc1tpZF0gPSBwYXJhbXMuYXBpO1xyXG4gIH1cclxuXHJcbiAgb25HcmlkU2l6ZUNoYW5nZWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHBhcmFtcy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3VycmVuY3kgRm9ybWF0dGVyXHJcbiAgY3VycmVuY3lGb3JtYXR0ZXIocGFyYW1zOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKHBhcmFtcy52YWx1ZSA9PSBudWxsIHx8IHBhcmFtcy52YWx1ZSA9PT0gJycpIHJldHVybiAnJztcclxuICAgIGNvbnN0IG51bWJlciA9IHBhcnNlRmxvYXQocGFyYW1zLnZhbHVlKTtcclxuICAgIGlmIChpc05hTihudW1iZXIpKSByZXR1cm4gcGFyYW1zLnZhbHVlO1xyXG4gICAgcmV0dXJuIG51bWJlci50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAzXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUV4cG9ydChvcHRpb246IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWxlY3RlZEV4cG9ydE9wdGlvbiA9IG9wdGlvbjtcclxuICAgIGNvbnN0IGRhdGE6IGFueVtdID0gW107XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5maWx0ZXJlZERhdGEpLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZEV4cG9ydE9wdGlvbikge1xyXG4gICAgICBjYXNlICdleGNlbCc6XHJcbiAgICAgICAgdGhpcy5leHBvcnRFeGNlbChkYXRhKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncGRmJzpcclxuICAgICAgICB0aGlzLmV4cG9ydFBERihkYXRhKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY3N2JzpcclxuICAgICAgICB0aGlzLmV4cG9ydENTVihkYXRhKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBhbGVydCgnUGxlYXNlIHNlbGVjdCBhbiBleHBvcnQgZm9ybWF0LicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFV0aWxpdHkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgcHJpdmF0ZSBsb2FkSW1hZ2VBc0Jhc2U2NChpbWFnZVBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XHJcbiAgICAgIGltZy5zcmMgPSBpbWFnZVBhdGg7XHJcblxyXG4gICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgIC8vIFNjYWxlIHVwIGNhbnZhcyByZXNvbHV0aW9uICgyeCBvciBtb3JlKVxyXG4gICAgICAgIGNvbnN0IHNjYWxlID0gMjtcclxuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgICAgICBjYW52YXMud2lkdGggPSBpbWcud2lkdGggKiBzY2FsZTtcclxuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaW1nLmhlaWdodCAqIHNjYWxlO1xyXG5cclxuICAgICAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICBpZiAoY3R4KSB7XHJcbiAgICAgICAgICBjdHguc2NhbGUoc2NhbGUsIHNjYWxlKTsgLy8gRHJhdyBpbWFnZSBhdCBoaWdoZXIgcXVhbGl0eVxyXG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDApO1xyXG4gICAgICAgICAgY29uc3QgYmFzZTY0ID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJywgMS4wKTsgLy8gMS4wID0gaGlnaGVzdCBxdWFsaXR5XHJcbiAgICAgICAgICByZXNvbHZlKGJhc2U2NCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdCgnRmFpbGVkIHRvIGdldCBjYW52YXMgY29udGV4dC4nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBpbWcub25lcnJvciA9ICgpID0+IHJlamVjdCgnRmFpbGVkIHRvIGxvYWQgaW1hZ2U6ICcgKyBpbWFnZVBhdGgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRQREYoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBjdXJyZW5jeUZpZWxkcyA9IFsncGF5b3V0QW1vdW50JywgJ3BheWluQW1vdW50JywgJ3RvdGFsUGF5aW5BbW91bnQnLCAndGF4JywgJ3RyYW5zYWN0aW9uQ29tbWlzc2lvbkFtb3VudCddO1xyXG4gICAgZGF0YSA9IE9iamVjdC52YWx1ZXModGhpcy5kYXRhTWFwKVswXTtcclxuICAgIGNvbnN0IGRvYyA9IG5ldyBqc1BERih7XHJcbiAgICAgIG9yaWVudGF0aW9uOiAnbGFuZHNjYXBlJyxcclxuICAgICAgdW5pdDogJ21tJyxcclxuICAgICAgZm9ybWF0OiBbNDAwLCAyMTBdXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBwYWdlV2lkdGggPSBkb2MuaW50ZXJuYWwucGFnZVNpemUud2lkdGg7XHJcblxyXG4gICAgLy9UaXRsZVxyXG4gICAgY29uc3QgdGl0bGUgPSBgQnJhbmNoIEFjdGl2aXR5IFNlbmRgO1xyXG4gICAgZG9jLnNldEZvbnRTaXplKDE1KTtcclxuICAgIGRvYy5zZXRGb250KCdoZWx2ZXRpY2EnLCAnYm9sZCcpO1xyXG4gICAgY29uc3QgdGV4dFdpZHRoID0gZG9jLmdldFRleHRXaWR0aCh0aXRsZSk7XHJcbiAgICBkb2MudGV4dCh0aXRsZSwgZG9jLmludGVybmFsLnBhZ2VTaXplLndpZHRoIC8gMiwgMTUsIHsgYWxpZ246ICdjZW50ZXInIH0pO1xyXG5cclxuICAgIC8vQWRkIEltYWdlXHJcbiAgICBpZiAodGhpcy5sb2dvQmFzZTY0KSB7XHJcbiAgICAgIGRvYy5hZGRJbWFnZSh0aGlzLmxvZ29CYXNlNjQsICdQTkcnLCAxNSwgNSwgMjUsIDIwKTtcclxuICAgIH1cclxuXHJcbiAgICAvL0luZm8gYmxvY2tcclxuICAgIGNvbnN0IGluZm9ZID0gMzA7XHJcbiAgICBjb25zdCBsZWZ0TWFyZ2luID0gMTU7XHJcbiAgICBjb25zdCBsaW5lSGVpZ2h0ID0gNztcclxuICAgIGNvbnN0IGluZm9MaW5lcyA9IFtcclxuICAgICAgWydSZXBvcnQgVXNlciBBbmQgVGltZTonLCB0aGlzLnVzZXJdLFxyXG4gICAgICBbJ1JlcG9ydCBUaW1lJywgdGhpcy5yZXBvcnREYXRlXVxyXG4gICAgICAvLyBbJ1JlcG9ydCBQZXJpb2Q6JywgYCR7dGhpcy5mcm9tRGF0ZX0gLSAke3RoaXMudG9EYXRlfWBdXHJcbiAgICBdXHJcblxyXG4gICAgZG9jLnNldEZvbnRTaXplKDEwKTtcclxuICAgIGluZm9MaW5lcy5mb3JFYWNoKChbbGFiZWwsIHZhbHVlXSwgaSkgPT4ge1xyXG4gICAgICBjb25zdCB5ID0gaW5mb1kgKyBpICogbGluZUhlaWdodDtcclxuICAgICAgLy8gRHJhdyBsYWJlbCBpbiBib2xkXHJcbiAgICAgIGRvYy5zZXRGb250KCdoZWx2ZXRpY2EnLCAnYm9sZCcpO1xyXG4gICAgICBkb2MudGV4dChsYWJlbCwgbGVmdE1hcmdpbiwgeSk7XHJcblxyXG4gICAgICAvLyBEcmF3IHZhbHVlIGluIG5vcm1hbCBmb250IHJpZ2h0IGFmdGVyIGxhYmVsXHJcbiAgICAgIGNvbnN0IGxhYmVsV2lkdGggPSBkb2MuZ2V0VGV4dFdpZHRoKGxhYmVsICsgJyAnKTtcclxuICAgICAgZG9jLnNldEZvbnQoJ2hlbHZldGljYScsICdub3JtYWwnKTtcclxuICAgICAgZG9jLnRleHQodmFsdWUsIGxlZnRNYXJnaW4gKyBsYWJlbFdpZHRoLCB5KTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGZpbHRlcmVkQ29sdW1ucyA9IHRoaXMuY29sdW1uRGVmcy5maWx0ZXIoY29sID0+XHJcbiAgICAgICEoY29sLmhlYWRlck5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3NyLiBubycpIHx8IGNvbC5maWVsZD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnc3JubycpIHx8IGNvbC5maWVsZD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnc2VyaWFsJykpXHJcbiAgICApO1xyXG5cclxuICAgIC8vIFByZXBhcmUgaGVhZGVycyB3aXRoIFNyIE5vXHJcbiAgICBjb25zdCBoZWFkZXJzID0gWydTciBObycsIC4uLmZpbHRlcmVkQ29sdW1ucy5tYXAoY29sID0+IGNvbC5oZWFkZXJOYW1lIHx8IGNvbC5maWVsZCEpXTtcclxuXHJcbiAgICBsZXQgUm93czogYW55W10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHJlcG9ydHNdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YU1hcCkpIHtcclxuICAgICAgUm93cy5wdXNoKFt7IGNvbnRlbnQ6IGtleSwgY29sU3BhbjogMTUgfV0pO1xyXG4gICAgICBjb25zdCByb3dzID0gcmVwb3J0cy5tYXAoKHJvdywgaW5kZXgpID0+IHtcclxuICAgICAgICBjb25zdCByb3dEYXRhID0gZmlsdGVyZWRDb2x1bW5zLm1hcChjb2wgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gcm93W2NvbC5maWVsZCFdO1xyXG4gICAgICAgICAgaWYgKGN1cnJlbmN5RmllbGRzLmluY2x1ZGVzKGNvbC5maWVsZCkgJiYgdmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpLnRvRml4ZWQoMyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdmFsdWUgPz8gJyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgUm93cy5wdXNoKFtpbmRleCArIDEsIC4uLnJvd0RhdGFdKTtcclxuICAgICAgICByZXR1cm4gW2luZGV4ICsgMSwgLi4ucm93RGF0YV07XHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyBSb3dzLnB1c2gocm93cyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUHJlcGFyZSByb3dzIHdpdGggU3IgTm9cclxuICAgIGNvbnN0IHJvd3MgPSBkYXRhLm1hcCgocm93LCBpbmRleCkgPT4ge1xyXG4gICAgICBjb25zdCByb3dEYXRhID0gZmlsdGVyZWRDb2x1bW5zLm1hcChjb2wgPT4ge1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IHJvd1tjb2wuZmllbGQhXTtcclxuICAgICAgICByZXR1cm4gdmFsdWUgPz8gJyc7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gW2luZGV4ICsgMSwgLi4ucm93RGF0YV07XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBHZW5lcmF0ZSBkeW5hbWljIGNvbHVtbiBzdHlsZXMgZm9yIGF1dG8td2lkdGhcclxuICAgIGNvbnN0IGNvbHVtblN0eWxlczogeyBba2V5OiBudW1iZXJdOiBhbnkgfSA9IHt9O1xyXG4gICAgaGVhZGVycy5mb3JFYWNoKChfLCBpKSA9PiB7XHJcbiAgICAgIGNvbHVtblN0eWxlc1tpXSA9IHsgY2VsbFdpZHRoOiAnYXV0bycgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbHVtblN0eWxlc1syXSA9IHsgY2VsbFdpZHRoOiA0MCB9O1xyXG5cclxuICAgIC8vIFJlbmRlciBUYWJsZVxyXG4gICAgZG9jLmF1dG9UYWJsZSh7XHJcbiAgICAgIGhlYWQ6IFtoZWFkZXJzXSxcclxuICAgICAgYm9keTogUm93cyxcclxuICAgICAgc3RhcnRZOiBpbmZvWSArIGluZm9MaW5lcy5sZW5ndGggKiBsaW5lSGVpZ2h0ICsgNSxcclxuICAgICAgdGhlbWU6ICdncmlkJyxcclxuICAgICAgaGVhZFN0eWxlczoge1xyXG4gICAgICAgIGZpbGxDb2xvcjogWzIyMCwgMjIwLCAyMjBdLFxyXG4gICAgICAgIHRleHRDb2xvcjogMCxcclxuICAgICAgICBmb250U3R5bGU6ICdib2xkJyxcclxuICAgICAgICBmb250U2l6ZTogOSxcclxuICAgICAgICBoYWxpZ246ICdjZW50ZXInXHJcbiAgICAgIH0sXHJcbiAgICAgIGJkeVN0eWxlczoge1xyXG4gICAgICAgIGZvbnRTaXplOiA4LFxyXG4gICAgICAgIGZpbGxDb2xvcjogWzI1NSwgMjU1LCAyNTVdLFxyXG4gICAgICAgIHRleHRDb2xvcjogWzAsIDAsIDBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHN0eWxlczoge1xyXG4gICAgICAgIGNlbGxQYWRkaW5nOiAyLFxyXG4gICAgICAgIG92ZXJmbG93OiAnbGluZWJyZWFrJyxcclxuICAgICAgICBtaW5DZWxsSGVpZ2h0OiA2XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbHVtblN0eWxlczogY29sdW1uU3R5bGVzXHJcbiAgICB9KTtcclxuICAgIGRvYy5zYXZlKFwiQnJhbmNoLUFjdGl2aXR5LVNlbmQtUmVwb3J0LnBkZlwiKVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0RXhjZWwoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBjdXJyZW5jeUZpZWxkcyA9IFsncGF5b3V0QW1vdW50JywgJ3BheWluQW1vdW50JywgJ3RvdGFsUGF5aW5BbW91bnQnLCAndGF4JywgJ3RyYW5zYWN0aW9uQ29tbWlzc2lvbkFtb3VudCddO1xyXG4gICAgY29uc3Qgd29ya2Jvb2sgPSBuZXcgRXhjZWxKUy5Xb3JrYm9vaygpO1xyXG4gICAgY29uc3Qgd29ya3NoZWV0ID0gd29ya2Jvb2suYWRkV29ya3NoZWV0KCdCcmFuY2gtQWN0aXZpdHktU2VuZC1SZXBvcnQnKTtcclxuICAgIGNvbnN0IHRvdGFsQ29sdW1ucyA9IHRoaXMuY29sdW1uRGVmcy5sZW5ndGg7XHJcblxyXG4gICAgLy8gVGl0bGUgUm93XHJcbiAgICBjb25zdCB0aXRsZVJvdyA9IHdvcmtzaGVldC5hZGRSb3coW1wiQnJhbmNoIEFjdGl2aXR5IFNlbmRcIl0pO1xyXG4gICAgdGl0bGVSb3cuZm9udCA9IHsgYm9sZDogdHJ1ZSwgc2l6ZTogMTQgfTtcclxuICAgIHRpdGxlUm93LmhlaWdodCA9IDYwO1xyXG4gICAgd29ya3NoZWV0Lm1lcmdlQ2VsbHMoYEEke3RpdGxlUm93Lm51bWJlcn06JHtTdHJpbmcuZnJvbUNoYXJDb2RlKDY0ICsgdG90YWxDb2x1bW5zKX0ke3RpdGxlUm93Lm51bWJlcn1gKTtcclxuICAgIC8vQ2VudGVyIGFsaWduIHRoZSB0aXRsZVxyXG4gICAgY29uc3QgbWFzdGVyQ2VsbCA9IHdvcmtzaGVldC5nZXRDZWxsKGBBJHt0aXRsZVJvdy5udW1iZXJ9YCk7XHJcbiAgICBtYXN0ZXJDZWxsLmFsaWdubWVudCA9IHsgaG9yaXpvbnRhbDogJ2NlbnRlcicsIHZlcnRpY2FsOiAnbWlkZGxlJyB9O1xyXG5cclxuICAgIC8vIEFkZCBpbWFnZSBpZiBhdmFpbGFibGVcclxuICAgIGlmICh0aGlzLmxvZ29CYXNlNjQpIHtcclxuICAgICAgY29uc3QgYmFzZTY0RGF0YSA9IHRoaXMubG9nb0Jhc2U2NC5yZXBsYWNlKC9eZGF0YTppbWFnZVxcL1xcdys7YmFzZTY0LC8sICcnKTtcclxuICAgICAgY29uc3QgaW1hZ2VJZCA9IHdvcmtib29rLmFkZEltYWdlKHtcclxuICAgICAgICBiYXNlNjQ6IGJhc2U2NERhdGEsXHJcbiAgICAgICAgZXh0ZW5zaW9uOiAncG5nJyxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAvLyBQbGFjZSBpbWFnZSBhdCB0b3AtbGVmdCAoZS5nLiwgQTE6QzQpXHJcbiAgICAgIHdvcmtzaGVldC5hZGRJbWFnZShpbWFnZUlkLCB7XHJcbiAgICAgICAgdGw6IHsgY29sOiAwLCByb3c6IDAgfSxcclxuICAgICAgICBleHQ6IHsgd2lkdGg6IDE1MCwgaGVpZ2h0OiA1MCB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvL01ldGEgRGF0YVxyXG4gICAgY29uc3QgbWV0YTogW3N0cmluZywgc3RyaW5nXVtdID0gW1xyXG4gICAgICBbJ1JlcG9ydCBVc2VyICcsIHRoaXMudXNlcl0sXHJcbiAgICAgIFsnUmVwb3J0IFRpbWUnLCB0aGlzLnJlcG9ydERhdGVdXHJcbiAgICAgIC8vIFsnUmVwb3J0IFBlcmlvZCcsIGAke3RoaXMuZnJvbURhdGV9IC0gJHt0aGlzLnRvRGF0ZX1gXVxyXG4gICAgXVxyXG5cclxuICAgIG1ldGEuZm9yRWFjaCgoW2xhYmVsLCB2YWx1ZV0pID0+IHtcclxuICAgICAgY29uc3Qgcm93ID0gd29ya3NoZWV0LmFkZFJvdyhbbGFiZWwsIHZhbHVlXSk7XHJcbiAgICAgIC8vQm9sZCB0aGUga2V5IGNvbHVtblxyXG4gICAgICBjb25zdCBsYWJlbENlbGwgPSByb3cuZ2V0Q2VsbCgxKTtcclxuICAgICAgbGFiZWxDZWxsLmZvbnQgPSB7IGJvbGQ6IHRydWUgfTtcclxuICAgIH0pXHJcbiAgICAvLyBGb3IgRW1wdHkgUm93XHJcbiAgICB3b3Jrc2hlZXQuYWRkUm93KFtdKTtcclxuXHJcbiAgICAvLyBBZGQgSGVhZGVyIFJvdyBmb3IgRGF0YSBUYWJsZVxyXG4gICAgY29uc3QgaGVhZGVyUm93ID0gd29ya3NoZWV0LmFkZFJvdyh0aGlzLmNvbHVtbkRlZnMubWFwKGNvbCA9PiBjb2wuaGVhZGVyTmFtZSB8fCBjb2wuZmllbGQpKTtcclxuICAgIGhlYWRlclJvdy5mb250ID0geyBib2xkOiB0cnVlIH07XHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLmNvbHVtbkRlZnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgY2VsbCA9IGhlYWRlclJvdy5nZXRDZWxsKGkpO1xyXG4gICAgICBjZWxsLmZpbGwgPSB7XHJcbiAgICAgICAgdHlwZTogJ3BhdHRlcm4nLFxyXG4gICAgICAgIHBhdHRlcm46ICdzb2xpZCcsXHJcbiAgICAgICAgZmdDb2xvcjogeyBhcmdiOiAnRDlEOUQ5JyB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGhlYWRlclJvdy5hbGlnbm1lbnQgPSB7XHJcbiAgICAgIHdyYXBUZXh0OiB0cnVlLFxyXG4gICAgICB2ZXJ0aWNhbDogJ3RvcCcsXHJcbiAgICAgIGhvcml6b250YWw6ICdjZW50ZXInXHJcbiAgICB9O1xyXG4gICAgaGVhZGVyUm93LmJvcmRlciA9IHtcclxuICAgICAgdG9wOiB7IHN0eWxlOiAndGhpbicgfSwgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBkYXRhU3RhcnRSb3cgPSB3b3Jrc2hlZXQubGFzdFJvdyEubnVtYmVyICsgMTtcclxuICAgIGNvbnN0IGJyYW5jaFJvd3MgPSBbXTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgcmVwb3J0c10gb2YgT2JqZWN0LmVudHJpZXModGhpcy5kYXRhTWFwKSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnS2V5OicsIGtleSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdSZXBvcnRzOicsIHJlcG9ydHMpO1xyXG4gICAgICBjb25zdCByb3cgPSB3b3Jrc2hlZXQuYWRkUm93KFtgJHtrZXl9YF0pO1xyXG4gICAgICB3b3Jrc2hlZXQubWVyZ2VDZWxscyhyb3cubnVtYmVyLCAxLCByb3cubnVtYmVyLCAxMCk7XHJcbiAgICAgIGJyYW5jaFJvd3MucHVzaChyb3cubnVtYmVyKTtcclxuICAgICAgLy8gQWRkIERhdGEgUm93c1xyXG4gICAgICByZXBvcnRzLmZvckVhY2gocm93ID0+IHtcclxuICAgICAgICBjb25zdCByb3dEYXRhID0gdGhpcy5jb2x1bW5EZWZzLm1hcChjb2wgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gcm93W2NvbC5maWVsZCFdO1xyXG4gICAgICAgICAgLy8gRm9ybWF0IGN1cnJlbmN5IGZpZWxkc1xyXG4gICAgICAgICAgaWYgKGN1cnJlbmN5RmllbGRzLmluY2x1ZGVzKGNvbC5maWVsZCkgJiYgdmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpLnRvRml4ZWQoMyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIWlzTmFOKHZhbHVlKSAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGBcXHQgJHt2YWx1ZX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlID8/ICcnO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgY29uc3QgZGF0YVJvdyA9IHdvcmtzaGVldC5hZGRSb3cocm93RGF0YSk7XHJcbiAgICAgICAgZGF0YVJvdy5ib3JkZXIgPSB7XHJcbiAgICAgICAgICB0b3A6IHsgc3R5bGU6ICd0aGluJyB9LCBib3R0b206IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICAgICAgbGVmdDogeyBzdHlsZTogJ3RoaW4nIH0sIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgICB3b3Jrc2hlZXQuYWRkUm93KFtdKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBdXRvIGNvbHVtbiB3aWR0aCBPTkxZIGJhc2VkIG9uIGRhdGEgcm93c1xyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdG90YWxDb2x1bW5zOyBpKyspIHtcclxuICAgICAgbGV0IG1heExlbmd0aCA9IDEwO1xyXG4gICAgICBmb3IgKGxldCByb3dOdW0gPSBkYXRhU3RhcnRSb3c7IHJvd051bSA8PSB3b3Jrc2hlZXQubGFzdFJvdyEubnVtYmVyOyByb3dOdW0rKykge1xyXG4gICAgICAgIGlmIChicmFuY2hSb3dzLmluZGV4T2YoeCA9PiB4ID09PSByb3dOdW0pID09PSAtMSkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNlbGwgPSB3b3Jrc2hlZXQuZ2V0Um93KHJvd051bSkuZ2V0Q2VsbChpKTtcclxuICAgICAgICBjb25zdCB2YWwgPSBjZWxsLnZhbHVlID8gY2VsbC52YWx1ZS50b1N0cmluZygpIDogJyc7XHJcbiAgICAgICAgbWF4TGVuZ3RoID0gTWF0aC5tYXgobWF4TGVuZ3RoLCB2YWwubGVuZ3RoKTtcclxuICAgICAgfVxyXG4gICAgICB3b3Jrc2hlZXQuZ2V0Q29sdW1uKGkpLndpZHRoID0gbWF4TGVuZ3RoICsgMjtcclxuICAgIH1cclxuICAgIHdvcmtzaGVldC5nZXRDb2x1bW4oMikud2lkdGggPSAyMDtcclxuICAgIHdvcmtzaGVldC5nZXRDb2x1bW4oMykud2lkdGggPSAxNTtcclxuICAgIC8vIEV4cG9ydFxyXG4gICAgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpLnRoZW4oYnVmZmVyID0+IHtcclxuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XHJcbiAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0J1xyXG4gICAgICB9KVxyXG4gICAgICBGaWxlU2F2ZXIuc2F2ZUFzKGJsb2IsICdCcmFuY2gtQWN0aXZpdHktU2VuZC1SZXBvcnQueGxzeCcpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGV4cG9ydENTVihkYXRhOiBhbnlbXSkge1xyXG4gICAgY29uc3QgY3VycmVuY3lGaWVsZHMgPSBbJ3BheW91dEFtb3VudCcsICdwYXlpbkFtb3VudCcsICd0b3RhbFBheWluQW1vdW50JywgJ3RheCcsICd0cmFuc2FjdGlvbkNvbW1pc3Npb25BbW91bnQnXTtcclxuICAgIGNvbnN0IG1ldGFkYXRhID0gW1xyXG4gICAgICBbJ1JlcG9ydCBUaXRsZScsICdCcmFuY2ggQWN0aXZpdHkgU2VuZCddLFxyXG4gICAgICBbJ1JlcG9ydCBUaW1lJywgdGhpcy5yZXBvcnREYXRlXVxyXG4gICAgICAvLyBbJ1JlcG9ydCBVc2VyJywgdGhpcy51c2VyXVxyXG4gICAgXTtcclxuXHJcbiAgICBjb25zdCBmaWx0ZXJlZENvbHMgPSB0aGlzLmNvbHVtbkRlZnMuZmlsdGVyKFxyXG4gICAgICBjb2wgPT5cclxuICAgICAgICAhKGNvbC5oZWFkZXJOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdzci4gbm8nKSB8fFxyXG4gICAgICAgICAgY29sLmZpZWxkPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdzci4gbm8nKSlcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IFsnU3IgTm8nLCAuLi5maWx0ZXJlZENvbHMubWFwKGNvbCA9PiBjb2wuaGVhZGVyTmFtZSB8fCBjb2wuZmllbGQhKV07XHJcblxyXG4gICAgbGV0IFJvd3M6IGFueVtdW10gPSBbXVxyXG4gICAgZm9yIChjb25zdCBba2V5LCByZXBvcnRzXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLmRhdGFNYXApKSB7XHJcbiAgICAgIFJvd3MucHVzaChba2V5XSk7XHJcbiAgICAgIHJlcG9ydHMubWFwKChyb3csIGluZGV4KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgcm93VmFscyA9IGZpbHRlcmVkQ29scy5tYXAoY29sID0+IHtcclxuICAgICAgICAgIGxldCB2ID0gcm93W2NvbC5maWVsZCFdO1xyXG4gICAgICAgICAgaWYgKGN1cnJlbmN5RmllbGRzLmluY2x1ZGVzKGNvbC5maWVsZCkgJiYgdiAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHYgPSBwYXJzZUZsb2F0KHYpLnRvRml4ZWQoMyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoY29sLmZpZWxkID09PSAndHJhbnNhY3Rpb25OdW1iZXInIHx8IGNvbC5oZWFkZXJOYW1lID09PSAnVHJhbnNhY3Rpb24gTnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYFxcdCAke3Z9YDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB2ID8/ICcnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIFJvd3MucHVzaChbaW5kZXggKyAxLCAuLi5yb3dWYWxzXSk7XHJcbiAgICAgICAgcmV0dXJuIFtpbmRleCArIDEsIC4uLnJvd1ZhbHNdO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGFvYTogYW55W11bXSA9IFtcclxuICAgICAgLi4ubWV0YWRhdGEsXHJcbiAgICAgIFtdLCAgICAgIC8vIGJsYW5rIHJvdyBmb3Igc2VwYXJhdGlvblxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgICAuLi5Sb3dzXHJcbiAgICBdO1xyXG5cclxuICAgIC8vIGNvbnZlcnQgdG8gd29ya3NoZWV0ICYgQ1NWXHJcbiAgICBjb25zdCB3cyA9IFhMU1gudXRpbHMuYW9hX3RvX3NoZWV0KGFvYSk7XHJcbiAgICBjb25zdCBjc3YgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2Nzdih3cywge1xyXG4gICAgICBGUzogJywnLCBSUzogJ1xcbicsIGJsYW5rcm93czogZmFsc2UsIGZvcmNlUXVvdGVzOiBmYWxzZVxyXG4gICAgfSBhcyBhbnkpO1xyXG5cclxuICAgIC8vIHRyaWdnZXIgZG93bmxvYWRcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbY3N2XSwgeyB0eXBlOiAndGV4dC9jc3Y7Y2hhcnNldD11dGYtODsnIH0pO1xyXG4gICAgc2F2ZUFzKGJsb2IsICdCcmFuY2gtQWN0aXZpdHktU2VuZC1SZXBvcnQuY3N2Jyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGZvcm1hdERhdGUocGFyYW1zOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGZvcm1hdERhdGUobmV3IERhdGUocGFyYW1zLnZhbHVlKSwgJ2RkL01NL3l5eXknLCAnZW4tVVMnKTtcclxuICB9XHJcblxyXG4gIGZpbHRlcih0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRleHQ7XHJcbiAgICBpZiAodGhpcy5zZWFyY2hUZXh0ID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dD8udHJpbSgpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHN0cnVjdHVyZWRDbG9uZSh0aGlzLmRhdGFNYXApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0aGlzLnNlYXJjaFRleHQ/LnRyaW0oKT8udG9Mb3dlckNhc2UoKTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgZW50cmllc10gb2YgT2JqZWN0LmVudHJpZXModGhpcy5kYXRhTWFwKSkge1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBlbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBPYmplY3QudmFsdWVzKGVudHJ5KVxyXG4gICAgICAgIC5zb21lKHZhbCA9PiB7XHJcbiAgICAgICAgICBsZXQgYTogc3RyaW5nID0gdmFsLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgIHJldHVybiBhLnNlYXJjaCh0aGlzLnNlYXJjaFRleHQpID09IC0xID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgIH0pKVxyXG5cclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGFba2V5XSA9IGZpbHRlcmVkRGF0YTtcclxuICAgIH1cclxuICAgIHRoaXMuZmlsdGVyZWREYXRhO1xyXG4gIH1cclxuXHJcbiAgLy9ldmVudCBoYW5kbGVyIGZvciBmaWx0ZXIgY29tcG9uZW50XHJcbiAgaGFuZGxlU2VhcmNoKGNyaXRlcmlhOiBhbnkpIHtcclxuICAgIHRoaXMucmVwb3J0RGF0ZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcclxuICAgIHRoaXMucmVwb3J0RGF0ZSA9IGZvcm1hdERhdGUodGhpcy5yZXBvcnREYXRlLCAnZGQvTU0veXl5eSBoaDptbSBhJywgJ2VuLVVTJyk7XHJcbiAgICBjb25zdCBtb2RhbCA9IGNyaXRlcmlhLm1vZGFsO1xyXG4gICAgdGhpcy51c2VyID0gY3JpdGVyaWEuc3lzVXNlcklEO1xyXG4gICAgY29uc29sZS5sb2cobW9kYWwpO1xyXG4gICAgLy8gQ29kZSBGb3IgTWV0YSBEYXRhXHJcbiAgICB0aGlzLm1ldGFEYXRhT25lID0ge1xyXG4gICAgICAnUmVwb3J0IFVzZXInOiB0aGlzLnVzZXIsXHJcbiAgICAgICdSZXBvcnQgVGltZSc6IHRoaXMucmVwb3J0RGF0ZVxyXG4gICAgfVxyXG4gICAgY29uc3Qgc2VhcmNoRGF0YSA9IHtcclxuICAgICAgXCJTdGFydERhdGVcIjogbW9kYWwuZnJvbURhdGUsXHJcbiAgICAgIFwiRW5kRGF0ZVwiOiBtb2RhbC50b0RhdGUsXHJcbiAgICAgIFwiU2VuZENvdW50cnlDb2RlXCI6IG1vZGFsLnNlbmRDb3VudHJ5LFxyXG4gICAgICBcIlJlY3ZDb3VudHJ5Q29kZVwiOiBtb2RhbC5yZWNlaXZlQ291bnRyeSxcclxuICAgICAgXCJCdXNpbmVzc1BhcnRuZXJDb2RlXCI6IG1vZGFsLmNsaWVudCxcclxuICAgICAgXCJUcmFuc2FjdGlvblN0YXR1c1wiOiBtb2RhbC50cmFuc2FjdGlvblN0YXR1cy5qb2luKFwiLFwiKSxcclxuICAgICAgXCJQYXlvdXRDdXJyZW5jeVwiOiBcIkFMTFwiLFxyXG4gICAgICBcIlRyYW5zYWN0aW9uVHlwZVwiOiBcIkFMTFwiLFxyXG4gICAgICBcIkJyYW5jaENvZGVcIjogbW9kYWwuYnJhbmNoLFxyXG4gICAgICBcIkNvbXBhbnlDb2RlXCI6IFwiQkhcIlxyXG4gICAgfTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzZGF0ZSA9IG5ldyBEYXRlKHNlYXJjaERhdGE/LlN0YXJ0RGF0ZSk7XHJcbiAgICAgIGNvbnN0IGVkYXRlID0gbmV3IERhdGUoc2VhcmNoRGF0YT8uRW5kRGF0ZSk7XHJcbiAgICAgIHNlYXJjaERhdGEuU3RhcnREYXRlID0gc2RhdGUudG9JU09TdHJpbmcoKS5zcGxpdChcIlRcIilbMF07XHJcbiAgICAgIHNlYXJjaERhdGEuRW5kRGF0ZSA9IGVkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoXCJUXCIpWzBdO1xyXG4gICAgfSBjYXRjaChlcnIpe1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIERhdGVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkaW5nU3RhdGUgPSBDb21wb25lbnRMb2FkaW5nU3RhdGVzLkxvYWRpbmc7XHJcbiAgICB0aGlzLnJlcG9ydFNlcnZpY2UuZ2V0QnJhbmNoQWN0aXZpdHlSZWNlaXZlUmVwb3J0KHNlYXJjaERhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuZGF0YU1hcCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpOztcclxuICAgICAgICB0aGlzLm5vRGF0YUZvdW5kID0gT2JqZWN0LmtleXMoZGF0YSkubGVuZ3RoID09IDAgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uQXJyYXkgPSBuZXcgQXJyYXkoT2JqZWN0LmtleXModGhpcy5maWx0ZXJlZERhdGEpLmxlbmd0aCkuZmlsbCgxNSk7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N0YXRlID0gQ29tcG9uZW50TG9hZGluZ1N0YXRlcy5Db21wbGV0ZTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nU3RhdGUgPSBDb21wb25lbnRMb2FkaW5nU3RhdGVzLkNvbXBsZXRlO1xyXG4gICAgICAgIHRoaXMuc2hvd1JlcG9ydCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bGliLXNlYXJjaC1maWx0ZXIgXHJcbiAgICBbUmVwb3J0TmFtZV09XCJSZXBvcnROYW1lXCIgXHJcbiAgICAoc2VhcmNoQ2xpY2tlZCk9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiPlxyXG48L2xpYi1zZWFyY2gtZmlsdGVyPlxyXG5cclxuPGFwcC1sb2FkZXIgY2xhc3M9XCJcIiAqbmdJZj1cImxvYWRpbmdTdGF0ZSA9PSBDb21wb25lbnRMb2FkaW5nU3RhdGUuTG9hZGluZ1wiPjwvYXBwLWxvYWRlcj5cclxuXHJcbjxzZWN0aW9uICpuZ0lmPVwic2hvd1JlcG9ydFwiIGNsYXNzPVwibXktMiBteC0xXCI+XHJcbiAgICA8bGliLW1ldGFkYXRhIFtyZXBvcnROYW1lXT1cIlJlcG9ydE5hbWVcIiBbc2hvd21ldGFEYXRhT25lXT1cInRydWVcIiBbc2hvd21ldGFEYXRhVHdvXT1cImZhbHNlXCIgW21ldGFEYXRhT25lXT1cIm1ldGFEYXRhT25lXCIgW21ldGFEYXRhVHdvXT1cIlwiKGV4cG9ydEV2ZW50KT1cImhhbmRsZUV4cG9ydCgkZXZlbnQpXCIgKHNlYXJjaEV2ZW50KT1cImZpbHRlcigkZXZlbnQpXCI+PC9saWItbWV0YWRhdGE+XHJcblxyXG4gICAgPG5nYi1hY2NvcmRpb24gI2FjYz1cIm5nYkFjY29yZGlvblwiIFtjbG9zZU90aGVyc109XCJmYWxzZVwiIFthY3RpdmVJZHNdPVwiJ3BhbmVsLTAnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkRGF0YSB8IGtleXZhbHVlOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxuZ2ItcGFuZWwgKm5nSWY9XCJpdGVtLnZhbHVlLmxlbmd0aCA+IDBcIiBbaWRdPVwiJ3BhbmVsLScgKyBpXCI+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JQYW5lbFRpdGxlIHN0eWxlPVwiaGVpZ2h0OiAxMCU7XCI+XHJcbiAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAxM3B4OyBsaW5lLWhlaWdodDogMS4yOyBtYXJnaW46IDA7IHBhZGRpbmc6IDJweCAwO2NvbG9yOiAjMGM2M2U0O1wiPnt7XHJcbiAgICAgICAgICAgIGl0ZW0ua2V5XHJcbiAgICAgICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdiUGFuZWxDb250ZW50PlxyXG5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgICAgICAgICAgIDxsaWItcGFnZS1zaXplLXNlbGVjdG9yIFt0b3RhbEVudHJpZXNdPVwiaXRlbT8udmFsdWU/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgIFtkZWZhdWx0U2l6ZV09XCInMTUnXCIgW2dyaWRBcGldPVwiZ3JpZEFwaXNbaV1cIj5cclxuICAgICAgICAgICAgPjwvbGliLXBhZ2Utc2l6ZS1zZWxlY3Rvcj5cclxuXHJcbiAgICAgICAgICAgIDxhZy1ncmlkLWFuZ3VsYXIgY2xhc3M9XCJhZy10aGVtZS1hbHBpbmUgdHJhbnNhY3Rpb24tZ3JpZFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7aGVpZ2h0OiAzNzBweDtcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5EZWZzXT1cImNvbHVtbkRlZnNcIiBbZGVmYXVsdENvbERlZl09XCJkZWZhdWx0Q29sRGVmXCIgW3Jvd0RhdGFdPVwiaXRlbS52YWx1ZVwiIFtyb3dIZWlnaHRdPVwiMjBcIlxyXG4gICAgICAgICAgICAgIFtoZWFkZXJIZWlnaHRdPVwiMjJcIiBbZ3JpZE9wdGlvbnNdPVwie1xyXG4gICAgICAgICAgICAgIHN1cHByZXNzSG9yaXpvbnRhbFNjcm9sbDogdHJ1ZSxcclxuICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogMFxyXG4gICAgICAgICAgICB9XCIgW3BhZ2luYXRpb25dPVwidHJ1ZVwiIFtwYWdpbmF0aW9uUGFnZVNpemVdPVwicGFnaW5hdGlvbkFycmF5W2ldXCIgKGdyaWRSZWFkeSk9XCJvbkdyaWRSZWFkeSgkZXZlbnQsaSlcIlxyXG4gICAgICAgICAgICAgIChncmlkU2l6ZUNoYW5nZWQpPVwib25HcmlkU2l6ZUNoYW5nZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2FnLWdyaWQtYW5ndWxhcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8L25nYi1wYW5lbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmdiLWFjY29yZGlvbj5cclxuIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nIG10LTNcIiAqbmdJZj1cIm5vRGF0YUZvdW5kXCI+XHJcbiAgICBObyBEYXRhIEZvdW5kXHJcbiAgPC9kaXY+XHJcblxyXG48L3NlY3Rpb24+XHJcbiJdfQ==