ngx-sfc-components 0.0.32 → 0.0.34
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.
- package/esm2020/lib/components/avatar/avatar.component.mjs +2 -2
- package/esm2020/lib/components/chart/chart.constants.mjs +2 -1
- package/esm2020/lib/components/index.mjs +2 -1
- package/esm2020/lib/components/menu/router/parts/item/router-menu-item.component.mjs +2 -2
- package/esm2020/lib/components/stars/stars.component.mjs +2 -2
- package/esm2020/lib/components/table/parts/columns/sorting/sorting-column.component.mjs +2 -2
- package/esm2020/lib/components/table/table.component.mjs +3 -3
- package/esm2020/lib/components/table/table.constants.mjs +2 -2
- package/esm2020/lib/components/tags/tags.component.mjs +2 -2
- package/fesm2015/ngx-sfc-components.mjs +15 -14
- package/fesm2015/ngx-sfc-components.mjs.map +1 -1
- package/fesm2020/ngx-sfc-components.mjs +14 -14
- package/fesm2020/ngx-sfc-components.mjs.map +1 -1
- package/lib/components/chart/chart.constants.d.ts +2 -0
- package/lib/components/index.d.ts +1 -0
- package/package.json +2 -2
|
@@ -259,10 +259,10 @@ export class TableComponent {
|
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
261
|
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, deps: [{ token: i1.ColumnsToggleService }, { token: WINDOW }, { token: i2.TableSelectService }, { token: i3.SortingService }, { token: i0.ChangeDetectorRef }, { token: i3.ResizeService }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
262
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableComponent, selector: "sfc-table", inputs: { position: "position", delimeter: "delimeter", dataType: "dataType", dataToggle: "dataToggle", showColumns: "showColumns", columnsToggle: "columnsToggle", columnsShowOnInit: "columnsShowOnInit", pagination: "pagination", sequence: "sequence", expanded: "expanded", notFoundLabel: "notFoundLabel", loadMoreLabel: "loadMoreLabel", showTotal: "showTotal", totalLabel: "totalLabel", paginationCount: "paginationCount", paginationLimits: "paginationLimits", showLoading: "showLoading", columnContent: "columnContent", rowContent: "rowContent", cardContent: "cardContent", data: "data", data$: "data$", columns: "columns", showColumnsLabel: "showColumnsLabel", hideColumnsLabel: "hideColumnsLabel", resize: "resize", loadType: "loadType", loader: "loader", filter: "filter", predicate$: "predicate$", selectable: "selectable", selectOnClick: "selectOnClick", selectMultiple: "selectMultiple", dataListLabel: "dataListLabel", dataCardsLabel: "dataCardsLabel" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.dataType", "class.loading": "this.loading" } }, providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\"\r\n [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.container .content{background:transparent}:host .container .rows-container sfc-load-container ::ng-deep>.container .content .items{gap:1em;margin:1em 0}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}:host.rows .container .rows-container .row{display:block;width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "component", type: i3.ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: ["active", "disabled", "leftModel", "rightModel"], outputs: ["toggle"] }, { kind: "component", type: i3.LoadContainerComponent, selector: "sfc-load-container", inputs: ["id", "type", "open", "loadMore", "loadMoreLabel", "showEmpty", "emptyLabel", "model", "scrollTarget", "paginationCount", "paginationLimits", "showLoading"], outputs: ["handleError", "handleSuccess", "handleLoading"] }, { kind: "component", type: i5.DefaultTableColumnComponent, selector: "sfc-default-table-column", inputs: ["model"] }, { kind: "component", type: i6.SelectableTableColumnComponent, selector: "sfc-selectable-table-column", inputs: ["selected"] }, { kind: "component", type: i7.ColumnsToggleComponent, selector: "sfc-columns-toggle", inputs: ["showLabel", "hideLabel"] }, { kind: "component", type: i8.SortingColumnComponent, selector: "sfc-sorting-column", inputs: ["id", "model"] }, { kind: "component", type: i9.DefaultTableRowComponent, selector: "sfc-default-table-row" }, { kind: "component", type: i10.DefaultTableCardComponent, selector: "sfc-default-table-card" }] });
|
|
262
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableComponent, selector: "sfc-table", inputs: { position: "position", delimeter: "delimeter", dataType: "dataType", dataToggle: "dataToggle", showColumns: "showColumns", columnsToggle: "columnsToggle", columnsShowOnInit: "columnsShowOnInit", pagination: "pagination", sequence: "sequence", expanded: "expanded", notFoundLabel: "notFoundLabel", loadMoreLabel: "loadMoreLabel", showTotal: "showTotal", totalLabel: "totalLabel", paginationCount: "paginationCount", paginationLimits: "paginationLimits", showLoading: "showLoading", columnContent: "columnContent", rowContent: "rowContent", cardContent: "cardContent", data: "data", data$: "data$", columns: "columns", showColumnsLabel: "showColumnsLabel", hideColumnsLabel: "hideColumnsLabel", resize: "resize", loadType: "loadType", loader: "loader", filter: "filter", predicate$: "predicate$", selectable: "selectable", selectOnClick: "selectOnClick", selectMultiple: "selectMultiple", dataListLabel: "dataListLabel", dataCardsLabel: "dataCardsLabel" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.dataType", "class.loading": "this.loading" } }, providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n\r\n <ng-container *ngIf=\"selectMultiple\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n </ng-container>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\"\r\n [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.container .content{background:transparent}:host .container .rows-container sfc-load-container ::ng-deep>.container .content .items{gap:1em;margin:1em 0}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}:host.rows .container .rows-container .row{display:block;width:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "component", type: i3.ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: ["active", "disabled", "leftModel", "rightModel"], outputs: ["toggle"] }, { kind: "component", type: i3.LoadContainerComponent, selector: "sfc-load-container", inputs: ["id", "type", "open", "loadMore", "loadMoreLabel", "showEmpty", "emptyLabel", "model", "scrollTarget", "paginationCount", "paginationLimits", "showLoading"], outputs: ["handleError", "handleSuccess", "handleLoading"] }, { kind: "component", type: i5.DefaultTableColumnComponent, selector: "sfc-default-table-column", inputs: ["model"] }, { kind: "component", type: i6.SelectableTableColumnComponent, selector: "sfc-selectable-table-column", inputs: ["selected"] }, { kind: "component", type: i7.ColumnsToggleComponent, selector: "sfc-columns-toggle", inputs: ["showLabel", "hideLabel"] }, { kind: "component", type: i8.SortingColumnComponent, selector: "sfc-sorting-column", inputs: ["id", "model"] }, { kind: "component", type: i9.DefaultTableRowComponent, selector: "sfc-default-table-row" }, { kind: "component", type: i10.DefaultTableCardComponent, selector: "sfc-default-table-card" }] });
|
|
263
263
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, decorators: [{
|
|
264
264
|
type: Component,
|
|
265
|
-
args: [{ selector: 'sfc-table', providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n
|
|
265
|
+
args: [{ selector: 'sfc-table', providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n\r\n <ng-container *ngIf=\"selectMultiple\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n </ng-container>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\"\r\n [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.container .content{background:transparent}:host .container .rows-container sfc-load-container ::ng-deep>.container .content .items{gap:1em;margin:1em 0}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}:host.rows .container .rows-container .row{display:block;width:100%}\n"] }]
|
|
266
266
|
}], ctorParameters: function () { return [{ type: i1.ColumnsToggleService }, { type: Window, decorators: [{
|
|
267
267
|
type: Inject,
|
|
268
268
|
args: [WINDOW]
|
|
@@ -348,4 +348,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
348
348
|
type: ContentChildren,
|
|
349
349
|
args: [TemplateReferenceDirective, { read: TemplateReferenceDirective }]
|
|
350
350
|
}] } });
|
|
351
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDcUQsU0FBUyxFQUFFLGVBQWUsRUFDM0UsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUN6QyxNQUFNLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQ0wsR0FBRyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFDN0QsV0FBVyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxFQUMxRixXQUFXLEVBQUUsaUJBQWlCLEVBQWtCLHFCQUFxQixFQUN4QixtQkFBbUIsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUNuRixPQUFPLEVBQUUsY0FBYyxFQUN2QixPQUFPLEVBQXdCLEtBQUssRUFBRSxHQUFHLEVBQzFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFP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QUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFjTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBY0MsT0FBTztzQkFEYixXQUFXO3VCQUFDLFNBQVMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFRdkMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQWtCUCxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQTZCTixTQUFTO3NCQURSLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbixcclxuICBEb0NoZWNrLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBJdGVyYWJsZURpZmZlciwgSXRlcmFibGVEaWZmZXJzLCBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgYWxsLCBmaXJzdE9yRGVmYXVsdCwgZ2V0Q2FsY1ZhbHVlLCBnZXRDc3NMaWtlVmFsdWUsIGlzRGVmaW5lZCxcclxuICBNZWRpYUxpbWl0cywgUG9zaXRpb24sIFJlc2l6ZVNlcnZpY2UsIFNvcnRpbmdEaXJlY3Rpb24sIFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlLCBXSU5ET1csXHJcbiAgVUlDb25zdGFudHMsIExvYWRDb250YWluZXJUeXBlLCBMb2FkZXJGdW5jdGlvbiwgTG9hZENvbnRhaW5lckxvYWRUeXBlLCBJTG9hZENvbnRhaW5lck1vZGVsLFxyXG4gIElMb2FkQ29udGFpbmVyUmVzdWx0TW9kZWwsIElQYWdpbmF0aW9uTW9kZWwsIFBhZ2luYXRpb25Db25zdGFudHMsIGdlbmVyYXRlR3VpZCwgYW55LFxyXG4gIGhhc0l0ZW0sIFNvcnRpbmdTZXJ2aWNlLCBJU29ydGluZ01vZGVsLCBJTG9hZENvbnRhaW5lclByZWRpY2F0ZVBhcmFtZXRlcnMsIEZpbHRlckZ1bmN0aW9uLFxyXG4gIFVJQ2xhc3MsIElUb2dnbGVTd2l0Y2hlck1vZGVsLCB3aGVyZSwgc3VtXHJcbn0gZnJvbSAnbmd4LXNmYy1jb21tb24nO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuL3BhcnRzL2NvbHVtbnMvdGFibGUtY29sdW1uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwsIElUYWJsZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi9wYXJ0cy9jb2x1bW5zL3RhYmxlLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IENvbHVtbnNUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9wYXJ0cy90b2dnbGUvc2VydmljZS9jb2x1bW5zLXRvZ2dsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSVRhYmxlU2VsZWN0RXZlbnQgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0L3RhYmxlLXNlbGVjdC5ldmVudCc7XHJcbmltcG9ydCB7IFRhYmxlU2VsZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZS9zZWxlY3QvdGFibGUtc2VsZWN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWJsZURhdGFUeXBlIH0gZnJvbSAnLi9lbnVtcy90YWJsZS1kYXRhLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFRhYmxlQ29uc3RhbnRzIH0gZnJvbSAnLi90YWJsZS5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBUYWJsZVRlbXBsYXRlIH0gZnJvbSAnLi9lbnVtcy90YWJsZS10ZW1wbGF0ZS5lbnVtJztcclxuaW1wb3J0IHsgSVRhYmxlTW9kZWwgfSBmcm9tICcuL21vZGVscy90YWJsZS5tb2RlbCc7XHJcbmltcG9ydCB7IGZhVGFibGVMaXN0LCBmYUJvcmRlckFsbCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7IENvbW1vbkNvbnN0YW50cyB9IGZyb20gJ25neC1zZmMtY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbU29ydGluZ1NlcnZpY2UsIFRhYmxlU2VsZWN0U2VydmljZSwgQ29sdW1uc1RvZ2dsZVNlcnZpY2UsIFJlc2l6ZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjaywgT25EZXN0cm95IHtcclxuXHJcbiAgVGFibGVEYXRhVHlwZSA9IFRhYmxlRGF0YVR5cGU7XHJcbiAgVGFibGVDb2x1bW5UeXBlID0gVGFibGVDb2x1bW5UeXBlO1xyXG4gIFRhYmxlVGVtcGxhdGUgPSBUYWJsZVRlbXBsYXRlO1xyXG4gIENvbnN0YW50cyA9IFRhYmxlQ29uc3RhbnRzO1xyXG4gIExvYWRDb250YWluZXJUeXBlID0gTG9hZENvbnRhaW5lclR5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246IFBvc2l0aW9uID0gUG9zaXRpb24uQ2VudGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlbGltZXRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGRhdGFUeXBlOiBUYWJsZURhdGFUeXBlID0gVGFibGVEYXRhVHlwZS5Sb3dzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGFUb2dnbGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dDb2x1bW5zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb2x1bW5zVG9nZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sdW1uc1Nob3dPbkluaXQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2luYXRpb246IElQYWdpbmF0aW9uTW9kZWwgPSBQYWdpbmF0aW9uQ29uc3RhbnRzLkRFRkFVTFRfUEFHSU5BVElPTjtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXF1ZW5jZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbm90Rm91bmRMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuTk9UX0ZPVU5EX0xBQkVMX0RFRkFVTFQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZE1vcmVMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuTE9BRF9NT1JFX0xBQkVMX0RFRkFVTFQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1RvdGFsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG90YWxMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuVE9UQUxfTEFCRUxfREVGQVVMVDtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0aW9uQ291bnQ6IG51bWJlciA9IFBhZ2luYXRpb25Db25zdGFudHMuREVGQVVMVF9DT1VOVDtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0aW9uTGltaXRzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvLyBUZW1wbGF0ZSByZWZlcmVuY2VzIFxyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbkNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJvd0NvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNhcmRDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLy8gRW5kIFRlbXBsYXRlIHJlZmVyZW5jZXNcclxuXHJcbiAgLy9EYXRhXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YTogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xyXG5cclxuICBwcml2YXRlIGRhdGFEaWZmZXIhOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xyXG5cclxuICBwcml2YXRlIGRhdGFTdWJqZWN0ITogQmVoYXZpb3JTdWJqZWN0PGFueVtdPjtcclxuXHJcbiAgLy8gRW5kIERhdGFcclxuXHJcbiAgLy8gQ29sdW1uc1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbnM6IElUYWJsZUNvbHVtbk1vZGVsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93Q29sdW1uc0xhYmVsITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGhpZGVDb2x1bW5zTGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVzaXplOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBjb2x1bW5zRGlmZmVyITogSXRlcmFibGVEaWZmZXI8SVRhYmxlQ29sdW1uTW9kZWw+O1xyXG5cclxuICBwcml2YXRlIGNvbHVtbnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8SVRhYmxlQ29sdW1uTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElUYWJsZUNvbHVtbk1vZGVsW10+KHRoaXMuY29sdW1ucyk7XHJcblxyXG4gIHB1YmxpYyB0YWJsZUNvbHVtbnM6IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWxbXSA9IFtdO1xyXG5cclxuICAvLyBFbmQgQ29sdW1ucyAgXHJcblxyXG4gIC8vIExvYWQgY29udGFpbmVyXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZFR5cGU6IExvYWRDb250YWluZXJMb2FkVHlwZSA9IExvYWRDb250YWluZXJMb2FkVHlwZS5QYWdpbmF0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxvYWRlciE6IExvYWRlckZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpbHRlcj86IEZpbHRlckZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHByZWRpY2F0ZSQhOiBPYnNlcnZhYmxlPElMb2FkQ29udGFpbmVyUHJlZGljYXRlUGFyYW1ldGVycyB8IG51bGw+O1xyXG5cclxuICBwdWJsaWMgbG9hZE1vZGVsITogSUxvYWRDb250YWluZXJNb2RlbDtcclxuXHJcbiAgcHVibGljIGxvYWRDb250YWluZXJJZDogc3RyaW5nID0gZ2VuZXJhdGVHdWlkKCk7XHJcblxyXG4gIHB1YmxpYyBpdGVtczogSVRhYmxlTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgdG90YWw6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgcGFnZTogbnVtYmVyID0gUGFnaW5hdGlvbkNvbnN0YW50cy5ERUZBVUxUX1BBR0U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtVSUNsYXNzLkxvYWRpbmd9YClcclxuICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBFbmQgTG9hZCBjb250YWluZXJcclxuXHJcbiAgLy8gU2VsZWN0aW9uXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdE9uQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RNdWx0aXBsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8SVRhYmxlU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJVGFibGVTZWxlY3RFdmVudD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBhbGxSb3dzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMuYWxsU2VsZWN0ZWQgfHwgdGhpcy50b3RhbCA9PSB0aGlzLnNlbGVjdGVkU2VydmljZS5zZWxlY3RlZEl0ZW1zLmxlbmd0aClcclxuICAgICAgJiYgIWFueSh0aGlzLnNlbGVjdGVkU2VydmljZS51bnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICYmIGFueSh0aGlzLml0ZW1zKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFsbFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX2FsbFNlbGVjdGlvblN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLy8gRW5kIFNlbGVjdGlvblxyXG5cclxuICAvLyBEYXRhIHRvZ2dsZVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGFMaXN0TGFiZWw6IHN0cmluZyA9IHRoaXMuQ29uc3RhbnRzLkRBVEFfTElTVF9MQUJFTDtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhQ2FyZHNMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuREFUQV9DQVJEU19MQUJFTDtcclxuXHJcbiAgcHVibGljIHRvZ2dsZVN3aXRjaGVyTGVmdE1vZGVsITogSVRvZ2dsZVN3aXRjaGVyTW9kZWw7XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVTd2l0Y2hlclJpZ2h0TW9kZWwhOiBJVG9nZ2xlU3dpdGNoZXJNb2RlbDtcclxuXHJcbiAgLy8gRW5kIGRhdGEgdG9nZ2xlXHJcblxyXG4gIHB1YmxpYyB2bSQhOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnNSZXNpemVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgX3NvcnRpbmdTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgZ2V0IGluaXRpYWxTb3J0aW5nKCk6IElTb3J0aW5nTW9kZWwgfCBudWxsIHtcclxuICAgIGNvbnN0IGFjdGl2ZVNvcnRpbmdDb2x1bW4gPSBmaXJzdE9yRGVmYXVsdCh0aGlzLmNvbHVtbnMsIGNvbHVtbiA9PiBjb2x1bW4uc29ydGluZz8uYWN0aXZlISk7XHJcblxyXG4gICAgaWYgKGFjdGl2ZVNvcnRpbmdDb2x1bW4pXHJcbiAgICAgIHJldHVybiB7IGlkOiBhY3RpdmVTb3J0aW5nQ29sdW1uLmZpZWxkLCBkaXJlY3Rpb246IGFjdGl2ZVNvcnRpbmdDb2x1bW4uc29ydGluZz8uZGlyZWN0aW9uISB9O1xyXG5cclxuICAgIGNvbnN0IGVuYWJsZWRTb3J0aW5nQ29sdW1uID0gZmlyc3RPckRlZmF1bHQodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gY29sdW1uLnNvcnRpbmc/LmVuYWJsZWQhKTtcclxuXHJcbiAgICByZXR1cm4gZW5hYmxlZFNvcnRpbmdDb2x1bW4gPyB7IGlkOiBlbmFibGVkU29ydGluZ0NvbHVtbi5maWVsZCwgZGlyZWN0aW9uOiBlbmFibGVkU29ydGluZ0NvbHVtbi5zb3J0aW5nPy5kaXJlY3Rpb24hIH0gOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSB9KVxyXG4gIHRlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlPiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29sdW1uc1RvZ2dsZVNlcnZpY2U6IENvbHVtbnNUb2dnbGVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luZG93OiBXaW5kb3csXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRTZXJ2aWNlOiBUYWJsZVNlbGVjdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNvcnRpbmdTZXJ2aWNlOiBTb3J0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZXNpemVTZXJ2aWNlOiBSZXNpemVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xyXG4gICAgdGhpcy5kYXRhRGlmZmVyID0gaXRlcmFibGVEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZTxJdGVyYWJsZURpZmZlcjxhbnk+Pih1bmRlZmluZWQpO1xyXG4gICAgdGhpcy5jb2x1bW5zRGlmZmVyID0gaXRlcmFibGVEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZTxJVGFibGVDb2x1bW5Nb2RlbD4odW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gaWYgZGF0YSBpcyBzdGF0aWMsIG1ha2UgaXQgb2JzZXJ2YWJsZVxyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5kYXRhJCkpIHtcclxuICAgICAgdGhpcy5kYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSlcclxuICAgICAgdGhpcy5zZWxlY3Rpb25TdWJzY3JpYmUoKTtcclxuXHJcbiAgICAvLyBzZXQgdXAgY29sdW1ucyAoY29uZGl0aW9uYWxseSBhZGQgc2VxdWVuY2UsIHNlbGVjdGFibGUgYW5kIGV4cGFuZCBjb2x1bW5zKVxyXG4gICAgdGhpcy5jb2x1bW5zU3Vic2NyaWJlKCk7XHJcblxyXG4gICAgaWYgKHRoaXMucmVzaXplKVxyXG4gICAgICB0aGlzLnJlc2l6ZVN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuc29ydGluZ1N1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubG9hZE1vZGVsID0ge1xyXG4gICAgICBwcmVkaWNhdGUkOiB0aGlzLnByZWRpY2F0ZSQsXHJcbiAgICAgIGRhdGEkOiB0aGlzLmRhdGEkLFxyXG4gICAgICBsb2FkZXI6IHRoaXMubG9hZGVyLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyLFxyXG4gICAgICBsb2FkVHlwZTogdGhpcy5sb2FkVHlwZSxcclxuICAgICAgcGFnaW5hdGlvbjogdGhpcy5wYWdpbmF0aW9uLFxyXG4gICAgICBzb3J0aW5nOiB0aGlzLmluaXRpYWxTb3J0aW5nXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMudG9nZ2xlU3dpdGNoZXJMZWZ0TW9kZWwgPSB7IGxhYmVsOiB0aGlzLmRhdGFMaXN0TGFiZWwsIGljb246IGZhVGFibGVMaXN0IH07XHJcbiAgICB0aGlzLnRvZ2dsZVN3aXRjaGVyUmlnaHRNb2RlbCA9IHsgbGFiZWw6IHRoaXMuZGF0YUNhcmRzTGFiZWwsIGljb246IGZhQm9yZGVyQWxsIH07XHJcblxyXG4gICAgaWYgKHRoaXMuY29sdW1uc1Nob3dPbkluaXQpIHtcclxuICAgICAgdGhpcy5jb2x1bW5zVG9nZ2xlU2VydmljZS5zZXQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRhdGFEaWZmZXIuZGlmZih0aGlzLmRhdGEpKSB7XHJcbiAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dCh0aGlzLmRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbHVtbnNEaWZmZXIuZGlmZih0aGlzLmNvbHVtbnMpKSB7XHJcbiAgICAgIHRoaXMuY29sdW1uc1N1YmplY3QubmV4dCh0aGlzLmNvbHVtbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FsbFNlbGVjdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX2NvbHVtbnNSZXNpemVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9jb2x1bW5zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fc29ydGluZ1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRhdGFUeXBlVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhVHlwZSA9IHRoaXMuZGF0YVR5cGUgPT0gVGFibGVEYXRhVHlwZS5Sb3dzXHJcbiAgICAgID8gVGFibGVEYXRhVHlwZS5DYXJkc1xyXG4gICAgICA6IFRhYmxlRGF0YVR5cGUuUm93cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdWNjZXNzKHJlc3VsdDogSUxvYWRDb250YWluZXJSZXN1bHRNb2RlbDxhbnk+KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2UgPSByZXN1bHQucGFnZTtcclxuICAgIHRoaXMudG90YWwgPSByZXN1bHQudG90YWw7XHJcblxyXG4gICAgY29uc3QgaXRlbXM6IElUYWJsZU1vZGVsW10gPSByZXN1bHQuaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBjb25zdCBzZXF1ZW5jZSA9IChpbmRleCArIDEpICsgKCh0aGlzLnBhZ2UgKiB0aGlzLnBhZ2luYXRpb24uc2l6ZSkgLSB0aGlzLnBhZ2luYXRpb24uc2l6ZSk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgIHNlcXVlbmNlOiBzZXF1ZW5jZSxcclxuICAgICAgICBzZWxlY3RlZDogcmVzdWx0LnJlc2V0ID8gZmFsc2UgOiB0aGlzLmdldEl0ZW1TZWxlY3RlZChzZXF1ZW5jZSksXHJcbiAgICAgICAgZGF0YTogaXRlbVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHJlc3VsdC5yZXNldCkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gaXRlbXM7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0QWxsKGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmNvbmNhdChpdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdGlvblN1YnNjcmliZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FsbFNlbGVjdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0ZWRTZXJ2aWNlLnNlbGVjdCRcclxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IElUYWJsZVNlbGVjdEV2ZW50KSA9PiB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdE11bHRpcGxlKSB7XHJcbiAgICAgICAgICBpZiAoZXZlbnQuaW5kZXggPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkID0gZXZlbnQuc2VsZWN0ZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbTogSVRhYmxlTW9kZWwpID0+IGl0ZW0uc2VsZWN0ZWQgPSBldmVudC5zZWxlY3RlZCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW06IElUYWJsZU1vZGVsKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uc2VxdWVuY2UgPT09IGV2ZW50LmluZGV4KVxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGV2ZW50LnNlbGVjdGVkO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtOiBJVGFibGVNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5zZXF1ZW5jZSA9PT0gZXZlbnQuaW5kZXgpXHJcbiAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGV2ZW50LnNlbGVjdGVkO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29sdW1uc1Jlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU2VydmljZS5vblJlc2l6ZSRcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRhYmxlQ29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PlxyXG4gICAgICAgIGNvbHVtbi5jYWxjdWxhdGVkV2lkdGggPSB0aGlzLmNhbGN1bGF0ZUNvbHVtbldpZHRoKGNvbHVtbiwgdGhpcy50YWJsZUNvbHVtbnMubGVuZ3RoKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb2x1bW5zU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29sdW1uc1N1YnNjcmlwdGlvbiA9IHRoaXMuY29sdW1uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICAgZmlsdGVyKGNvbHVtbnMgPT4gYW55KGNvbHVtbnMpKSxcclxuICAgICAgbWFwKChjb2x1bW5zOiBJVGFibGVDb2x1bW5Nb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgbGV0IHRhYmxlQ29sdW1ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29sdW1ucykpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZXF1ZW5jZSlcclxuICAgICAgICAgIHRhYmxlQ29sdW1ucy51bnNoaWZ0KFRhYmxlQ29uc3RhbnRzLlNFUVVFTkNFX0NPTFVNTik7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGFibGUgJiYgdGhpcy5zZWxlY3RNdWx0aXBsZSlcclxuICAgICAgICAgIHRhYmxlQ29sdW1ucy51bnNoaWZ0KFRhYmxlQ29uc3RhbnRzLlNFTEVDVEFCTEVfQ09MVU1OKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpXHJcbiAgICAgICAgICB0YWJsZUNvbHVtbnMucHVzaChUYWJsZUNvbnN0YW50cy5FWFBBTkRFRF9DT0xVTU4pO1xyXG5cclxuICAgICAgICAvLyBjYWxjdWxhdGVkIHdpZHRoIG5vdCB3b3JrIHdpdGhvdXQgZGVlcCBjb3B5XHJcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGFibGVDb2x1bW5zKSk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgoY29sdW1uczogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbFtdKSA9PiB7XHJcbiAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsKSA9PiB7XHJcbiAgICAgICAgY29sdW1uLmNhbGN1bGF0ZWRXaWR0aCA9IHRoaXMuY2FsY3VsYXRlQ29sdW1uV2lkdGgoY29sdW1uLCBjb2x1bW5zLmxlbmd0aCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHNvcnRpbmdDb2x1bW4gPSB0aGlzLmluaXRpYWxTb3J0aW5nO1xyXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxTb3J0aW5nKSB7XHJcbiAgICAgICAgICB0aGlzLnNldENvbHVtblNvcnRpbmcoY29sdW1uLCBzb3J0aW5nQ29sdW1uPy5pZCEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gY29sdW1ucztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0aW5nU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc29ydGluZ1N1YnNjcmlwdGlvbiA9IHRoaXMuc29ydGluZ1NlcnZpY2Uuc29ydGluZyQuc3Vic2NyaWJlKChzb3J0aW5nRXZlbnQpID0+XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zLmZvckVhY2goKGNvbHVtbjogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCkgPT4gdGhpcy5zZXRDb2x1bW5Tb3J0aW5nKGNvbHVtbiwgc29ydGluZ0V2ZW50Py5pZCkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY3VsYXRlQ29sdW1uV2lkdGgoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsLCBjb2x1bW5zTGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgLy8gZGVmaW5lZCB3aWR0aCBmb3IgYWxsIGNvbHVtbnNcclxuICAgIGlmIChhbGwodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gaXNEZWZpbmVkKGNvbHVtbi53aWR0aCkpKSB7XHJcbiAgICAgIHJldHVybiBnZXRDc3NMaWtlVmFsdWUoY29sdW1uLndpZHRoISwgVUlDb25zdGFudHMuQ1NTX1BFUkNFTlRBR0UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0RlZmluZWQoY29sdW1uLndpZHRoKSkge1xyXG4gICAgICByZXR1cm4gZ2V0Q3NzTGlrZVZhbHVlKGNvbHVtbi53aWR0aCEsIFVJQ29uc3RhbnRzLkNTU19QRVJDRU5UQUdFKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb2x1bW5zV2l0aFdpZHRoOiBJVGFibGVDb2x1bW5Nb2RlbFtdID0gd2hlcmUodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gaXNEZWZpbmVkKGNvbHVtbi53aWR0aCkpISxcclxuICAgICAgY29sdW1uc1dpZHRoOiBudW1iZXIgPSBzdW0oY29sdW1uc1dpdGhXaWR0aCwgY29sdW1uID0+IGNvbHVtbi53aWR0aCEpO1xyXG5cclxuICAgIGlmIChjb2x1bW5zV2lkdGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHByb3BvcnRpb25hbFdpZHRoOiBudW1iZXIgPSAoQ29tbW9uQ29uc3RhbnRzLkZVTExfUEVSQ0VOVEFHRSAtIGNvbHVtbnNXaWR0aCkgLyAodGhpcy5jb2x1bW5zLmxlbmd0aCAtIGNvbHVtbnNXaXRoV2lkdGgubGVuZ3RoKTtcclxuICAgICAgcmV0dXJuIGdldENzc0xpa2VWYWx1ZShwcm9wb3J0aW9uYWxXaWR0aCwgVUlDb25zdGFudHMuQ1NTX1BFUkNFTlRBR0UpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB3aWR0aDogbnVtYmVyID0gY29sdW1uc0xlbmd0aDtcclxuXHJcbiAgICBpZiAodGhpcy53aW5kb3cuaW5uZXJXaWR0aCA8PSBNZWRpYUxpbWl0cy5Nb2JpbGVMYXJnZSlcclxuICAgICAgd2lkdGggPSAxO1xyXG4gICAgZWxzZSBpZiAodGhpcy53aW5kb3cuaW5uZXJXaWR0aCA8PSBNZWRpYUxpbWl0cy5UYWJsZXQpXHJcbiAgICAgIHdpZHRoID0gTWF0aC5jZWlsKGNvbHVtbnNMZW5ndGggLyAyKTtcclxuXHJcbiAgICByZXR1cm4gZ2V0Q2FsY1ZhbHVlKHdpZHRoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uU29ydGluZyhjb2x1bW46IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwsIHNvcnRpbmdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoY29sdW1uLnNvcnRpbmc/LmVuYWJsZWQpIHtcclxuICAgICAgY29sdW1uLnNvcnRpbmcuYWN0aXZlID0gY29sdW1uLmZpZWxkID09IHNvcnRpbmdJZDtcclxuXHJcbiAgICAgIGlmICghY29sdW1uLnNvcnRpbmcuYWN0aXZlKVxyXG4gICAgICAgIGNvbHVtbi5zb3J0aW5nLmRpcmVjdGlvbiA9IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJdGVtU2VsZWN0ZWQoc2VxdWVuY2U6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsU2VsZWN0ZWRcclxuICAgICAgPyAhaGFzSXRlbSh0aGlzLnNlbGVjdGVkU2VydmljZS51bnNlbGVjdGVkSXRlbXMsIHNlcXVlbmNlKVxyXG4gICAgICA6IGhhc0l0ZW0odGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0ZWRJdGVtcywgc2VxdWVuY2UpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0xvYWRpbmdcIiBjbGFzcz1cInRhYmxlLWxvYWRlclwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbnMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMtYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPHNmYy1jb2x1bW5zLXRvZ2dsZSAqbmdJZj1cImNvbHVtbnNUb2dnbGVcIiBbc2hvd0xhYmVsXT1cInNob3dDb2x1bW5zTGFiZWxcIiBbaGlkZUxhYmVsXT1cImhpZGVDb2x1bW5zTGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDwvc2ZjLWNvbHVtbnMtdG9nZ2xlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJzaG93VG90YWxcIj57e3RvdGFsTGFiZWx9fTogPHNwYW4+e3t0b3RhbH19PC9zcGFuPjwvcD5cclxuICAgICAgICAgICAgICAgIDxzZmMtdG9nZ2xlLXN3aXRjaGVyICpuZ0lmPVwiZGF0YVRvZ2dsZVwiIFthY3RpdmVdPVwiZGF0YVR5cGUgPT09IFRhYmxlRGF0YVR5cGUuQ2FyZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsZWZ0TW9kZWxdPVwidG9nZ2xlU3dpdGNoZXJMZWZ0TW9kZWxcIiBbcmlnaHRNb2RlbF09XCJ0b2dnbGVTd2l0Y2hlclJpZ2h0TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRhdGFUeXBlVG9nZ2xlKClcIj5cclxuICAgICAgICAgICAgICAgIDwvc2ZjLXRvZ2dsZS1zd2l0Y2hlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93Q29sdW1ucyAmJiBjb2x1bW5zVG9nZ2xlU2VydmljZS5zaG93XCIgY2xhc3M9XCJjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIiBbc3R5bGUuanVzdGlmeUNvbnRlbnRdPVwicG9zaXRpb25cIiBbc3R5bGUubWluV2lkdGhdPVwiY29sdW1uLmNhbGN1bGF0ZWRXaWR0aFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHRhYmxlQ29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXNlbGVjdGFibGUtdGFibGUtY29sdW1uICpuZ1N3aXRjaENhc2U9XCJUYWJsZUNvbHVtblR5cGUuU2VsZWN0YWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJhbGxSb3dzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy1zZWxlY3RhYmxlLXRhYmxlLWNvbHVtbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHNmYy1zb3J0aW5nLWNvbHVtbiAqbmdTd2l0Y2hEZWZhdWx0IFttb2RlbF09XCJjb2x1bW4uc29ydGluZyFcIiBbaWRdPVwiY29sdW1uLmZpZWxkXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgW3JlZmVyZW5jZUNvbnRlbnRdPVwiY29sdW1uQ29udGVudFwiIFt0ZW1wbGF0ZXNDb250ZW50XT1cInRlbXBsYXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVUeXBlXT1cIlRhYmxlVGVtcGxhdGUuQ29sdW1uXCIgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRDb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHREYXRhXT1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNmYy1kZWZhdWx0LXRhYmxlLWNvbHVtbiBbbW9kZWxdPVwiY29sdW1uXCI+PC9zZmMtZGVmYXVsdC10YWJsZS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLXNvcnRpbmctY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHNmYy1kZWxpbWV0ZXIgKm5nSWY9XCJkZWxpbWV0ZXJcIiBjbGFzcz1cInRhYmxlLWRlbGltZXRlclwiPjwvc2ZjLWRlbGltZXRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93cy1jb250YWluZXJcIj5cclxuICAgICAgICA8c2ZjLWxvYWQtY29udGFpbmVyIFtpZF09XCJsb2FkQ29udGFpbmVySWRcIiBbdHlwZV09XCJMb2FkQ29udGFpbmVyVHlwZS5UYWJsZVwiIFttb2RlbF09XCJsb2FkTW9kZWxcIlxyXG4gICAgICAgICAgICBbcGFnaW5hdGlvbkNvdW50XT1cInBhZ2luYXRpb25Db3VudFwiIFtwYWdpbmF0aW9uTGltaXRzXT1cInBhZ2luYXRpb25MaW1pdHNcIiBbc2hvd0xvYWRpbmddPVwic2hvd0xvYWRpbmdcIlxyXG4gICAgICAgICAgICAoaGFuZGxlU3VjY2Vzcyk9XCJoYW5kbGVTdWNjZXNzKCRldmVudClcIiAoaGFuZGxlTG9hZGluZyk9XCJsb2FkaW5nID0gJGV2ZW50XCIgW2VtcHR5TGFiZWxdPVwibm90Rm91bmRMYWJlbFwiXHJcbiAgICAgICAgICAgIFtsb2FkTW9yZUxhYmVsXT1cImxvYWRNb3JlTGFiZWxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpO1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgKm5nU3dpdGNoQ2FzZT1cIlRhYmxlRGF0YVR5cGUuUm93c1wiIFtyZWZlcmVuY2VDb250ZW50XT1cInJvd0NvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzQ29udGVudF09XCJ0ZW1wbGF0ZXNcIiBbdGVtcGxhdGVUeXBlXT1cIlRhYmxlVGVtcGxhdGUuUm93XCIgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRSb3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dERhdGFdPVwie21vZGVsOiBpdGVtLCBjb2x1bW5zOiB0YWJsZUNvbHVtbnMsIHBvc2l0aW9uOiBwb3NpdGlvbn1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRSb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1yb3cgW2NvbHVtbnNdPVwidGFibGVDb2x1bW5zXCIgW21vZGVsXT1cIml0ZW1cIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy1kZWZhdWx0LXRhYmxlLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8c2ZjLXRlbXBsYXRlLWNvbnRlbnQgKm5nU3dpdGNoQ2FzZT1cIlRhYmxlRGF0YVR5cGUuQ2FyZHNcIiBbcmVmZXJlbmNlQ29udGVudF09XCJjYXJkQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZXNDb250ZW50XT1cInRlbXBsYXRlc1wiIFt0ZW1wbGF0ZVR5cGVdPVwiVGFibGVUZW1wbGF0ZS5DYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRDb250ZW50XT1cImRlZmF1bHRDYXJkXCIgW2NvbnRleHREYXRhXT1cInttb2RlbDogaXRlbSwgY29sdW1uczogdGFibGVDb2x1bW5zfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc2ZjLXRlbXBsYXRlLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1jYXJkIFtjb2x1bW5zXT1cInRhYmxlQ29sdW1uc1wiIFttb2RlbF09XCJpdGVtXCIgW3NlbGVjdE9uQ2xpY2tdPVwic2VsZWN0T25DbGlja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NmYy1kZWZhdWx0LXRhYmxlLWNhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9zZmMtbG9hZC1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
351
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDcUQsU0FBUyxFQUFFLGVBQWUsRUFDM0UsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUN6QyxNQUFNLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQ0wsR0FBRyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFDN0QsV0FBVyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxFQUMxRixXQUFXLEVBQUUsaUJBQWlCLEVBQWtCLHFCQUFxQixFQUN4QixtQkFBbUIsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUNuRixPQUFPLEVBQUUsY0FBYyxFQUN2QixPQUFPLEVBQXdCLEtBQUssRUFBRSxHQUFHLEVBQzFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFP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QUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFjTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBY0MsT0FBTztzQkFEYixXQUFXO3VCQUFDLFNBQVMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFRdkMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQWtCUCxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQTZCTixTQUFTO3NCQURSLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbixcclxuICBEb0NoZWNrLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBJdGVyYWJsZURpZmZlciwgSXRlcmFibGVEaWZmZXJzLCBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgYWxsLCBmaXJzdE9yRGVmYXVsdCwgZ2V0Q2FsY1ZhbHVlLCBnZXRDc3NMaWtlVmFsdWUsIGlzRGVmaW5lZCxcclxuICBNZWRpYUxpbWl0cywgUG9zaXRpb24sIFJlc2l6ZVNlcnZpY2UsIFNvcnRpbmdEaXJlY3Rpb24sIFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlLCBXSU5ET1csXHJcbiAgVUlDb25zdGFudHMsIExvYWRDb250YWluZXJUeXBlLCBMb2FkZXJGdW5jdGlvbiwgTG9hZENvbnRhaW5lckxvYWRUeXBlLCBJTG9hZENvbnRhaW5lck1vZGVsLFxyXG4gIElMb2FkQ29udGFpbmVyUmVzdWx0TW9kZWwsIElQYWdpbmF0aW9uTW9kZWwsIFBhZ2luYXRpb25Db25zdGFudHMsIGdlbmVyYXRlR3VpZCwgYW55LFxyXG4gIGhhc0l0ZW0sIFNvcnRpbmdTZXJ2aWNlLCBJU29ydGluZ01vZGVsLCBJTG9hZENvbnRhaW5lclByZWRpY2F0ZVBhcmFtZXRlcnMsIEZpbHRlckZ1bmN0aW9uLFxyXG4gIFVJQ2xhc3MsIElUb2dnbGVTd2l0Y2hlck1vZGVsLCB3aGVyZSwgc3VtXHJcbn0gZnJvbSAnbmd4LXNmYy1jb21tb24nO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuL3BhcnRzL2NvbHVtbnMvdGFibGUtY29sdW1uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwsIElUYWJsZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi9wYXJ0cy9jb2x1bW5zL3RhYmxlLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IENvbHVtbnNUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9wYXJ0cy90b2dnbGUvc2VydmljZS9jb2x1bW5zLXRvZ2dsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSVRhYmxlU2VsZWN0RXZlbnQgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0L3RhYmxlLXNlbGVjdC5ldmVudCc7XHJcbmltcG9ydCB7IFRhYmxlU2VsZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZS9zZWxlY3QvdGFibGUtc2VsZWN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWJsZURhdGFUeXBlIH0gZnJvbSAnLi9lbnVtcy90YWJsZS1kYXRhLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFRhYmxlQ29uc3RhbnRzIH0gZnJvbSAnLi90YWJsZS5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBUYWJsZVRlbXBsYXRlIH0gZnJvbSAnLi9lbnVtcy90YWJsZS10ZW1wbGF0ZS5lbnVtJztcclxuaW1wb3J0IHsgSVRhYmxlTW9kZWwgfSBmcm9tICcuL21vZGVscy90YWJsZS5tb2RlbCc7XHJcbmltcG9ydCB7IGZhVGFibGVMaXN0LCBmYUJvcmRlckFsbCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7IENvbW1vbkNvbnN0YW50cyB9IGZyb20gJ25neC1zZmMtY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbU29ydGluZ1NlcnZpY2UsIFRhYmxlU2VsZWN0U2VydmljZSwgQ29sdW1uc1RvZ2dsZVNlcnZpY2UsIFJlc2l6ZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjaywgT25EZXN0cm95IHtcclxuXHJcbiAgVGFibGVEYXRhVHlwZSA9IFRhYmxlRGF0YVR5cGU7XHJcbiAgVGFibGVDb2x1bW5UeXBlID0gVGFibGVDb2x1bW5UeXBlO1xyXG4gIFRhYmxlVGVtcGxhdGUgPSBUYWJsZVRlbXBsYXRlO1xyXG4gIENvbnN0YW50cyA9IFRhYmxlQ29uc3RhbnRzO1xyXG4gIExvYWRDb250YWluZXJUeXBlID0gTG9hZENvbnRhaW5lclR5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246IFBvc2l0aW9uID0gUG9zaXRpb24uQ2VudGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRlbGltZXRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGRhdGFUeXBlOiBUYWJsZURhdGFUeXBlID0gVGFibGVEYXRhVHlwZS5Sb3dzO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGFUb2dnbGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dDb2x1bW5zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb2x1bW5zVG9nZ2xlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sdW1uc1Nob3dPbkluaXQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHBhZ2luYXRpb246IElQYWdpbmF0aW9uTW9kZWwgPSBQYWdpbmF0aW9uQ29uc3RhbnRzLkRFRkFVTFRfUEFHSU5BVElPTjtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXF1ZW5jZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbm90Rm91bmRMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuTk9UX0ZPVU5EX0xBQkVMX0RFRkFVTFQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZE1vcmVMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuTE9BRF9NT1JFX0xBQkVMX0RFRkFVTFQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1RvdGFsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdG90YWxMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuVE9UQUxfTEFCRUxfREVGQVVMVDtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0aW9uQ291bnQ6IG51bWJlciA9IFBhZ2luYXRpb25Db25zdGFudHMuREVGQVVMVF9DT1VOVDtcclxuXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0aW9uTGltaXRzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvLyBUZW1wbGF0ZSByZWZlcmVuY2VzIFxyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbkNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJvd0NvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNhcmRDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLy8gRW5kIFRlbXBsYXRlIHJlZmVyZW5jZXNcclxuXHJcbiAgLy9EYXRhXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YTogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xyXG5cclxuICBwcml2YXRlIGRhdGFEaWZmZXIhOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xyXG5cclxuICBwcml2YXRlIGRhdGFTdWJqZWN0ITogQmVoYXZpb3JTdWJqZWN0PGFueVtdPjtcclxuXHJcbiAgLy8gRW5kIERhdGFcclxuXHJcbiAgLy8gQ29sdW1uc1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbHVtbnM6IElUYWJsZUNvbHVtbk1vZGVsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93Q29sdW1uc0xhYmVsITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGhpZGVDb2x1bW5zTGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVzaXplOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBjb2x1bW5zRGlmZmVyITogSXRlcmFibGVEaWZmZXI8SVRhYmxlQ29sdW1uTW9kZWw+O1xyXG5cclxuICBwcml2YXRlIGNvbHVtbnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8SVRhYmxlQ29sdW1uTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElUYWJsZUNvbHVtbk1vZGVsW10+KHRoaXMuY29sdW1ucyk7XHJcblxyXG4gIHB1YmxpYyB0YWJsZUNvbHVtbnM6IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWxbXSA9IFtdO1xyXG5cclxuICAvLyBFbmQgQ29sdW1ucyAgXHJcblxyXG4gIC8vIExvYWQgY29udGFpbmVyXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZFR5cGU6IExvYWRDb250YWluZXJMb2FkVHlwZSA9IExvYWRDb250YWluZXJMb2FkVHlwZS5QYWdpbmF0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxvYWRlciE6IExvYWRlckZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpbHRlcj86IEZpbHRlckZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHByZWRpY2F0ZSQhOiBPYnNlcnZhYmxlPElMb2FkQ29udGFpbmVyUHJlZGljYXRlUGFyYW1ldGVycyB8IG51bGw+O1xyXG5cclxuICBwdWJsaWMgbG9hZE1vZGVsITogSUxvYWRDb250YWluZXJNb2RlbDtcclxuXHJcbiAgcHVibGljIGxvYWRDb250YWluZXJJZDogc3RyaW5nID0gZ2VuZXJhdGVHdWlkKCk7XHJcblxyXG4gIHB1YmxpYyBpdGVtczogSVRhYmxlTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgdG90YWw6IG51bWJlciA9IDA7XHJcblxyXG4gIHByaXZhdGUgcGFnZTogbnVtYmVyID0gUGFnaW5hdGlvbkNvbnN0YW50cy5ERUZBVUxUX1BBR0U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtVSUNsYXNzLkxvYWRpbmd9YClcclxuICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBFbmQgTG9hZCBjb250YWluZXJcclxuXHJcbiAgLy8gU2VsZWN0aW9uXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdE9uQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RNdWx0aXBsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8SVRhYmxlU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJVGFibGVTZWxlY3RFdmVudD4oKTtcclxuXHJcbiAgcHVibGljIGdldCBhbGxSb3dzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMuYWxsU2VsZWN0ZWQgfHwgdGhpcy50b3RhbCA9PSB0aGlzLnNlbGVjdGVkU2VydmljZS5zZWxlY3RlZEl0ZW1zLmxlbmd0aClcclxuICAgICAgJiYgIWFueSh0aGlzLnNlbGVjdGVkU2VydmljZS51bnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICYmIGFueSh0aGlzLml0ZW1zKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFsbFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX2FsbFNlbGVjdGlvblN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLy8gRW5kIFNlbGVjdGlvblxyXG5cclxuICAvLyBEYXRhIHRvZ2dsZVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGFMaXN0TGFiZWw6IHN0cmluZyA9IHRoaXMuQ29uc3RhbnRzLkRBVEFfTElTVF9MQUJFTDtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRhQ2FyZHNMYWJlbDogc3RyaW5nID0gdGhpcy5Db25zdGFudHMuREFUQV9DQVJEU19MQUJFTDtcclxuXHJcbiAgcHVibGljIHRvZ2dsZVN3aXRjaGVyTGVmdE1vZGVsITogSVRvZ2dsZVN3aXRjaGVyTW9kZWw7XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVTd2l0Y2hlclJpZ2h0TW9kZWwhOiBJVG9nZ2xlU3dpdGNoZXJNb2RlbDtcclxuXHJcbiAgLy8gRW5kIGRhdGEgdG9nZ2xlXHJcblxyXG4gIHB1YmxpYyB2bSQhOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnNSZXNpemVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgX3NvcnRpbmdTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgZ2V0IGluaXRpYWxTb3J0aW5nKCk6IElTb3J0aW5nTW9kZWwgfCBudWxsIHtcclxuICAgIGNvbnN0IGFjdGl2ZVNvcnRpbmdDb2x1bW4gPSBmaXJzdE9yRGVmYXVsdCh0aGlzLmNvbHVtbnMsIGNvbHVtbiA9PiBjb2x1bW4uc29ydGluZz8uYWN0aXZlISk7XHJcblxyXG4gICAgaWYgKGFjdGl2ZVNvcnRpbmdDb2x1bW4pXHJcbiAgICAgIHJldHVybiB7IGlkOiBhY3RpdmVTb3J0aW5nQ29sdW1uLmZpZWxkLCBkaXJlY3Rpb246IGFjdGl2ZVNvcnRpbmdDb2x1bW4uc29ydGluZz8uZGlyZWN0aW9uISB9O1xyXG5cclxuICAgIGNvbnN0IGVuYWJsZWRTb3J0aW5nQ29sdW1uID0gZmlyc3RPckRlZmF1bHQodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gY29sdW1uLnNvcnRpbmc/LmVuYWJsZWQhKTtcclxuXHJcbiAgICByZXR1cm4gZW5hYmxlZFNvcnRpbmdDb2x1bW4gPyB7IGlkOiBlbmFibGVkU29ydGluZ0NvbHVtbi5maWVsZCwgZGlyZWN0aW9uOiBlbmFibGVkU29ydGluZ0NvbHVtbi5zb3J0aW5nPy5kaXJlY3Rpb24hIH0gOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSB9KVxyXG4gIHRlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlPiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29sdW1uc1RvZ2dsZVNlcnZpY2U6IENvbHVtbnNUb2dnbGVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luZG93OiBXaW5kb3csXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRTZXJ2aWNlOiBUYWJsZVNlbGVjdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNvcnRpbmdTZXJ2aWNlOiBTb3J0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZXNpemVTZXJ2aWNlOiBSZXNpemVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xyXG4gICAgdGhpcy5kYXRhRGlmZmVyID0gaXRlcmFibGVEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZTxJdGVyYWJsZURpZmZlcjxhbnk+Pih1bmRlZmluZWQpO1xyXG4gICAgdGhpcy5jb2x1bW5zRGlmZmVyID0gaXRlcmFibGVEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZTxJVGFibGVDb2x1bW5Nb2RlbD4odW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gaWYgZGF0YSBpcyBzdGF0aWMsIG1ha2UgaXQgb2JzZXJ2YWJsZVxyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5kYXRhJCkpIHtcclxuICAgICAgdGhpcy5kYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5kYXRhJCA9IHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0YWJsZSlcclxuICAgICAgdGhpcy5zZWxlY3Rpb25TdWJzY3JpYmUoKTtcclxuXHJcbiAgICAvLyBzZXQgdXAgY29sdW1ucyAoY29uZGl0aW9uYWxseSBhZGQgc2VxdWVuY2UsIHNlbGVjdGFibGUgYW5kIGV4cGFuZCBjb2x1bW5zKVxyXG4gICAgdGhpcy5jb2x1bW5zU3Vic2NyaWJlKCk7XHJcblxyXG4gICAgaWYgKHRoaXMucmVzaXplKVxyXG4gICAgICB0aGlzLnJlc2l6ZVN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuc29ydGluZ1N1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubG9hZE1vZGVsID0ge1xyXG4gICAgICBwcmVkaWNhdGUkOiB0aGlzLnByZWRpY2F0ZSQsXHJcbiAgICAgIGRhdGEkOiB0aGlzLmRhdGEkLFxyXG4gICAgICBsb2FkZXI6IHRoaXMubG9hZGVyLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyLFxyXG4gICAgICBsb2FkVHlwZTogdGhpcy5sb2FkVHlwZSxcclxuICAgICAgcGFnaW5hdGlvbjogdGhpcy5wYWdpbmF0aW9uLFxyXG4gICAgICBzb3J0aW5nOiB0aGlzLmluaXRpYWxTb3J0aW5nXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMudG9nZ2xlU3dpdGNoZXJMZWZ0TW9kZWwgPSB7IGxhYmVsOiB0aGlzLmRhdGFMaXN0TGFiZWwsIGljb246IGZhVGFibGVMaXN0IH07XHJcbiAgICB0aGlzLnRvZ2dsZVN3aXRjaGVyUmlnaHRNb2RlbCA9IHsgbGFiZWw6IHRoaXMuZGF0YUNhcmRzTGFiZWwsIGljb246IGZhQm9yZGVyQWxsIH07XHJcblxyXG4gICAgaWYgKHRoaXMuY29sdW1uc1Nob3dPbkluaXQpIHtcclxuICAgICAgdGhpcy5jb2x1bW5zVG9nZ2xlU2VydmljZS5zZXQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRhdGFEaWZmZXIuZGlmZih0aGlzLmRhdGEpKSB7XHJcbiAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dCh0aGlzLmRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbHVtbnNEaWZmZXIuZGlmZih0aGlzLmNvbHVtbnMpKSB7XHJcbiAgICAgIHRoaXMuY29sdW1uc1N1YmplY3QubmV4dCh0aGlzLmNvbHVtbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FsbFNlbGVjdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX2NvbHVtbnNSZXNpemVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9jb2x1bW5zU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fc29ydGluZ1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRhdGFUeXBlVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhVHlwZSA9IHRoaXMuZGF0YVR5cGUgPT0gVGFibGVEYXRhVHlwZS5Sb3dzXHJcbiAgICAgID8gVGFibGVEYXRhVHlwZS5DYXJkc1xyXG4gICAgICA6IFRhYmxlRGF0YVR5cGUuUm93cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdWNjZXNzKHJlc3VsdDogSUxvYWRDb250YWluZXJSZXN1bHRNb2RlbDxhbnk+KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2UgPSByZXN1bHQucGFnZTtcclxuICAgIHRoaXMudG90YWwgPSByZXN1bHQudG90YWw7XHJcblxyXG4gICAgY29uc3QgaXRlbXM6IElUYWJsZU1vZGVsW10gPSByZXN1bHQuaXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBjb25zdCBzZXF1ZW5jZSA9IChpbmRleCArIDEpICsgKCh0aGlzLnBhZ2UgKiB0aGlzLnBhZ2luYXRpb24uc2l6ZSkgLSB0aGlzLnBhZ2luYXRpb24uc2l6ZSk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgIHNlcXVlbmNlOiBzZXF1ZW5jZSxcclxuICAgICAgICBzZWxlY3RlZDogcmVzdWx0LnJlc2V0ID8gZmFsc2UgOiB0aGlzLmdldEl0ZW1TZWxlY3RlZChzZXF1ZW5jZSksXHJcbiAgICAgICAgZGF0YTogaXRlbVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHJlc3VsdC5yZXNldCkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gaXRlbXM7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0QWxsKGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmNvbmNhdChpdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdGlvblN1YnNjcmliZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FsbFNlbGVjdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0ZWRTZXJ2aWNlLnNlbGVjdCRcclxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IElUYWJsZVNlbGVjdEV2ZW50KSA9PiB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdE11bHRpcGxlKSB7XHJcbiAgICAgICAgICBpZiAoZXZlbnQuaW5kZXggPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFsbFNlbGVjdGVkID0gZXZlbnQuc2VsZWN0ZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbTogSVRhYmxlTW9kZWwpID0+IGl0ZW0uc2VsZWN0ZWQgPSBldmVudC5zZWxlY3RlZCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW06IElUYWJsZU1vZGVsKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uc2VxdWVuY2UgPT09IGV2ZW50LmluZGV4KVxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGV2ZW50LnNlbGVjdGVkO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtOiBJVGFibGVNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5zZXF1ZW5jZSA9PT0gZXZlbnQuaW5kZXgpXHJcbiAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGV2ZW50LnNlbGVjdGVkO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29sdW1uc1Jlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU2VydmljZS5vblJlc2l6ZSRcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRhYmxlQ29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PlxyXG4gICAgICAgIGNvbHVtbi5jYWxjdWxhdGVkV2lkdGggPSB0aGlzLmNhbGN1bGF0ZUNvbHVtbldpZHRoKGNvbHVtbiwgdGhpcy50YWJsZUNvbHVtbnMubGVuZ3RoKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb2x1bW5zU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29sdW1uc1N1YnNjcmlwdGlvbiA9IHRoaXMuY29sdW1uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICAgZmlsdGVyKGNvbHVtbnMgPT4gYW55KGNvbHVtbnMpKSxcclxuICAgICAgbWFwKChjb2x1bW5zOiBJVGFibGVDb2x1bW5Nb2RlbFtdKSA9PiB7XHJcbiAgICAgICAgbGV0IHRhYmxlQ29sdW1ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29sdW1ucykpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZXF1ZW5jZSlcclxuICAgICAgICAgIHRhYmxlQ29sdW1ucy51bnNoaWZ0KFRhYmxlQ29uc3RhbnRzLlNFUVVFTkNFX0NPTFVNTik7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGFibGUgJiYgdGhpcy5zZWxlY3RNdWx0aXBsZSlcclxuICAgICAgICAgIHRhYmxlQ29sdW1ucy51bnNoaWZ0KFRhYmxlQ29uc3RhbnRzLlNFTEVDVEFCTEVfQ09MVU1OKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpXHJcbiAgICAgICAgICB0YWJsZUNvbHVtbnMucHVzaChUYWJsZUNvbnN0YW50cy5FWFBBTkRFRF9DT0xVTU4pO1xyXG5cclxuICAgICAgICAvLyBjYWxjdWxhdGVkIHdpZHRoIG5vdCB3b3JrIHdpdGhvdXQgZGVlcCBjb3B5XHJcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGFibGVDb2x1bW5zKSk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgoY29sdW1uczogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbFtdKSA9PiB7XHJcbiAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsKSA9PiB7XHJcbiAgICAgICAgY29sdW1uLmNhbGN1bGF0ZWRXaWR0aCA9IHRoaXMuY2FsY3VsYXRlQ29sdW1uV2lkdGgoY29sdW1uLCBjb2x1bW5zLmxlbmd0aCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHNvcnRpbmdDb2x1bW4gPSB0aGlzLmluaXRpYWxTb3J0aW5nO1xyXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxTb3J0aW5nKSB7XHJcbiAgICAgICAgICB0aGlzLnNldENvbHVtblNvcnRpbmcoY29sdW1uLCBzb3J0aW5nQ29sdW1uPy5pZCEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gY29sdW1ucztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0aW5nU3Vic2NyaWJlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc29ydGluZ1N1YnNjcmlwdGlvbiA9IHRoaXMuc29ydGluZ1NlcnZpY2Uuc29ydGluZyQuc3Vic2NyaWJlKChzb3J0aW5nRXZlbnQpID0+XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zLmZvckVhY2goKGNvbHVtbjogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCkgPT4gdGhpcy5zZXRDb2x1bW5Tb3J0aW5nKGNvbHVtbiwgc29ydGluZ0V2ZW50Py5pZCkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY3VsYXRlQ29sdW1uV2lkdGgoY29sdW1uOiBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsLCBjb2x1bW5zTGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgLy8gZGVmaW5lZCB3aWR0aCBmb3IgYWxsIGNvbHVtbnNcclxuICAgIGlmIChhbGwodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gaXNEZWZpbmVkKGNvbHVtbi53aWR0aCkpKSB7XHJcbiAgICAgIHJldHVybiBnZXRDc3NMaWtlVmFsdWUoY29sdW1uLndpZHRoISwgVUlDb25zdGFudHMuQ1NTX1BFUkNFTlRBR0UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0RlZmluZWQoY29sdW1uLndpZHRoKSkge1xyXG4gICAgICByZXR1cm4gZ2V0Q3NzTGlrZVZhbHVlKGNvbHVtbi53aWR0aCEsIFVJQ29uc3RhbnRzLkNTU19QRVJDRU5UQUdFKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb2x1bW5zV2l0aFdpZHRoOiBJVGFibGVDb2x1bW5Nb2RlbFtdID0gd2hlcmUodGhpcy5jb2x1bW5zLCBjb2x1bW4gPT4gaXNEZWZpbmVkKGNvbHVtbi53aWR0aCkpISxcclxuICAgICAgY29sdW1uc1dpZHRoOiBudW1iZXIgPSBzdW0oY29sdW1uc1dpdGhXaWR0aCwgY29sdW1uID0+IGNvbHVtbi53aWR0aCEpO1xyXG5cclxuICAgIGlmIChjb2x1bW5zV2lkdGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHByb3BvcnRpb25hbFdpZHRoOiBudW1iZXIgPSAoQ29tbW9uQ29uc3RhbnRzLkZVTExfUEVSQ0VOVEFHRSAtIGNvbHVtbnNXaWR0aCkgLyAodGhpcy5jb2x1bW5zLmxlbmd0aCAtIGNvbHVtbnNXaXRoV2lkdGgubGVuZ3RoKTtcclxuICAgICAgcmV0dXJuIGdldENzc0xpa2VWYWx1ZShwcm9wb3J0aW9uYWxXaWR0aCwgVUlDb25zdGFudHMuQ1NTX1BFUkNFTlRBR0UpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB3aWR0aDogbnVtYmVyID0gY29sdW1uc0xlbmd0aDtcclxuXHJcbiAgICBpZiAodGhpcy53aW5kb3cuaW5uZXJXaWR0aCA8PSBNZWRpYUxpbWl0cy5Nb2JpbGVMYXJnZSlcclxuICAgICAgd2lkdGggPSAxO1xyXG4gICAgZWxzZSBpZiAodGhpcy53aW5kb3cuaW5uZXJXaWR0aCA8PSBNZWRpYUxpbWl0cy5UYWJsZXQpXHJcbiAgICAgIHdpZHRoID0gTWF0aC5jZWlsKGNvbHVtbnNMZW5ndGggLyAyKTtcclxuXHJcbiAgICByZXR1cm4gZ2V0Q2FsY1ZhbHVlKHdpZHRoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uU29ydGluZyhjb2x1bW46IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwsIHNvcnRpbmdJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoY29sdW1uLnNvcnRpbmc/LmVuYWJsZWQpIHtcclxuICAgICAgY29sdW1uLnNvcnRpbmcuYWN0aXZlID0gY29sdW1uLmZpZWxkID09IHNvcnRpbmdJZDtcclxuXHJcbiAgICAgIGlmICghY29sdW1uLnNvcnRpbmcuYWN0aXZlKVxyXG4gICAgICAgIGNvbHVtbi5zb3J0aW5nLmRpcmVjdGlvbiA9IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJdGVtU2VsZWN0ZWQoc2VxdWVuY2U6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsU2VsZWN0ZWRcclxuICAgICAgPyAhaGFzSXRlbSh0aGlzLnNlbGVjdGVkU2VydmljZS51bnNlbGVjdGVkSXRlbXMsIHNlcXVlbmNlKVxyXG4gICAgICA6IGhhc0l0ZW0odGhpcy5zZWxlY3RlZFNlcnZpY2Uuc2VsZWN0ZWRJdGVtcywgc2VxdWVuY2UpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0xvYWRpbmdcIiBjbGFzcz1cInRhYmxlLWxvYWRlclwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbnMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMtYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPHNmYy1jb2x1bW5zLXRvZ2dsZSAqbmdJZj1cImNvbHVtbnNUb2dnbGVcIiBbc2hvd0xhYmVsXT1cInNob3dDb2x1bW5zTGFiZWxcIiBbaGlkZUxhYmVsXT1cImhpZGVDb2x1bW5zTGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDwvc2ZjLWNvbHVtbnMtdG9nZ2xlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJzaG93VG90YWxcIj57e3RvdGFsTGFiZWx9fTogPHNwYW4+e3t0b3RhbH19PC9zcGFuPjwvcD5cclxuICAgICAgICAgICAgICAgIDxzZmMtdG9nZ2xlLXN3aXRjaGVyICpuZ0lmPVwiZGF0YVRvZ2dsZVwiIFthY3RpdmVdPVwiZGF0YVR5cGUgPT09IFRhYmxlRGF0YVR5cGUuQ2FyZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsZWZ0TW9kZWxdPVwidG9nZ2xlU3dpdGNoZXJMZWZ0TW9kZWxcIiBbcmlnaHRNb2RlbF09XCJ0b2dnbGVTd2l0Y2hlclJpZ2h0TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRhdGFUeXBlVG9nZ2xlKClcIj5cclxuICAgICAgICAgICAgICAgIDwvc2ZjLXRvZ2dsZS1zd2l0Y2hlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJzaG93Q29sdW1ucyAmJiBjb2x1bW5zVG9nZ2xlU2VydmljZS5zaG93XCIgY2xhc3M9XCJjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIiBbc3R5bGUuanVzdGlmeUNvbnRlbnRdPVwicG9zaXRpb25cIiBbc3R5bGUubWluV2lkdGhdPVwiY29sdW1uLmNhbGN1bGF0ZWRXaWR0aFwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHRhYmxlQ29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdE11bHRpcGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtc2VsZWN0YWJsZS10YWJsZS1jb2x1bW4gKm5nU3dpdGNoQ2FzZT1cIlRhYmxlQ29sdW1uVHlwZS5TZWxlY3RhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJhbGxSb3dzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZmMtc2VsZWN0YWJsZS10YWJsZS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzZmMtc29ydGluZy1jb2x1bW4gKm5nU3dpdGNoRGVmYXVsdCBbbW9kZWxdPVwiY29sdW1uLnNvcnRpbmchXCIgW2lkXT1cImNvbHVtbi5maWVsZFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNmYy10ZW1wbGF0ZS1jb250ZW50IFtyZWZlcmVuY2VDb250ZW50XT1cImNvbHVtbkNvbnRlbnRcIiBbdGVtcGxhdGVzQ29udGVudF09XCJ0ZW1wbGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlVHlwZV09XCJUYWJsZVRlbXBsYXRlLkNvbHVtblwiIFtkZWZhdWx0Q29udGVudF09XCJkZWZhdWx0Q29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RGF0YV09XCJjb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZmMtdGVtcGxhdGUtY29udGVudD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbHVtbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZmMtZGVmYXVsdC10YWJsZS1jb2x1bW4gW21vZGVsXT1cImNvbHVtblwiPjwvc2ZjLWRlZmF1bHQtdGFibGUtY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy1zb3J0aW5nLWNvbHVtbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxzZmMtZGVsaW1ldGVyICpuZ0lmPVwiZGVsaW1ldGVyXCIgY2xhc3M9XCJ0YWJsZS1kZWxpbWV0ZXJcIj48L3NmYy1kZWxpbWV0ZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJvd3MtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPHNmYy1sb2FkLWNvbnRhaW5lciBbaWRdPVwibG9hZENvbnRhaW5lcklkXCIgW3R5cGVdPVwiTG9hZENvbnRhaW5lclR5cGUuVGFibGVcIiBbbW9kZWxdPVwibG9hZE1vZGVsXCJcclxuICAgICAgICAgICAgW3BhZ2luYXRpb25Db3VudF09XCJwYWdpbmF0aW9uQ291bnRcIiBbcGFnaW5hdGlvbkxpbWl0c109XCJwYWdpbmF0aW9uTGltaXRzXCIgW3Nob3dMb2FkaW5nXT1cInNob3dMb2FkaW5nXCJcclxuICAgICAgICAgICAgKGhhbmRsZVN1Y2Nlc3MpPVwiaGFuZGxlU3VjY2VzcygkZXZlbnQpXCIgKGhhbmRsZUxvYWRpbmcpPVwibG9hZGluZyA9ICRldmVudFwiIFtlbXB0eUxhYmVsXT1cIm5vdEZvdW5kTGFiZWxcIlxyXG4gICAgICAgICAgICBbbG9hZE1vcmVMYWJlbF09XCJsb2FkTW9yZUxhYmVsXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgaW5kZXggYXMgaTtcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImRhdGFUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNmYy10ZW1wbGF0ZS1jb250ZW50ICpuZ1N3aXRjaENhc2U9XCJUYWJsZURhdGFUeXBlLlJvd3NcIiBbcmVmZXJlbmNlQ29udGVudF09XCJyb3dDb250ZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlc0NvbnRlbnRdPVwidGVtcGxhdGVzXCIgW3RlbXBsYXRlVHlwZV09XCJUYWJsZVRlbXBsYXRlLlJvd1wiIFtkZWZhdWx0Q29udGVudF09XCJkZWZhdWx0Um93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHREYXRhXT1cInttb2RlbDogaXRlbSwgY29sdW1uczogdGFibGVDb2x1bW5zLCBwb3NpdGlvbjogcG9zaXRpb259XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zZmMtdGVtcGxhdGUtY29udGVudD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Um93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2ZjLWRlZmF1bHQtdGFibGUtcm93IFtjb2x1bW5zXT1cInRhYmxlQ29sdW1uc1wiIFttb2RlbF09XCJpdGVtXCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RPbkNsaWNrXT1cInNlbGVjdE9uQ2xpY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZmMtZGVmYXVsdC10YWJsZS1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHNmYy10ZW1wbGF0ZS1jb250ZW50ICpuZ1N3aXRjaENhc2U9XCJUYWJsZURhdGFUeXBlLkNhcmRzXCIgW3JlZmVyZW5jZUNvbnRlbnRdPVwiY2FyZENvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGVtcGxhdGVzQ29udGVudF09XCJ0ZW1wbGF0ZXNcIiBbdGVtcGxhdGVUeXBlXT1cIlRhYmxlVGVtcGxhdGUuQ2FyZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0Q29udGVudF09XCJkZWZhdWx0Q2FyZFwiIFtjb250ZXh0RGF0YV09XCJ7bW9kZWw6IGl0ZW0sIGNvbHVtbnM6IHRhYmxlQ29sdW1uc31cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NmYy10ZW1wbGF0ZS1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2ZjLWRlZmF1bHQtdGFibGUtY2FyZCBbY29sdW1uc109XCJ0YWJsZUNvbHVtbnNcIiBbbW9kZWxdPVwiaXRlbVwiIFtzZWxlY3RPbkNsaWNrXT1cInNlbGVjdE9uQ2xpY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZmMtZGVmYXVsdC10YWJsZS1jYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvc2ZjLWxvYWQtY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TableColumnType } from "./parts/columns/table-column-type.enum";
|
|
2
2
|
export class TableConstants {
|
|
3
3
|
}
|
|
4
|
-
TableConstants.SEQUENCE_COLUMN = { name: '№', field: '', type: TableColumnType.Sequence };
|
|
4
|
+
TableConstants.SEQUENCE_COLUMN = { name: '№', field: '', type: TableColumnType.Sequence, width: 10 };
|
|
5
5
|
TableConstants.SELECTABLE_COLUMN = { name: '', field: '', type: TableColumnType.Selectable };
|
|
6
6
|
TableConstants.EXPANDED_COLUMN = { name: '', field: '', type: TableColumnType.Expanded };
|
|
7
7
|
TableConstants.NOT_FOUND_LABEL_DEFAULT = 'Not found';
|
|
@@ -9,4 +9,4 @@ TableConstants.LOAD_MORE_LABEL_DEFAULT = 'Show more';
|
|
|
9
9
|
TableConstants.TOTAL_LABEL_DEFAULT = 'Total';
|
|
10
10
|
TableConstants.DATA_LIST_LABEL = 'List';
|
|
11
11
|
TableConstants.DATA_CARDS_LABEL = 'Cards';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE1BQU0sT0FBTyxjQUFjOztBQUNoQiw4QkFBZSxHQUE4QixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDakgsZ0NBQWlCLEdBQThCLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDekcsOEJBQWUsR0FBOEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNyRyxzQ0FBdUIsR0FBVyxXQUFXLENBQUM7QUFDOUMsc0NBQXVCLEdBQVcsV0FBVyxDQUFDO0FBQzlDLGtDQUFtQixHQUFXLE9BQU8sQ0FBQztBQUN0Qyw4QkFBZSxHQUFXLE1BQU0sQ0FBQztBQUNqQywrQkFBZ0IsR0FBVyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVGFibGVDb2x1bW5FeHRlbmRlZE1vZGVsIH0gZnJvbSBcIi4vcGFydHMvY29sdW1ucy90YWJsZS1jb2x1bW4ubW9kZWxcIjtcclxuaW1wb3J0IHsgVGFibGVDb2x1bW5UeXBlIH0gZnJvbSBcIi4vcGFydHMvY29sdW1ucy90YWJsZS1jb2x1bW4tdHlwZS5lbnVtXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVDb25zdGFudHMge1xyXG4gICAgc3RhdGljIFNFUVVFTkNFX0NPTFVNTjogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCA9IHsgbmFtZTogJ+KElicsIGZpZWxkOiAnJywgdHlwZTogVGFibGVDb2x1bW5UeXBlLlNlcXVlbmNlLCB3aWR0aDogMTAgfTtcclxuICAgIHN0YXRpYyBTRUxFQ1RBQkxFX0NPTFVNTjogSVRhYmxlQ29sdW1uRXh0ZW5kZWRNb2RlbCA9IHsgbmFtZTogJycsIGZpZWxkOiAnJywgdHlwZTogVGFibGVDb2x1bW5UeXBlLlNlbGVjdGFibGUgfTtcclxuICAgIHN0YXRpYyBFWFBBTkRFRF9DT0xVTU46IElUYWJsZUNvbHVtbkV4dGVuZGVkTW9kZWwgPSB7IG5hbWU6ICcnLCBmaWVsZDogJycsIHR5cGU6IFRhYmxlQ29sdW1uVHlwZS5FeHBhbmRlZCB9O1xyXG4gICAgc3RhdGljIE5PVF9GT1VORF9MQUJFTF9ERUZBVUxUOiBzdHJpbmcgPSAnTm90IGZvdW5kJztcclxuICAgIHN0YXRpYyBMT0FEX01PUkVfTEFCRUxfREVGQVVMVDogc3RyaW5nID0gJ1Nob3cgbW9yZSc7XHJcbiAgICBzdGF0aWMgVE9UQUxfTEFCRUxfREVGQVVMVDogc3RyaW5nID0gJ1RvdGFsJztcclxuICAgIHN0YXRpYyBEQVRBX0xJU1RfTEFCRUw6IHN0cmluZyA9ICdMaXN0JztcclxuICAgIHN0YXRpYyBEQVRBX0NBUkRTX0xBQkVMOiBzdHJpbmcgPSAnQ2FyZHMnO1xyXG59Il19
|
|
@@ -12,10 +12,10 @@ export class TagsComponent {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
TagsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
-
TagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TagsComponent, selector: "sfc-tags", inputs: { tags: "tags" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\" [sfcComponentSize] [customSize]=\"0.8\"\r\n (remove)=\"onRemove($event)\">\r\n </sfc-tag>\r\n </div>\r\n</div>", styles: [":host{display:inline-block}:host .container .content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}:host .container .content sfc-tag{margin:.2em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { kind: "component", type: i2.TagComponent, selector: "sfc-tag", inputs: ["model", "disabled"], outputs: ["remove"] }] });
|
|
15
|
+
TagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TagsComponent, selector: "sfc-tags", inputs: { tags: "tags" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\" [sfcComponentSize] [customSize]=\"0.8\"\r\n (remove)=\"onRemove($event)\">\r\n </sfc-tag>\r\n </div>\r\n</div>", styles: [":host{display:inline-block}:host .container .content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}:host .container .content sfc-tag{margin:.2em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { kind: "component", type: i2.TagComponent, selector: "sfc-tag", inputs: ["model", "disabled"], outputs: ["remove"] }] });
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TagsComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
|
-
args: [{ selector: 'sfc-tags', template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\" [sfcComponentSize] [customSize]=\"0.8\"\r\n (remove)=\"onRemove($event)\">\r\n </sfc-tag>\r\n </div>\r\n</div>", styles: [":host{display:inline-block}:host .container .content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}:host .container .content sfc-tag{margin:.2em}\n"] }]
|
|
18
|
+
args: [{ selector: 'sfc-tags', template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\" [sfcComponentSize] [customSize]=\"0.8\"\r\n (remove)=\"onRemove($event)\">\r\n </sfc-tag>\r\n </div>\r\n</div>", styles: [":host{display:inline-block}:host .container .content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}:host .container .content sfc-tag{margin:.2em}\n"] }]
|
|
19
19
|
}], propDecorators: { tags: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}], remove: [{
|