@acorex/components 7.24.5 → 17.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/common/lib/classes/datasource.class.d.ts +2 -0
- package/data-table/index.d.ts +3 -2
- package/data-table/lib/base-data-table.class.d.ts +25 -0
- package/data-table/lib/columns/row-command-column.component.d.ts +2 -2
- package/data-table/lib/data-table/data-table.component.d.ts +52 -0
- package/data-table/lib/data-table.module.d.ts +21 -18
- package/data-table/lib/{data-table.component.d.ts → infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts} +8 -22
- package/esm2022/button/lib/button.component.mjs +2 -2
- package/esm2022/common/lib/classes/datasource.class.mjs +8 -2
- package/esm2022/common/lib/components/selection-base.component.class.mjs +2 -2
- package/esm2022/data-pager/lib/data-pager.component.mjs +7 -11
- package/esm2022/data-table/index.mjs +4 -3
- package/esm2022/data-table/lib/base-data-table.class.mjs +36 -0
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +57 -69
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +7 -21
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +6 -18
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +233 -0
- package/esm2022/data-table/lib/data-table.module.mjs +24 -7
- package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +272 -0
- package/esm2022/otp/lib/otp.component.mjs +2 -2
- package/esm2022/phone-box/lib/phone-box.component.mjs +21 -38
- package/esm2022/select-box/lib/select-box.component.mjs +2 -2
- package/esm2022/text-area/lib/text-area.component.mjs +6 -22
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +8 -2
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +5 -9
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +684 -470
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +2 -2
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +22 -38
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +5 -21
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/package.json +25 -31
- package/phone-box/lib/phone-box.component.d.ts +4 -13
- package/text-area/lib/text-area.component.d.ts +0 -1
- package/data-table-2/README.md +0 -3
- package/data-table-2/index.d.ts +0 -8
- package/data-table-2/lib/columns/data-table-column-resizable.directive.d.ts +0 -22
- package/data-table-2/lib/columns/data-table-column.d.ts +0 -22
- package/data-table-2/lib/columns/data-text-column.component.d.ts +0 -18
- package/data-table-2/lib/columns/row-command-column.component.d.ts +0 -40
- package/data-table-2/lib/columns/row-index-column.component.d.ts +0 -18
- package/data-table-2/lib/columns/row-select-column.component.d.ts +0 -14
- package/data-table-2/lib/data-table-2.component.d.ts +0 -61
- package/data-table-2/lib/data-table-2.module.d.ts +0 -24
- package/esm2022/data-table/lib/data-table.component.mjs +0 -290
- package/esm2022/data-table-2/acorex-components-data-table-2.mjs +0 -5
- package/esm2022/data-table-2/index.mjs +0 -9
- package/esm2022/data-table-2/lib/columns/data-table-column-resizable.directive.mjs +0 -59
- package/esm2022/data-table-2/lib/columns/data-table-column.mjs +0 -42
- package/esm2022/data-table-2/lib/columns/data-text-column.component.mjs +0 -81
- package/esm2022/data-table-2/lib/columns/row-command-column.component.mjs +0 -231
- package/esm2022/data-table-2/lib/columns/row-index-column.component.mjs +0 -71
- package/esm2022/data-table-2/lib/columns/row-select-column.component.mjs +0 -61
- package/esm2022/data-table-2/lib/data-table-2.component.mjs +0 -211
- package/esm2022/data-table-2/lib/data-table-2.module.mjs +0 -94
- package/fesm2022/acorex-components-data-table-2.mjs +0 -822
- package/fesm2022/acorex-components-data-table-2.mjs.map +0 -1
@@ -43,6 +43,7 @@ export interface AXDataSourceChangedEvent<T = unknown> {
|
|
43
43
|
}
|
44
44
|
export declare class AXDataSource<T = unknown> {
|
45
45
|
config: AXDataSourceConfig<T>;
|
46
|
+
useCache: boolean;
|
46
47
|
private _totalCount;
|
47
48
|
get totalCount(): number;
|
48
49
|
get totalPages(): number;
|
@@ -63,6 +64,7 @@ export declare class AXDataSource<T = unknown> {
|
|
63
64
|
private load;
|
64
65
|
private setLoadingState;
|
65
66
|
setPage(page: number): void;
|
67
|
+
setPageSize(pageSize: number): void;
|
66
68
|
filter(value: AXDataSourceFilterOption): void;
|
67
69
|
sort(...value: AXDataSourceSortOption[]): void;
|
68
70
|
clearFilter(): void;
|
package/data-table/index.d.ts
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
export * from './lib/columns/data-table-column';
|
2
|
+
export * from './lib/columns/data-table-column-resizable.directive';
|
2
3
|
export * from './lib/columns/data-text-column.component';
|
3
4
|
export * from './lib/columns/row-command-column.component';
|
4
5
|
export * from './lib/columns/row-index-column.component';
|
5
6
|
export * from './lib/columns/row-select-column.component';
|
6
|
-
export * from './lib/columns/data-table-column-resizable.directive';
|
7
|
-
export * from './lib/data-table.component';
|
8
7
|
export * from './lib/data-table.module';
|
8
|
+
export * from './lib/data-table/data-table.component';
|
9
|
+
export * from './lib/infinite-scroll-data-table/infinite-scroll-data-table.component';
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { AXDataSource, AXEvent, MXBaseComponent } from '@acorex/components/common';
|
2
|
+
import { EventEmitter } from '@angular/core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export interface AXDataTableScrollIndexChanged extends AXEvent {
|
5
|
+
index: number;
|
6
|
+
}
|
7
|
+
export interface AXDataTableRowClick extends AXEvent {
|
8
|
+
data?: any;
|
9
|
+
}
|
10
|
+
export interface AXColumnsOrderChangedEvent extends AXEvent {
|
11
|
+
data?: any;
|
12
|
+
}
|
13
|
+
export interface AXDataTableRowDbClick extends AXDataTableRowClick {
|
14
|
+
}
|
15
|
+
export declare abstract class AXBaseDataTable extends MXBaseComponent {
|
16
|
+
dataSource: AXDataSource<unknown>;
|
17
|
+
selectedRowsChange: EventEmitter<unknown[]>;
|
18
|
+
private _selectedRows;
|
19
|
+
get selectedRows(): unknown[];
|
20
|
+
set selectedRows(v: unknown[]);
|
21
|
+
selectRows(...rows: unknown[]): void;
|
22
|
+
unSelectRows(...rows: unknown[]): void;
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXBaseDataTable, never>;
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXBaseDataTable>;
|
25
|
+
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { AXButtonItemComponent, AXButtonItemListItem } from '@acorex/components/button';
|
2
2
|
import { AXButtonClickEvent, AXItemClickEvent } from '@acorex/components/common';
|
3
3
|
import { ChangeDetectorRef, EventEmitter, TemplateRef } from '@angular/core';
|
4
|
-
import {
|
4
|
+
import { AXBaseDataTable } from '../base-data-table.class';
|
5
5
|
import { AXDataTableColumnComponent } from './data-table-column';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
export interface AXRowCommandItem extends AXButtonItemListItem {
|
@@ -9,7 +9,7 @@ export interface AXRowCommandItem extends AXButtonItemListItem {
|
|
9
9
|
export interface AXRowCommandItemClickEvent extends AXButtonClickEvent {
|
10
10
|
}
|
11
11
|
export declare abstract class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {
|
12
|
-
protected grid:
|
12
|
+
protected grid: AXBaseDataTable;
|
13
13
|
protected cdr: ChangeDetectorRef;
|
14
14
|
allowSorting: boolean;
|
15
15
|
get loadingEnabled(): boolean;
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { AXDataPagerChangedEvent } from '@acorex/components/data-pager';
|
2
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
3
|
+
import { AfterViewInit, EventEmitter, OnInit, QueryList, TemplateRef, WritableSignal } from '@angular/core';
|
4
|
+
import { AXBaseDataTable, AXColumnsOrderChangedEvent, AXDataTableRowClick, AXDataTableRowDbClick } from '../base-data-table.class';
|
5
|
+
import { AXDataTableColumnComponent } from '../columns/data-table-column';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, AfterViewInit {
|
8
|
+
onColumnsOrderChanged: EventEmitter<AXColumnsOrderChangedEvent>;
|
9
|
+
protected displayedRows: WritableSignal<any[]>;
|
10
|
+
protected page: WritableSignal<number>;
|
11
|
+
protected pageSize: WritableSignal<number>;
|
12
|
+
protected columnsList: WritableSignal<any[]>;
|
13
|
+
protected columns: QueryList<AXDataTableColumnComponent>;
|
14
|
+
ngAfterViewInit(): void;
|
15
|
+
protected drop(event: CdkDragDrop<any, any, any>): void;
|
16
|
+
ngOnInit(): void;
|
17
|
+
rowTemplate?: TemplateRef<unknown>;
|
18
|
+
emptyTemplate?: TemplateRef<unknown>;
|
19
|
+
showHeader: boolean;
|
20
|
+
fixedHeader: boolean;
|
21
|
+
itemHeight: number | 'auto';
|
22
|
+
fetchDataMode: 'auto' | 'manual';
|
23
|
+
loading: {
|
24
|
+
enabled: boolean;
|
25
|
+
animation: boolean;
|
26
|
+
loadingTemplate?: TemplateRef<unknown>;
|
27
|
+
};
|
28
|
+
private _focusedRow;
|
29
|
+
get focusedRow(): unknown;
|
30
|
+
set focusedRow(v: unknown);
|
31
|
+
protected isLoading: WritableSignal<boolean>;
|
32
|
+
protected hasItems: boolean;
|
33
|
+
protected totalRows: number;
|
34
|
+
protected currentPage: number;
|
35
|
+
protected totalPages: number;
|
36
|
+
protected startRowIndex: number;
|
37
|
+
private lastIndex;
|
38
|
+
focusedRowChange: EventEmitter<unknown>;
|
39
|
+
onRowClick: EventEmitter<AXDataTableRowClick>;
|
40
|
+
onRowDbClick: EventEmitter<AXDataTableRowDbClick>;
|
41
|
+
private clickSubject;
|
42
|
+
protected handleRowClick(event: MouseEvent, item: unknown): void;
|
43
|
+
private handleRowSingleClick;
|
44
|
+
protected onPageChanged(event: AXDataPagerChangedEvent): void;
|
45
|
+
protected handleRowDoubleClick(e: MouseEvent, item: unknown): void;
|
46
|
+
handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent): void;
|
47
|
+
protected getSort(column: AXDataTableColumnComponent): string | undefined;
|
48
|
+
refresh(): void;
|
49
|
+
private calculateStickyColumnsPositions;
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableComponent, never>;
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fixedHeader": { "alias": "fixedHeader"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; }, { "onColumnsOrderChanged": "onColumnsOrderChanged"; "focusedRowChange": "focusedRowChange"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; }, ["columns"], ["ax-header", "ax-footer"], false, never>;
|
52
|
+
}
|
@@ -1,23 +1,26 @@
|
|
1
1
|
import * as i0 from "@angular/core";
|
2
|
-
import * as i1 from "./data-table.component";
|
3
|
-
import * as i2 from "./
|
4
|
-
import * as i3 from "./columns/
|
5
|
-
import * as i4 from "./columns/row-
|
6
|
-
import * as i5 from "./columns/row-
|
7
|
-
import * as i6 from "./columns/
|
8
|
-
import * as i7 from "
|
9
|
-
import * as i8 from "@
|
10
|
-
import * as i9 from "@
|
11
|
-
import * as i10 from "@
|
12
|
-
import * as i11 from "@acorex/
|
13
|
-
import * as i12 from "@acorex/components/
|
14
|
-
import * as i13 from "@acorex/components/
|
15
|
-
import * as i14 from "@acorex/components/
|
16
|
-
import * as i15 from "@acorex/components/
|
17
|
-
import * as i16 from "@acorex/components/
|
18
|
-
import * as i17 from "@acorex/
|
2
|
+
import * as i1 from "./infinite-scroll-data-table/infinite-scroll-data-table.component";
|
3
|
+
import * as i2 from "./data-table/data-table.component";
|
4
|
+
import * as i3 from "./columns/data-text-column.component";
|
5
|
+
import * as i4 from "./columns/row-index-column.component";
|
6
|
+
import * as i5 from "./columns/row-select-column.component";
|
7
|
+
import * as i6 from "./columns/row-command-column.component";
|
8
|
+
import * as i7 from "./columns/data-table-column-resizable.directive";
|
9
|
+
import * as i8 from "@angular/common";
|
10
|
+
import * as i9 from "@acorex/components/common";
|
11
|
+
import * as i10 from "@angular/cdk/scrolling";
|
12
|
+
import * as i11 from "@acorex/core/translation";
|
13
|
+
import * as i12 from "@acorex/components/result";
|
14
|
+
import * as i13 from "@acorex/components/loading";
|
15
|
+
import * as i14 from "@acorex/components/decorators";
|
16
|
+
import * as i15 from "@acorex/components/skeleton";
|
17
|
+
import * as i16 from "@acorex/components/button";
|
18
|
+
import * as i17 from "@acorex/components/dropdown";
|
19
|
+
import * as i18 from "@acorex/core/format";
|
20
|
+
import * as i19 from "@acorex/components/data-pager";
|
21
|
+
import * as i20 from "@angular/cdk/drag-drop";
|
19
22
|
export declare class AXDataTableModule {
|
20
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableModule, never>;
|
21
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXDataTableModule, [typeof i1.
|
24
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXDataTableModule, [typeof i1.AXInfiniteScrollDataTableComponent, typeof i2.AXDataTableComponent, typeof i3.AXDataTableTextColumnComponent, typeof i4.AXRowIndexColumnComponent, typeof i5.AXRowSelectColumnComponent, typeof i6.AXRowCommandColumnComponent, typeof i6.AXRowDropdownCommandColumnComponent, typeof i7.AXDataTableColumnResizableDirective], [typeof i8.CommonModule, typeof i9.AXCommonModule, typeof i10.ScrollingModule, typeof i11.AXTranslationModule, typeof i12.AXResultModule, typeof i13.AXLoadingModule, typeof i14.AXDecoratorModule, typeof i15.AXSkeletonModule, typeof i16.AXButtonModule, typeof i17.AXDropdownModule, typeof i18.AXFormatModule, typeof i9.AXRippleDirective, typeof i19.AXDataPagerModule, typeof i20.CdkDropList, typeof i20.CdkDrag, typeof i20.CdkDragPlaceholder, typeof i20.CdkDragHandle], [typeof i1.AXInfiniteScrollDataTableComponent, typeof i2.AXDataTableComponent, typeof i3.AXDataTableTextColumnComponent, typeof i4.AXRowIndexColumnComponent, typeof i5.AXRowSelectColumnComponent, typeof i6.AXRowCommandColumnComponent, typeof i6.AXRowDropdownCommandColumnComponent, typeof i7.AXDataTableColumnResizableDirective]>;
|
22
25
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXDataTableModule>;
|
23
26
|
}
|
@@ -1,16 +1,9 @@
|
|
1
|
-
import {
|
2
|
-
import { DoCheck, ElementRef, EventEmitter, OnInit, QueryList, TemplateRef } from '@angular/core';
|
3
|
-
import {
|
1
|
+
import { AXListDataSource, AXValueChangedEvent } from '@acorex/components/common';
|
2
|
+
import { DoCheck, ElementRef, EventEmitter, OnInit, QueryList, TemplateRef, WritableSignal } from '@angular/core';
|
3
|
+
import { AXBaseDataTable, AXDataTableRowClick, AXDataTableRowDbClick, AXDataTableScrollIndexChanged } from '../base-data-table.class';
|
4
|
+
import { AXDataTableColumnComponent } from '../columns/data-table-column';
|
4
5
|
import * as i0 from "@angular/core";
|
5
|
-
export
|
6
|
-
index: number;
|
7
|
-
}
|
8
|
-
export interface AXDataTableRowClick extends AXEvent {
|
9
|
-
data?: any;
|
10
|
-
}
|
11
|
-
export interface AXDataTableRowDbClick extends AXDataTableRowClick {
|
12
|
-
}
|
13
|
-
export declare class AXDataTableComponent extends MXBaseComponent implements OnInit, DoCheck {
|
6
|
+
export declare class AXInfiniteScrollDataTableComponent extends AXBaseDataTable implements OnInit, DoCheck {
|
14
7
|
private ngZone;
|
15
8
|
protected columns: QueryList<AXDataTableColumnComponent>;
|
16
9
|
protected startFixedColumn(): AXDataTableColumnComponent[];
|
@@ -26,14 +19,13 @@ export declare class AXDataTableComponent extends MXBaseComponent implements OnI
|
|
26
19
|
emptyTemplate?: TemplateRef<unknown>;
|
27
20
|
showHeader: boolean;
|
28
21
|
fetchDataMode: 'auto' | 'manual';
|
29
|
-
dataSource: AXDataSource<unknown>;
|
30
22
|
loading: {
|
31
23
|
enabled: boolean;
|
32
24
|
animation: boolean;
|
33
25
|
loadingTemplate?: TemplateRef<unknown>;
|
34
26
|
};
|
35
27
|
protected listDataSource: AXListDataSource<unknown>;
|
36
|
-
protected isLoading: boolean
|
28
|
+
protected isLoading: WritableSignal<boolean>;
|
37
29
|
protected hasItems: boolean;
|
38
30
|
protected totalRows: number;
|
39
31
|
protected currentPage: number;
|
@@ -44,12 +36,6 @@ export declare class AXDataTableComponent extends MXBaseComponent implements OnI
|
|
44
36
|
private _focusedRow;
|
45
37
|
get focusedRow(): unknown;
|
46
38
|
set focusedRow(v: unknown);
|
47
|
-
selectedRowsChange: EventEmitter<unknown[]>;
|
48
|
-
private _selectedRows;
|
49
|
-
get selectedRows(): unknown[];
|
50
|
-
set selectedRows(v: unknown[]);
|
51
|
-
selectRows(...rows: unknown[]): void;
|
52
|
-
unSelectRows(...rows: unknown[]): void;
|
53
39
|
itemHeight: number | 'auto';
|
54
40
|
protected width: string;
|
55
41
|
protected height: string;
|
@@ -75,6 +61,6 @@ export declare class AXDataTableComponent extends MXBaseComponent implements OnI
|
|
75
61
|
handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent): void;
|
76
62
|
protected getSort(column: AXDataTableColumnComponent): string | undefined;
|
77
63
|
protected _handleOnScroll(): void;
|
78
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
79
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXInfiniteScrollDataTableComponent, never>;
|
65
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXInfiniteScrollDataTableComponent, "ax-infinite-scroll-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; }, { "onPageChanged": "onPageChanged"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; "focusedRowChange": "focusedRowChange"; "onScrolledIndexChanged": "onScrolledIndexChanged"; }, ["columns"], ["ax-header", "ax-footer"], false, never>;
|
80
66
|
}
|
@@ -62,7 +62,7 @@ export class AXButtonComponent extends MXButtonBaseComponent {
|
|
62
62
|
{ provide: AXComponent, useExisting: AXButtonComponent },
|
63
63
|
{ provide: AXButtonItemComponent, useExisting: AXButtonComponent },
|
64
64
|
{ provide: AXFocusableComponent, useExisting: AXButtonComponent },
|
65
|
-
], usesInheritance: true, ngImport: i0, template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"], dependencies: [{ kind: "directive", type: i1.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
65
|
+
], usesInheritance: true, ngImport: i0, template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"], dependencies: [{ kind: "directive", type: i1.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
66
66
|
}
|
67
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXButtonComponent, decorators: [{
|
68
68
|
type: Component,
|
@@ -88,7 +88,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
88
88
|
{ provide: AXComponent, useExisting: AXButtonComponent },
|
89
89
|
{ provide: AXButtonItemComponent, useExisting: AXButtonComponent },
|
90
90
|
{ provide: AXFocusableComponent, useExisting: AXButtonComponent },
|
91
|
-
], template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"] }]
|
91
|
+
], template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"] }]
|
92
92
|
}], propDecorators: { type: [{
|
93
93
|
type: Input
|
94
94
|
}], __hostClass: [{
|
@@ -23,6 +23,7 @@ export class AXDataSource {
|
|
23
23
|
return this._isLoading;
|
24
24
|
}
|
25
25
|
constructor(config) {
|
26
|
+
this.useCache = true;
|
26
27
|
this._totalCount = 0;
|
27
28
|
this._items = [];
|
28
29
|
this.fetchedPages = new Set();
|
@@ -38,11 +39,12 @@ export class AXDataSource {
|
|
38
39
|
}
|
39
40
|
load() {
|
40
41
|
const page = this._page;
|
41
|
-
if (this.fetchedPages.has(page)) {
|
42
|
+
if (this.fetchedPages.has(page) && this.useCache) {
|
42
43
|
return;
|
43
44
|
}
|
44
45
|
this.setLoadingState(true);
|
45
46
|
this.fetchedPages.add(page);
|
47
|
+
this._query.take = this.config.pageSize;
|
46
48
|
this._query.skip = page * this.config.pageSize;
|
47
49
|
this.config
|
48
50
|
.load({ ...this._query })
|
@@ -76,6 +78,10 @@ export class AXDataSource {
|
|
76
78
|
this.load();
|
77
79
|
}
|
78
80
|
}
|
81
|
+
setPageSize(pageSize) {
|
82
|
+
this.config.pageSize = pageSize;
|
83
|
+
this.load();
|
84
|
+
}
|
79
85
|
filter(value) {
|
80
86
|
this._query.filter = value;
|
81
87
|
}
|
@@ -124,4 +130,4 @@ export function convertArrayToDataSource(items, options = { key: 'id', pageSize:
|
|
124
130
|
};
|
125
131
|
return new AXDataSource(config);
|
126
132
|
}
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tb24vc3JjL2xpYi9jbGFzc2VzL2RhdGFzb3VyY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBK0MvQixNQUFNLE9BQU8sWUFBWTtJQUl2QixJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUdELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBTUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFNRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLE1BQTZCO1FBdkNqQyxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQWtCaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUtqQixpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFDakMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFdBQU0sR0FBc0IsRUFBRSxJQUFJ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LENBQUMsTUFBTTthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDbEYsQ0FBQztJQUNGLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEFYRGF0YVNvdXJjZU9wZXJhdG9yID0ge1xuICB0eXBlOiAnZXF1YWwnIHwgJ2lzTnVsbCcgfCAnaXNFbXB0eScgfCAnbHQnIHwgJ2x0ZScgfCAnZ3QnIHwgJ2d0ZScgfCAnc3RhcnRzV2l0aCcgfCAnZW5kc1dpdGgnIHwgJ2NvbnRhaW5zJztcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIEFYRmlsdGVyTG9naWMgPSAnYW5kJyB8ICdvcic7XG5leHBvcnQgdHlwZSBBWFNvcnRPcmRlciA9ICdhc2MnIHwgJ2Rlc2MnO1xuXG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIHZhbHVlPzogdW5rbm93bjtcbiAgb3BlcmF0b3I6IEFYRGF0YVNvdXJjZU9wZXJhdG9yO1xuICBsb2dpYz86IEFYRmlsdGVyTG9naWM7XG4gIGZpbHRlcnM/OiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb25bXTtcbn07XG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VTb3J0T3B0aW9uID0geyBmaWVsZDogc3RyaW5nOyBkaXI6ICdhc2MnIHwgJ2Rlc2MnIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlUXVlcnkge1xuICB0YWtlOiBudW1iZXI7XG4gIHNraXA6IG51bWJlcjtcbiAgZmlsdGVyPzogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uO1xuICBzb3J0OiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW107XG59XG5leHBvcnQgaW50ZXJmYWNlIEFYRGF0YVNvdXJjZUNhbGxiYWNrUmVzdWx0PFQ+IHtcbiAgaXRlbXM6IEFycmF5PFQ+O1xuICB0b3RhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VMb2FkQ2FsbGJhY2s8VD4gPSAoZTogQVhEYXRhU291cmNlUXVlcnkpID0+IFByb21pc2U8QVhEYXRhU291cmNlQ2FsbGJhY2tSZXN1bHQ8VD4+O1xuZXhwb3J0IHR5cGUgQVhEYXRhU291cmNlQnlLZXlDYWxsYmFjazxUPiA9IChrZXk6IHVua25vd24pID0+IFByb21pc2U8VD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlQ29uZmlnPFQgPSB1bmtub3duPiB7XG4gIGtleT86IHN0cmluZztcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgbG9hZDogQVhEYXRhU291cmNlTG9hZENhbGxiYWNrPFQ+O1xuICBieUtleT86IEFYRGF0YVNvdXJjZUJ5S2V5Q2FsbGJhY2s8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlQ2hhbmdlZEV2ZW50PFQgPSB1bmtub3duPiB7XG4gIGNhY2hlZEl0ZW1zOiBBcnJheTxUPjtcbiAgaXRlbXM6IEFycmF5PFQ+O1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgcGFnZTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgQVhEYXRhU291cmNlPFQgPSB1bmtub3duPiB7XG4gIGNvbmZpZyE6IEFYRGF0YVNvdXJjZUNvbmZpZzxUPjtcblxuICBwcml2YXRlIF90b3RhbENvdW50ID0gMDtcbiAgcHVibGljIGdldCB0b3RhbENvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsQ291bnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvdGFsUGFnZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLnRvdGFsQ291bnQgLyB0aGlzLmNvbmZpZy5wYWdlU2l6ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnBhZ2VTaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FjaGVkSXRlbXM6IFRbXTtcbiAgcHVibGljIGdldCBjYWNoZWRJdGVtcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZWRJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgX2l0ZW1zOiBUW10gPSBbXTtcbiAgcHVibGljIGdldCBpdGVtcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hlZFBhZ2VzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gIHByaXZhdGUgX3BhZ2UgPSAwO1xuICBwcml2YXRlIF9xdWVyeTogQVhEYXRhU291cmNlUXVlcnkgPSB7IHNraXA6IDAsIHRha2U6IDAsIHNvcnQ6IFtdIH07XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBBWERhdGFTb3VyY2VRdWVyeSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5O1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PEFYRGF0YVNvdXJjZUNoYW5nZWRFdmVudDxUPj4oKTtcblxuICBwdWJsaWMgb25Mb2FkaW5nQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX2lzTG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBBWERhdGFTb3VyY2VDb25maWc8VD4pIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9jYWNoZWRJdGVtcyA9IG5ldyBBcnJheSh0aGlzLmNvbmZpZy5wYWdlU2l6ZSk7XG4gICAgdGhpcy5faXRlbXMgPSBuZXcgQXJyYXkoMCk7XG4gICAgdGhpcy5fcXVlcnkudGFrZSA9IHRoaXMuY29uZmlnLnBhZ2VTaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkKCkge1xuICAgIGNvbnN0IHBhZ2UgPSB0aGlzLl9wYWdlO1xuICAgIGlmICh0aGlzLmZldGNoZWRQYWdlcy5oYXMocGFnZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUodHJ1ZSk7XG4gICAgdGhpcy5mZXRjaGVkUGFnZXMuYWRkKHBhZ2UpO1xuICAgIHRoaXMuX3F1ZXJ5LnNraXAgPSBwYWdlICogdGhpcy5jb25maWcucGFnZVNpemU7XG4gICAgdGhpcy5jb25maWdcbiAgICAgIC5sb2FkKHsgLi4udGhpcy5fcXVlcnkgfSlcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3RvdGFsQ291bnQgIT0gcmVzdWx0LnRvdGFsKSB7XG4gICAgICAgICAgdGhpcy5fY2FjaGVkSXRlbXMgPSBuZXcgQXJyYXkocmVzdWx0LnRvdGFsKTtcbiAgICAgICAgICB0aGlzLl90b3RhbENvdW50ID0gcmVzdWx0LnRvdGFsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2l0ZW1zID0gcmVzdWx0Lml0ZW1zO1xuICAgICAgICB0aGlzLl9jYWNoZWRJdGVtcy5zcGxpY2UocGFnZSAqIHRoaXMuY29uZmlnLnBhZ2VTaXplLCB0aGlzLmNvbmZpZy5wYWdlU2l6ZSwgLi4ucmVzdWx0Lml0ZW1zKTtcbiAgICAgICAgY29uc3QgZXZlbnQgPSB7XG4gICAgICAgICAgY2FjaGVkSXRlbXM6IHRoaXMuY2FjaGVkSXRlbXMsXG4gICAgICAgICAgaXRlbXM6IHRoaXMuaXRlbXMsXG4gICAgICAgICAgcGFnZTogcGFnZSxcbiAgICAgICAgICB0b3RhbENvdW50OiB0aGlzLnRvdGFsQ291bnQsXG4gICAgICAgICAgdG90YWxQYWdlczogdGhpcy50b3RhbFBhZ2VzLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5uZXh0KGV2ZW50KTtcbiAgICAgIH0pXG4gICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGZhbHNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMb2FkaW5nU3RhdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0xvYWRpbmcgPSB2YWx1ZTtcbiAgICB0aGlzLm9uTG9hZGluZ0NoYW5nZWQubmV4dCh0aGlzLl9pc0xvYWRpbmcpO1xuICB9XG5cbiAgcHVibGljIHNldFBhZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX3BhZ2UgIT0gcGFnZSB8fCB0aGlzLl9pdGVtcy5sZW5ndGggPT0gMCkge1xuICAgICAgdGhpcy5fcGFnZSA9IHBhZ2U7XG4gICAgICB0aGlzLmxvYWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHZhbHVlOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24pIHtcbiAgICB0aGlzLl9xdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0KC4uLnZhbHVlOiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW10pIHtcbiAgICB0aGlzLl9xdWVyeS5zb3J0ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKSB7XG4gICAgdGhpcy5fcXVlcnkuZmlsdGVyID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgdGhpcy5fcXVlcnkuZmlsdGVyID0gbnVsbDtcbiAgICB0aGlzLl9xdWVyeS5zb3J0ID0gW107XG4gICAgdGhpcy5fcXVlcnkuc2tpcCA9IDA7XG4gICAgdGhpcy5fY2FjaGVkSXRlbXMgPSBuZXcgQXJyYXkodGhpcy5jb25maWcucGFnZVNpemUpO1xuICAgIHRoaXMuZmV0Y2hlZFBhZ2VzLmNsZWFyKCk7XG4gICAgdGhpcy5fcGFnZSA9IDA7XG4gICAgdGhpcy5fdG90YWxDb3VudCA9IDA7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICBjb25zdCBjdXJyZW50RmlsdGVyID0gdGhpcy5fcXVlcnkuZmlsdGVyO1xuICAgIGNvbnN0IGN1cnJlbnRTb3J0ID0gdGhpcy5fcXVlcnkuc29ydDtcbiAgICB0aGlzLnJlc2V0KCk7XG4gICAgdGhpcy5fcXVlcnkuZmlsdGVyID0gY3VycmVudEZpbHRlcjtcbiAgICB0aGlzLl9xdWVyeS5zb3J0ID0gY3VycmVudFNvcnQ7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBmaW5kKGtleTogdW5rbm93bik6IFQgfCBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBmcm9tQ2FjaGUgPSB0aGlzLmNhY2hlZEl0ZW1zLmZpbmQoKGMpID0+ICghdGhpcy5jb25maWcua2V5ICYmIGMgPT0ga2V5KSB8fCAoYyAmJiB0aGlzLmNvbmZpZy5rZXkgJiYgY1t0aGlzLmNvbmZpZy5rZXldID09IGtleSkpO1xuICAgIGlmIChmcm9tQ2FjaGUpIHJldHVybiBmcm9tQ2FjaGU7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmJ5S2V5ID8gdGhpcy5jb25maWcuYnlLZXkoa2V5KSA6IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBcnJheVRvRGF0YVNvdXJjZTxUPihcbiAgaXRlbXM6IFRbXSxcbiAgb3B0aW9uczogeyBrZXk6IHN0cmluZzsgcGFnZVNpemU6IG51bWJlciB9ID0geyBrZXk6ICdpZCcsIHBhZ2VTaXplOiAxMDAgfSxcbik6IEFYRGF0YVNvdXJjZSB7XG4gIGNvbnN0IGNvbmZpZzogQVhEYXRhU291cmNlQ29uZmlnID0ge1xuICAgIGtleTogb3B0aW9ucy5rZXksXG4gICAgcGFnZVNpemU6IG9wdGlvbnMucGFnZVNpemUsXG4gICAgbG9hZDogKGU6IEFYRGF0YVNvdXJjZVF1ZXJ5KSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBlLmZpbHRlciA/IGZpbHRlcihpdGVtcywgZS5maWx0ZXIpIDogaXRlbXM7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgaXRlbXM6IHJlc3VsdC5zbGljZShlLnNraXAsIGUuc2tpcCArIGUudGFrZSksXG4gICAgICAgIHRvdGFsOiByZXN1bHQubGVuZ3RoLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBieUtleTogKHY6IHVua25vd24pID0+IFByb21pc2UucmVzb2x2ZTxUPihpdGVtcy5maW5kKChjKSA9PiBjW29wdGlvbnMua2V5XSA9PSB2KSksXG4gIH07XG4gIHJldHVybiBuZXcgQVhEYXRhU291cmNlKGNvbmZpZyk7XG59XG4iXX0=
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb21tb24vc3JjL2xpYi9jbGFzc2VzL2RhdGFzb3VyY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBK0MvQixNQUFNLE9BQU8sWUFBWTtJQUt2QixJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUdELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBTUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFNRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLE1BQTZCO1FBekN6QyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRVIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFrQmhCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFLakIsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxDQUFDLENBQUM7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Q0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzFELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzVDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTTthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDbEYsQ0FBQztJQUNGLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEFYRGF0YVNvdXJjZU9wZXJhdG9yID0ge1xuICB0eXBlOiAnZXF1YWwnIHwgJ2lzTnVsbCcgfCAnaXNFbXB0eScgfCAnbHQnIHwgJ2x0ZScgfCAnZ3QnIHwgJ2d0ZScgfCAnc3RhcnRzV2l0aCcgfCAnZW5kc1dpdGgnIHwgJ2NvbnRhaW5zJztcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIEFYRmlsdGVyTG9naWMgPSAnYW5kJyB8ICdvcic7XG5leHBvcnQgdHlwZSBBWFNvcnRPcmRlciA9ICdhc2MnIHwgJ2Rlc2MnO1xuXG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIHZhbHVlPzogdW5rbm93bjtcbiAgb3BlcmF0b3I6IEFYRGF0YVNvdXJjZU9wZXJhdG9yO1xuICBsb2dpYz86IEFYRmlsdGVyTG9naWM7XG4gIGZpbHRlcnM/OiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb25bXTtcbn07XG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VTb3J0T3B0aW9uID0geyBmaWVsZDogc3RyaW5nOyBkaXI6ICdhc2MnIHwgJ2Rlc2MnIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlUXVlcnkge1xuICB0YWtlOiBudW1iZXI7XG4gIHNraXA6IG51bWJlcjtcbiAgZmlsdGVyPzogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uO1xuICBzb3J0OiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW107XG59XG5leHBvcnQgaW50ZXJmYWNlIEFYRGF0YVNvdXJjZUNhbGxiYWNrUmVzdWx0PFQ+IHtcbiAgaXRlbXM6IEFycmF5PFQ+O1xuICB0b3RhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBWERhdGFTb3VyY2VMb2FkQ2FsbGJhY2s8VD4gPSAoZTogQVhEYXRhU291cmNlUXVlcnkpID0+IFByb21pc2U8QVhEYXRhU291cmNlQ2FsbGJhY2tSZXN1bHQ8VD4+O1xuZXhwb3J0IHR5cGUgQVhEYXRhU291cmNlQnlLZXlDYWxsYmFjazxUPiA9IChrZXk6IHVua25vd24pID0+IFByb21pc2U8VD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlQ29uZmlnPFQgPSB1bmtub3duPiB7XG4gIGtleT86IHN0cmluZztcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgbG9hZDogQVhEYXRhU291cmNlTG9hZENhbGxiYWNrPFQ+O1xuICBieUtleT86IEFYRGF0YVNvdXJjZUJ5S2V5Q2FsbGJhY2s8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRhU291cmNlQ2hhbmdlZEV2ZW50PFQgPSB1bmtub3duPiB7XG4gIGNhY2hlZEl0ZW1zOiBBcnJheTxUPjtcbiAgaXRlbXM6IEFycmF5PFQ+O1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgcGFnZTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgQVhEYXRhU291cmNlPFQgPSB1bmtub3duPiB7XG4gIGNvbmZpZyE6IEFYRGF0YVNvdXJjZUNvbmZpZzxUPjtcbiAgdXNlQ2FjaGUgPSB0cnVlO1xuXG4gIHByaXZhdGUgX3RvdGFsQ291bnQgPSAwO1xuICBwdWJsaWMgZ2V0IHRvdGFsQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWxDb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudG90YWxDb3VudCAvIHRoaXMuY29uZmlnLnBhZ2VTaXplKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFnZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucGFnZVNpemU7XG4gIH1cblxuICBwcml2YXRlIF9jYWNoZWRJdGVtczogVFtdO1xuICBwdWJsaWMgZ2V0IGNhY2hlZEl0ZW1zKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlZEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXRlbXM6IFRbXSA9IFtdO1xuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaGVkUGFnZXMgPSBuZXcgU2V0PG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBfcGFnZSA9IDA7XG4gIHByaXZhdGUgX3F1ZXJ5OiBBWERhdGFTb3VyY2VRdWVyeSA9IHsgc2tpcDogMCwgdGFrZTogMCwgc29ydDogW10gfTtcblxuICBwdWJsaWMgZ2V0IHF1ZXJ5KCk6IEFYRGF0YVNvdXJjZVF1ZXJ5IHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnk7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VkID0gbmV3IFN1YmplY3Q8QVhEYXRhU291cmNlQ2hhbmdlZEV2ZW50PFQ+PigpO1xuXG4gIHB1YmxpYyBvbkxvYWRpbmdDaGFuZ2VkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBfaXNMb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0xvYWRpbmc7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEFYRGF0YVNvdXJjZUNvbmZpZzxUPikge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuX2NhY2hlZEl0ZW1zID0gbmV3IEFycmF5KHRoaXMuY29uZmlnLnBhZ2VTaXplKTtcbiAgICB0aGlzLl9pdGVtcyA9IG5ldyBBcnJheSgwKTtcbiAgICB0aGlzLl9xdWVyeS50YWtlID0gdGhpcy5jb25maWcucGFnZVNpemU7XG4gIH1cblxuICBwcml2YXRlIGxvYWQoKSB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuX3BhZ2U7XG4gICAgaWYgKHRoaXMuZmV0Y2hlZFBhZ2VzLmhhcyhwYWdlKSAmJiB0aGlzLnVzZUNhY2hlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKHRydWUpO1xuICAgIHRoaXMuZmV0Y2hlZFBhZ2VzLmFkZChwYWdlKTtcbiAgICB0aGlzLl9xdWVyeS50YWtlID0gdGhpcy5jb25maWcucGFnZVNpemU7XG4gICAgdGhpcy5fcXVlcnkuc2tpcCA9IHBhZ2UgKiB0aGlzLmNvbmZpZy5wYWdlU2l6ZTtcbiAgICB0aGlzLmNvbmZpZ1xuICAgICAgLmxvYWQoeyAuLi50aGlzLl9xdWVyeSB9KVxuICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fdG90YWxDb3VudCAhPSByZXN1bHQudG90YWwpIHtcbiAgICAgICAgICB0aGlzLl9jYWNoZWRJdGVtcyA9IG5ldyBBcnJheShyZXN1bHQudG90YWwpO1xuICAgICAgICAgIHRoaXMuX3RvdGFsQ291bnQgPSByZXN1bHQudG90YWw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXRlbXMgPSByZXN1bHQuaXRlbXM7XG4gICAgICAgIHRoaXMuX2NhY2hlZEl0ZW1zLnNwbGljZShwYWdlICogdGhpcy5jb25maWcucGFnZVNpemUsIHRoaXMuY29uZmlnLnBhZ2VTaXplLCAuLi5yZXN1bHQuaXRlbXMpO1xuICAgICAgICBjb25zdCBldmVudCA9IHtcbiAgICAgICAgICBjYWNoZWRJdGVtczogdGhpcy5jYWNoZWRJdGVtcyxcbiAgICAgICAgICBpdGVtczogdGhpcy5pdGVtcyxcbiAgICAgICAgICBwYWdlOiBwYWdlLFxuICAgICAgICAgIHRvdGFsQ291bnQ6IHRoaXMudG90YWxDb3VudCxcbiAgICAgICAgICB0b3RhbFBhZ2VzOiB0aGlzLnRvdGFsUGFnZXMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub25DaGFuZ2VkLm5leHQoZXZlbnQpO1xuICAgICAgfSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoZmFsc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExvYWRpbmdTdGF0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzTG9hZGluZyA9IHZhbHVlO1xuICAgIHRoaXMub25Mb2FkaW5nQ2hhbmdlZC5uZXh0KHRoaXMuX2lzTG9hZGluZyk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZShwYWdlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fcGFnZSAhPSBwYWdlIHx8IHRoaXMuX2l0ZW1zLmxlbmd0aCA9PSAwKSB7XG4gICAgICB0aGlzLl9wYWdlID0gcGFnZTtcbiAgICAgIHRoaXMubG9hZCgpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgc2V0UGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xuICAgIHRoaXMuY29uZmlnLnBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHZhbHVlOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24pIHtcbiAgICB0aGlzLl9xdWVyeS5maWx0ZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0KC4uLnZhbHVlOiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW10pIHtcbiAgICB0aGlzLl9xdWVyeS5zb3J0ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKSB7XG4gICAgdGhpcy5fcXVlcnkuZmlsdGVyID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgdGhpcy5fcXVlcnkuZmlsdGVyID0gbnVsbDtcbiAgICB0aGlzLl9xdWVyeS5zb3J0ID0gW107XG4gICAgdGhpcy5fcXVlcnkuc2tpcCA9IDA7XG4gICAgdGhpcy5fY2FjaGVkSXRlbXMgPSBuZXcgQXJyYXkodGhpcy5jb25maWcucGFnZVNpemUpO1xuICAgIHRoaXMuZmV0Y2hlZFBhZ2VzLmNsZWFyKCk7XG4gICAgdGhpcy5fcGFnZSA9IDA7XG4gICAgdGhpcy5fdG90YWxDb3VudCA9IDA7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpIHtcbiAgICBjb25zdCBjdXJyZW50RmlsdGVyID0gdGhpcy5fcXVlcnkuZmlsdGVyO1xuICAgIGNvbnN0IGN1cnJlbnRTb3J0ID0gdGhpcy5fcXVlcnkuc29ydDtcbiAgICB0aGlzLnJlc2V0KCk7XG4gICAgdGhpcy5fcXVlcnkuZmlsdGVyID0gY3VycmVudEZpbHRlcjtcbiAgICB0aGlzLl9xdWVyeS5zb3J0ID0gY3VycmVudFNvcnQ7XG4gICAgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBmaW5kKGtleTogdW5rbm93bik6IFQgfCBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBmcm9tQ2FjaGUgPSB0aGlzLmNhY2hlZEl0ZW1zLmZpbmQoKGMpID0+ICghdGhpcy5jb25maWcua2V5ICYmIGMgPT0ga2V5KSB8fCAoYyAmJiB0aGlzLmNvbmZpZy5rZXkgJiYgY1t0aGlzLmNvbmZpZy5rZXldID09IGtleSkpO1xuICAgIGlmIChmcm9tQ2FjaGUpIHJldHVybiBmcm9tQ2FjaGU7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmJ5S2V5ID8gdGhpcy5jb25maWcuYnlLZXkoa2V5KSA6IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRBcnJheVRvRGF0YVNvdXJjZTxUPihcbiAgaXRlbXM6IFRbXSxcbiAgb3B0aW9uczogeyBrZXk6IHN0cmluZzsgcGFnZVNpemU6IG51bWJlciB9ID0geyBrZXk6ICdpZCcsIHBhZ2VTaXplOiAxMDAgfSxcbik6IEFYRGF0YVNvdXJjZSB7XG4gIGNvbnN0IGNvbmZpZzogQVhEYXRhU291cmNlQ29uZmlnID0ge1xuICAgIGtleTogb3B0aW9ucy5rZXksXG4gICAgcGFnZVNpemU6IG9wdGlvbnMucGFnZVNpemUsXG4gICAgbG9hZDogKGU6IEFYRGF0YVNvdXJjZVF1ZXJ5KSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBlLmZpbHRlciA/IGZpbHRlcihpdGVtcywgZS5maWx0ZXIpIDogaXRlbXM7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgaXRlbXM6IHJlc3VsdC5zbGljZShlLnNraXAsIGUuc2tpcCArIGUudGFrZSksXG4gICAgICAgIHRvdGFsOiByZXN1bHQubGVuZ3RoLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBieUtleTogKHY6IHVua25vd24pID0+IFByb21pc2UucmVzb2x2ZTxUPihpdGVtcy5maW5kKChjKSA9PiBjW29wdGlvbnMua2V5XSA9PSB2KSksXG4gIH07XG4gIHJldHVybiBuZXcgQVhEYXRhU291cmNlKGNvbmZpZyk7XG59XG4iXX0=
|
@@ -177,7 +177,7 @@ export class MXSelectionValueComponent extends MXValueComponent {
|
|
177
177
|
}
|
178
178
|
getDisplayText(item) {
|
179
179
|
const normalizeItem = this.normalizeItem(item);
|
180
|
-
return normalizeItem[this.textField] ||
|
180
|
+
return normalizeItem[this.textField] || normalizeItem[this.valueField];
|
181
181
|
}
|
182
182
|
getValue(item) {
|
183
183
|
const normalizeItem = this.normalizeItem(item);
|
@@ -193,4 +193,4 @@ export class MXSelectionValueComponent extends MXValueComponent {
|
|
193
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: MXSelectionValueComponent, decorators: [{
|
194
194
|
type: Injectable
|
195
195
|
}] });
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJhc2UuY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0aW9uLWJhc2UuY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHM0QsTUFBTSxPQUFPLHdCQUF3QjtJQURyQztRQUVTLGtCQUFhLEdBQWMsRUFBRSxDQUFDO1FBQzlCLGNBQVMsR0FBd0MsRUFBRSxDQUFDO0tBQzVEOzhHQUhZLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOztBQU1YLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUEyQix5QkFBeUIsQ0FBQyxDQUFDO0FBRy9HLE1BQU0sT0FBZ0IseUJBQXVDLFNBQVEsZ0JBQXlCO0lBRDlGOztRQUVVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFJOUMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFXbkIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQVdwQixtQkFBYyxHQUFHLFVBQVUsQ0FBQztRQVc1QixjQUFTLEdBQUcsS0FBSyxDQUFDO0tBc0ozQjtJQXRMQyxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFTO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsWUFBWTtZQUNsQixL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QVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzhHQTNMbUIseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRDlDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTVhWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LmNsYXNzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1YU2VsZWN0aW9uQnJpZGdlU2VydmljZSB7XG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiB1bmtub3duW10gPSBbXTtcbiAgcHVibGljIGNhY2hlTGlzdDogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiB1bmtub3duIH0gPSB7fTtcbn1cblxuZXhwb3J0IGNvbnN0IEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPE1YU2VsZWN0aW9uQnJpZGdlU2VydmljZT4oJ0FYX1NFTEVDVElPTl9EQVRBX1RPS0VOJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNWFNlbGVjdGlvblZhbHVlQ29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIE1YVmFsdWVDb21wb25lbnQ8dW5rbm93bj4ge1xuICBwcml2YXRlIGRhdGFTZXJ2aWNlID0gaW5qZWN0KEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOKTtcblxuICBkaXNhYmxlZENhbGxiYWNrOiAoZTogeyBpdGVtOiBUOyBpbmRleDogbnVtYmVyIH0pID0+IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfdmFsdWVGaWVsZCA9ICdpZCc7XG4gIHB1YmxpYyBnZXQgdmFsdWVGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZUZpZWxkO1xuICB9XG4gIHB1YmxpYyBzZXQgdmFsdWVGaWVsZCh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAndmFsdWVGaWVsZCcsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3RleHRGaWVsZCA9ICd0ZXh0JztcbiAgcHVibGljIGdldCB0ZXh0RmllbGQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGV4dEZpZWxkO1xuICB9XG4gIHB1YmxpYyBzZXQgdGV4dEZpZWxkKHY6IHN0cmluZykge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICd0ZXh0RmllbGQnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZEZpZWxkID0gJ2Rpc2FibGVkJztcbiAgcHVibGljIGdldCBkaXNhYmxlZEZpZWxkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRmllbGQ7XG4gIH1cbiAgcHVibGljIHNldCBkaXNhYmxlZEZpZWxkKHY6IHN0cmluZykge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdkaXNhYmxlZEZpZWxkJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbXVsdGlwbGUgPSBmYWxzZTtcbiAgcHVibGljIGdldCBtdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XG4gIH1cbiAgcHVibGljIHNldCBtdWx0aXBsZSh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ211bHRpcGxlJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyKGZhbHNlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRJdGVtcygpOiB1bmtub3duW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnNlbGVjdGVkSXRlbXMgfHwgW107XG4gIH1cblxuICBvdmVycmlkZSBpbnRlcm5hbFNldFZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkodmFsdWUpO1xuICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IChpc0FycmF5ICYmIHZhbHVlLmxlbmd0aCA9PSAwKSkge1xuICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgPyBbXSA6IG51bGw7XG4gICAgfVxuICAgIGNvbnN0IG5vcm1hbGl6ZWRJdGVtcyA9IGlzQXJyYXkgPyB0aGlzLm5vcm1hbGl6ZUl0ZW1zTGlzdCh2YWx1ZSwgdHJ1ZSkgOiB0aGlzLm5vcm1hbGl6ZUl0ZW1zTGlzdChbdmFsdWVdLCB0cnVlKTtcblxuICAgIGlmIChub3JtYWxpemVkSXRlbXMubGVuZ3RoID09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLm11bHRpcGxlID8gW10gOiBudWxsO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLm11bHRpcGxlID8gbm9ybWFsaXplZEl0ZW1zLm1hcCgoYykgPT4gY1t0aGlzLnZhbHVlRmllbGRdKSA6IG5vcm1hbGl6ZWRJdGVtc1swXVt0aGlzLnZhbHVlRmllbGRdO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBvdmVycmlkZSBlbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGRWYWx1ZT86IHVua25vd24sIG5ld1ZhbHVlPzogdW5rbm93bikge1xuICAgIHRoaXMuX25vcm1hbGl6ZVNlbGVjdGVkSXRlbXMoKTtcbiAgICBzdXBlci5lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGRWYWx1ZSwgbmV3VmFsdWUpO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0SXRlbUJ5S2V5KGtleTogdW5rbm93bik6IHVua25vd24gfCBQcm9taXNlPHVua25vd24+O1xuXG4gIHByb3RlY3RlZCBub3JtYWxpemVJdGVtc0xpc3QoaXRlbXM6IHVua25vd25bXSwgZmluZEJ5a2V5ID0gZmFsc2UpOiB1bmtub3duW10ge1xuICAgIGlmIChpdGVtcyA9PSBudWxsKSByZXR1cm4gW107XG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoYykgPT4gYyAhPSBudWxsKS5tYXAoKGkpID0+IHRoaXMubm9ybWFsaXplSXRlbShpLCBmaW5kQnlrZXkpKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplSXRlbShpdGVtOiB1bmtub3duLCBmaW5kQnlrZXkgPSBmYWxzZSk6IHVua25vd24ge1xuICAgIGNvbnN0IGNvbXBsZXggPSB0eXBlb2YgaXRlbSA9PSAnb2JqZWN0JztcbiAgICBjb25zdCBrZXkgPSBjb21wbGV4ID8gaXRlbVt0aGlzLnZhbHVlRmllbGRdIDogYCR7aXRlbX1gO1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gYGstJHtrZXl9YDtcbiAgICBjb25zdCBoYXNUZXh0ID0gIWNvbXBsZXggfHwgaXRlbVt0aGlzLnRleHRGaWVsZF0gIT0gbnVsbDtcbiAgICAvL1xuICAgIGlmICh0aGlzLmRhdGFTZXJ2aWNlLmNhY2hlTGlzdFtjYWNoZUtleV0gJiYgdGhpcy5kYXRhU2VydmljZS5jYWNoZUxpc3RbY2FjaGVLZXldW3RoaXMudGV4dEZpZWxkXSlcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmNhY2hlTGlzdFtjYWNoZUtleV07XG4gICAgLy9cbiAgICBjb25zdCBvYmo6IHVua25vd24gPSB7fTtcbiAgICBpZiAoY29tcGxleCAmJiBoYXNUZXh0KSB7XG4gICAgICBPYmplY3QuYXNzaWduKG9iaiwgaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGV4aXN0c0l0ZW0gPSBmaW5kQnlrZXkgPyB0aGlzLmdldEl0ZW1CeUtleShrZXkpIDogbnVsbDtcbiAgICAgIGlmIChleGlzdHNJdGVtICYmIGV4aXN0c0l0ZW0gaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgIG9ialt0aGlzLnZhbHVlRmllbGRdID0ga2V5O1xuICAgICAgICBvYmpbJ2lzTG9hZGluZyddID0gdHJ1ZTtcbiAgICAgICAgLy9cbiAgICAgICAgZXhpc3RzSXRlbVxuICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHIgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgIG9ialt0aGlzLnZhbHVlRmllbGRdID0gclt0aGlzLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICBvYmpbdGhpcy50ZXh0RmllbGRdID0gclt0aGlzLnRleHRGaWVsZF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvYmpbdGhpcy52YWx1ZUZpZWxkXSA9IHIgfHwga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgb2JqWydpc0xvYWRpbmcnXSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5jYWNoZUxpc3RbY2FjaGVLZXldID0gb2JqO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGV4aXN0c0l0ZW0pIHtcbiAgICAgICAgb2JqW3RoaXMudmFsdWVGaWVsZF0gPSBjb21wbGV4ID8gZXhpc3RzSXRlbVt0aGlzLnZhbHVlRmllbGRdIDogZXhpc3RzSXRlbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9ialt0aGlzLnZhbHVlRmllbGRdID0gY29tcGxleCA/IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSA6IGl0ZW07XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZGF0YVNlcnZpY2UuY2FjaGVMaXN0W2NhY2hlS2V5XSA9IG9iajtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm9ybWFsaXplU2VsZWN0ZWRJdGVtcygpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSA6IHRoaXMudmFsdWUgIT0gbnVsbCA/IFt0aGlzLnZhbHVlXSA6IFtdO1xuICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2VsZWN0ZWRJdGVtcyA9IHZhbHVlcy5tYXAoKHYpID0+IHRoaXMubm9ybWFsaXplSXRlbSh2KSk7XG4gIH1cblxuICBwdWJsaWMgdW5zZWxlY3RJdGVtcyguLi5pdGVtczogVFtdKSB7XG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoW10sIHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVJdGVtcyA9IEFycmF5LmlzQXJyYXkoaXRlbXMpID8gdGhpcy5ub3JtYWxpemVJdGVtc0xpc3QoaXRlbXMpIDogW3RoaXMubm9ybWFsaXplSXRlbShpdGVtcyldO1xuICAgIGNvbnN0IG5ld1NlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKChpKSA9PiAhbm9ybWFsaXplSXRlbXMuc29tZSgobikgPT4gblt0aGlzLnZhbHVlRmllbGRdID09IGlbdGhpcy52YWx1ZUZpZWxkXSkpO1xuICAgIHRoaXMuY29tbWl0VmFsdWUobmV3U2VsZWN0ZWRJdGVtcywgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbXMoLi4uaXRlbXM6IFRbXSkge1xuICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGxldCBuZXdTZWxlY3RlZEl0ZW1zID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgOiBbdGhpcy52YWx1ZV07XG4gICAgICBjb25zdCBub3JtYWxpemVJdGVtcyA9IEFycmF5LmlzQXJyYXkoaXRlbXMpID8gdGhpcy5ub3JtYWxpemVJdGVtc0xpc3QoaXRlbXMpIDogW3RoaXMubm9ybWFsaXplSXRlbShpdGVtcyldO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgbmV3U2VsZWN0ZWRJdGVtcyA9IFsuLi5uZXdTZWxlY3RlZEl0ZW1zLCAuLi5ub3JtYWxpemVJdGVtc107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTZWxlY3RlZEl0ZW1zID0gbm9ybWFsaXplSXRlbXM7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKG5ld1NlbGVjdGVkSXRlbXMsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWxlY3QoLi4uaXRlbXM6IFRbXSkge1xuICAgIGl0ZW1zPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLmlzSXRlbVNlbGVjdGVkKGl0ZW0pID8gdGhpcy51bnNlbGVjdEl0ZW1zKGl0ZW0pIDogdGhpcy5zZWxlY3RJdGVtcyhpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNJdGVtU2VsZWN0ZWQoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZSgoYykgPT4gY1t0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLm5vcm1hbGl6ZUl0ZW0oaXRlbSlbdGhpcy52YWx1ZUZpZWxkXSk7XG4gIH1cblxuICBwdWJsaWMgaXNJdGVtRGlzYWJsZWQoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICBjb2VyY2VCb29sZWFuUHJvcGVydHkoaXRlbVt0aGlzLmRpc2FibGVkRmllbGRdKSA9PT0gdHJ1ZSB8fFxuICAgICAgKHRoaXMuZGlzYWJsZWRDYWxsYmFjayA/IHRoaXMuZGlzYWJsZWRDYWxsYmFjayh7IGl0ZW0sIGluZGV4OiAtMSB9KSA6IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGlzcGxheVRleHQoaXRlbTogVCkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZUl0ZW0gPSB0aGlzLm5vcm1hbGl6ZUl0ZW0oaXRlbSkgYXMgYW55O1xuICAgIHJldHVybiBub3JtYWxpemVJdGVtW3RoaXMudGV4dEZpZWxkXSB8fCAnTG9hZGluZy4uLic7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VmFsdWUoaXRlbTogVCkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZUl0ZW0gPSB0aGlzLm5vcm1hbGl6ZUl0ZW0oaXRlbSkgYXMgYW55O1xuICAgIHJldHVybiBub3JtYWxpemVJdGVtW3RoaXMudmFsdWVGaWVsZF07XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYXJTZWxlY3Rpb25DYWNoZSgpIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmNhY2hlTGlzdCA9IHt9O1xuICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICB9XG59XG4iXX0=
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJhc2UuY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0aW9uLWJhc2UuY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHM0QsTUFBTSxPQUFPLHdCQUF3QjtJQURyQztRQUVTLGtCQUFhLEdBQWMsRUFBRSxDQUFDO1FBQzlCLGNBQVMsR0FBd0MsRUFBRSxDQUFDO0tBQzVEOzhHQUhZLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOztBQU1YLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUEyQix5QkFBeUIsQ0FBQyxDQUFDO0FBRy9HLE1BQU0sT0FBZ0IseUJBQXVDLFNBQVEsZ0JBQXlCO0lBRDlGOztRQUVVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFJOUMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFXbkIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQVdwQixtQkFBYyxHQUFHLFVBQVUsQ0FBQztRQVc1QixjQUFTLEdBQUcsS0FBSyxDQUFDO0tBc0ozQjtJQXRMQyxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFTO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsWUFBWTtZQUNsQixL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QU8sYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsbUJBQW1CO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0EzTG1CLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUQ5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1YVmFsdWVDb21wb25lbnQgfSBmcm9tICcuL3ZhbHVlLWNvbXBvbmVudC5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNWFNlbGVjdGlvbkJyaWRnZVNlcnZpY2Uge1xuICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogdW5rbm93bltdID0gW107XG4gIHB1YmxpYyBjYWNoZUxpc3Q6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogdW5rbm93biB9ID0ge307XG59XG5cbmV4cG9ydCBjb25zdCBBWF9TRUxFQ1RJT05fREFUQV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNWFNlbGVjdGlvbkJyaWRnZVNlcnZpY2U+KCdBWF9TRUxFQ1RJT05fREFUQV9UT0tFTicpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTVhTZWxlY3Rpb25WYWx1ZUNvbXBvbmVudDxUID0gdW5rbm93bj4gZXh0ZW5kcyBNWFZhbHVlQ29tcG9uZW50PHVua25vd24+IHtcbiAgcHJpdmF0ZSBkYXRhU2VydmljZSA9IGluamVjdChBWF9TRUxFQ1RJT05fREFUQV9UT0tFTik7XG5cbiAgZGlzYWJsZWRDYWxsYmFjazogKGU6IHsgaXRlbTogVDsgaW5kZXg6IG51bWJlciB9KSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgX3ZhbHVlRmllbGQgPSAnaWQnO1xuICBwdWJsaWMgZ2V0IHZhbHVlRmllbGQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVGaWVsZDtcbiAgfVxuICBwdWJsaWMgc2V0IHZhbHVlRmllbGQodjogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ3ZhbHVlRmllbGQnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF90ZXh0RmllbGQgPSAndGV4dCc7XG4gIHB1YmxpYyBnZXQgdGV4dEZpZWxkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRGaWVsZDtcbiAgfVxuICBwdWJsaWMgc2V0IHRleHRGaWVsZCh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAndGV4dEZpZWxkJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWRGaWVsZCA9ICdkaXNhYmxlZCc7XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWRGaWVsZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZEZpZWxkO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzYWJsZWRGaWVsZCh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnZGlzYWJsZWRGaWVsZCcsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX211bHRpcGxlID0gZmFsc2U7XG4gIHB1YmxpYyBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpcGxlO1xuICB9XG4gIHB1YmxpYyBzZXQgbXVsdGlwbGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdtdWx0aXBsZScsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jbGVhcihmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogdW5rbm93bltdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5zZWxlY3RlZEl0ZW1zIHx8IFtdO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW50ZXJuYWxTZXRWYWx1ZSh2YWx1ZTogdW5rbm93bikge1xuICAgIGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCAoaXNBcnJheSAmJiB2YWx1ZS5sZW5ndGggPT0gMCkpIHtcbiAgICAgIHJldHVybiB0aGlzLm11bHRpcGxlID8gW10gOiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVkSXRlbXMgPSBpc0FycmF5ID8gdGhpcy5ub3JtYWxpemVJdGVtc0xpc3QodmFsdWUsIHRydWUpIDogdGhpcy5ub3JtYWxpemVJdGVtc0xpc3QoW3ZhbHVlXSwgdHJ1ZSk7XG5cbiAgICBpZiAobm9ybWFsaXplZEl0ZW1zLmxlbmd0aCA9PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZSA/IFtdIDogbnVsbDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5tdWx0aXBsZSA/IG5vcm1hbGl6ZWRJdGVtcy5tYXAoKGMpID0+IGNbdGhpcy52YWx1ZUZpZWxkXSkgOiBub3JtYWxpemVkSXRlbXNbMF1bdGhpcy52YWx1ZUZpZWxkXTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgb3ZlcnJpZGUgZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWU/OiB1bmtub3duLCBuZXdWYWx1ZT86IHVua25vd24pIHtcbiAgICB0aGlzLl9ub3JtYWxpemVTZWxlY3RlZEl0ZW1zKCk7XG4gICAgc3VwZXIuZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWUsIG5ld1ZhbHVlKTtcbiAgfVxuXG4gIGFic3RyYWN0IGdldEl0ZW1CeUtleShrZXk6IHVua25vd24pOiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPjtcblxuICBwcm90ZWN0ZWQgbm9ybWFsaXplSXRlbXNMaXN0KGl0ZW1zOiB1bmtub3duW10sIGZpbmRCeWtleSA9IGZhbHNlKTogdW5rbm93bltdIHtcbiAgICBpZiAoaXRlbXMgPT0gbnVsbCkgcmV0dXJuIFtdO1xuICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGMpID0+IGMgIT0gbnVsbCkubWFwKChpKSA9PiB0aGlzLm5vcm1hbGl6ZUl0ZW0oaSwgZmluZEJ5a2V5KSk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUl0ZW0oaXRlbTogdW5rbm93biwgZmluZEJ5a2V5ID0gZmFsc2UpOiB1bmtub3duIHtcbiAgICBjb25zdCBjb21wbGV4ID0gdHlwZW9mIGl0ZW0gPT0gJ29iamVjdCc7XG4gICAgY29uc3Qga2V5ID0gY29tcGxleCA/IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSA6IGAke2l0ZW19YDtcbiAgICBjb25zdCBjYWNoZUtleSA9IGBrLSR7a2V5fWA7XG4gICAgY29uc3QgaGFzVGV4dCA9ICFjb21wbGV4IHx8IGl0ZW1bdGhpcy50ZXh0RmllbGRdICE9IG51bGw7XG4gICAgLy9cbiAgICBpZiAodGhpcy5kYXRhU2VydmljZS5jYWNoZUxpc3RbY2FjaGVLZXldICYmIHRoaXMuZGF0YVNlcnZpY2UuY2FjaGVMaXN0W2NhY2hlS2V5XVt0aGlzLnRleHRGaWVsZF0pXG4gICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5jYWNoZUxpc3RbY2FjaGVLZXldO1xuICAgIC8vXG4gICAgY29uc3Qgb2JqOiB1bmtub3duID0ge307XG4gICAgaWYgKGNvbXBsZXggJiYgaGFzVGV4dCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihvYmosIGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleGlzdHNJdGVtID0gZmluZEJ5a2V5ID8gdGhpcy5nZXRJdGVtQnlLZXkoa2V5KSA6IG51bGw7XG4gICAgICBpZiAoZXhpc3RzSXRlbSAmJiBleGlzdHNJdGVtIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICBvYmpbdGhpcy52YWx1ZUZpZWxkXSA9IGtleTtcbiAgICAgICAgb2JqWydpc0xvYWRpbmcnXSA9IHRydWU7XG4gICAgICAgIC8vXG4gICAgICAgIGV4aXN0c0l0ZW1cbiAgICAgICAgICAudGhlbigocikgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICBvYmpbdGhpcy52YWx1ZUZpZWxkXSA9IHJbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgb2JqW3RoaXMudGV4dEZpZWxkXSA9IHJbdGhpcy50ZXh0RmllbGRdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgb2JqW3RoaXMudmFsdWVGaWVsZF0gPSByIHx8IGtleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIG9ialsnaXNMb2FkaW5nJ10gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2FjaGVMaXN0W2NhY2hlS2V5XSA9IG9iajtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChleGlzdHNJdGVtKSB7XG4gICAgICAgIG9ialt0aGlzLnZhbHVlRmllbGRdID0gY29tcGxleCA/IGV4aXN0c0l0ZW1bdGhpcy52YWx1ZUZpZWxkXSA6IGV4aXN0c0l0ZW07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmpbdGhpcy52YWx1ZUZpZWxkXSA9IGNvbXBsZXggPyBpdGVtW3RoaXMudmFsdWVGaWVsZF0gOiBpdGVtO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmNhY2hlTGlzdFtjYWNoZUtleV0gPSBvYmo7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIHByaXZhdGUgX25vcm1hbGl6ZVNlbGVjdGVkSXRlbXMoKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgOiB0aGlzLnZhbHVlICE9IG51bGwgPyBbdGhpcy52YWx1ZV0gOiBbXTtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnNlbGVjdGVkSXRlbXMgPSB2YWx1ZXMubWFwKCh2KSA9PiB0aGlzLm5vcm1hbGl6ZUl0ZW0odikpO1xuICB9XG5cbiAgcHVibGljIHVuc2VsZWN0SXRlbXMoLi4uaXRlbXM6IFRbXSkge1xuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKFtdLCB0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm9ybWFsaXplSXRlbXMgPSBBcnJheS5pc0FycmF5KGl0ZW1zKSA/IHRoaXMubm9ybWFsaXplSXRlbXNMaXN0KGl0ZW1zKSA6IFt0aGlzLm5vcm1hbGl6ZUl0ZW0oaXRlbXMpXTtcbiAgICBjb25zdCBuZXdTZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcigoaSkgPT4gIW5vcm1hbGl6ZUl0ZW1zLnNvbWUoKG4pID0+IG5bdGhpcy52YWx1ZUZpZWxkXSA9PSBpW3RoaXMudmFsdWVGaWVsZF0pKTtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKG5ld1NlbGVjdGVkSXRlbXMsIHRydWUpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEl0ZW1zKC4uLml0ZW1zOiBUW10pIHtcbiAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XG4gICAgICBsZXQgbmV3U2VsZWN0ZWRJdGVtcyA9IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlIDogW3RoaXMudmFsdWVdO1xuICAgICAgY29uc3Qgbm9ybWFsaXplSXRlbXMgPSBBcnJheS5pc0FycmF5KGl0ZW1zKSA/IHRoaXMubm9ybWFsaXplSXRlbXNMaXN0KGl0ZW1zKSA6IFt0aGlzLm5vcm1hbGl6ZUl0ZW0oaXRlbXMpXTtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIG5ld1NlbGVjdGVkSXRlbXMgPSBbLi4ubmV3U2VsZWN0ZWRJdGVtcywgLi4ubm9ybWFsaXplSXRlbXNdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U2VsZWN0ZWRJdGVtcyA9IG5vcm1hbGl6ZUl0ZW1zO1xuICAgICAgfVxuICAgICAgdGhpcy5jb21taXRWYWx1ZShuZXdTZWxlY3RlZEl0ZW1zLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VsZWN0KC4uLml0ZW1zOiBUW10pIHtcbiAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5pc0l0ZW1TZWxlY3RlZChpdGVtKSA/IHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKSA6IHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGlzSXRlbVNlbGVjdGVkKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoKGMpID0+IGNbdGhpcy52YWx1ZUZpZWxkXSA9PT0gdGhpcy5ub3JtYWxpemVJdGVtKGl0ZW0pW3RoaXMudmFsdWVGaWVsZF0pO1xuICB9XG5cbiAgcHVibGljIGlzSXRlbURpc2FibGVkKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5kaXNhYmxlZCB8fFxuICAgICAgY29lcmNlQm9vbGVhblByb3BlcnR5KGl0ZW1bdGhpcy5kaXNhYmxlZEZpZWxkXSkgPT09IHRydWUgfHxcbiAgICAgICh0aGlzLmRpc2FibGVkQ2FsbGJhY2sgPyB0aGlzLmRpc2FibGVkQ2FsbGJhY2soeyBpdGVtLCBpbmRleDogLTEgfSkgOiBmYWxzZSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERpc3BsYXlUZXh0KGl0ZW06IFQpIHtcbiAgICBjb25zdCBub3JtYWxpemVJdGVtID0gdGhpcy5ub3JtYWxpemVJdGVtKGl0ZW0pIGFzIGFueTtcbiAgICByZXR1cm4gbm9ybWFsaXplSXRlbVt0aGlzLnRleHRGaWVsZF0gfHwgbm9ybWFsaXplSXRlbVt0aGlzLnZhbHVlRmllbGRdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFZhbHVlKGl0ZW06IFQpIHtcbiAgICBjb25zdCBub3JtYWxpemVJdGVtID0gdGhpcy5ub3JtYWxpemVJdGVtKGl0ZW0pIGFzIGFueTtcbiAgICByZXR1cm4gbm9ybWFsaXplSXRlbVt0aGlzLnZhbHVlRmllbGRdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFyU2VsZWN0aW9uQ2FjaGUoKSB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5jYWNoZUxpc3QgPSB7fTtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnNlbGVjdGVkSXRlbXMgPSBbXTtcbiAgfVxufVxuIl19
|
@@ -2,7 +2,7 @@ import { AXPagedComponent, MXValueComponent } from '@acorex/components/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, ViewEncapsulation, forwardRef, } from '@angular/core';
|
3
3
|
import { isNumber } from 'lodash-es';
|
4
4
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
5
|
-
import { AXDataPagerParentComponent
|
5
|
+
import { AXDataPagerParentComponent } from './data-pager-base.component';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
import * as i1 from "@acorex/components/decorators";
|
8
8
|
import * as i2 from "./data-pager-next-buttons.components";
|
@@ -79,7 +79,7 @@ export class AXDataPagerComponent extends MXValueComponent {
|
|
79
79
|
this._emitChangedEvent();
|
80
80
|
}
|
81
81
|
internalValueChanged(value) {
|
82
|
-
this._emitChangedEvent();
|
82
|
+
this._emitChangedEvent(true);
|
83
83
|
}
|
84
84
|
internalGetValue(value) {
|
85
85
|
if (!isNumber(value) || !value || this.totalPages == 0)
|
@@ -101,11 +101,12 @@ export class AXDataPagerComponent extends MXValueComponent {
|
|
101
101
|
};
|
102
102
|
return result;
|
103
103
|
}
|
104
|
-
_emitChangedEvent() {
|
104
|
+
_emitChangedEvent(u = false) {
|
105
105
|
this.totalPages = Math.ceil(this._total / this.size);
|
106
106
|
//
|
107
107
|
this.onChanged.emit(Object.assign({
|
108
108
|
component: this,
|
109
|
+
isUserInteraction: u,
|
109
110
|
htmlElement: this.getHostElement(),
|
110
111
|
}, this.displayInfo));
|
111
112
|
if (this.totalPages > 0)
|
@@ -127,7 +128,7 @@ export class AXDataPagerComponent extends MXValueComponent {
|
|
127
128
|
}
|
128
129
|
goToPage(page) {
|
129
130
|
if (page != this.value) {
|
130
|
-
this.commitValue(page);
|
131
|
+
this.commitValue(page, true);
|
131
132
|
}
|
132
133
|
}
|
133
134
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDataPagerComponent, deps: [{ token: AXPagedComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -142,12 +143,7 @@ export class AXDataPagerComponent extends MXValueComponent {
|
|
142
143
|
}
|
143
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDataPagerComponent, decorators: [{
|
144
145
|
type: Component,
|
145
|
-
args: [{ selector: 'ax-data-pager', inputs: ['value', 'name', 'disabled', 'readonly'], outputs: [
|
146
|
-
'valueChange',
|
147
|
-
'onValueChanged',
|
148
|
-
'disabledChange',
|
149
|
-
'readonlyChange',
|
150
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
146
|
+
args: [{ selector: 'ax-data-pager', inputs: ['value', 'name', 'disabled', 'readonly'], outputs: ['valueChange', 'onValueChanged', 'disabledChange', 'readonlyChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
151
147
|
{ provide: AXDataPagerParentComponent, useExisting: AXDataPagerComponent },
|
152
148
|
{
|
153
149
|
provide: NG_VALUE_ACCESSOR,
|
@@ -171,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
171
167
|
}], onChanged: [{
|
172
168
|
type: Output
|
173
169
|
}] } });
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1wYWdlci9zcmMvbGliL2RhdGEtcGFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtcGFnZXIvc3JjL2xpYi9kYXRhLXBhZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFHTCwwQkFBMEIsR0FDM0IsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQXdCckMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUF3QjtJQUVoRSxJQUNXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLENBQVM7UUFDdkIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxD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VSxDQUFDLFdBQ3hDO3dCQUNQLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjtxQkFDakIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxzQkFBc0IsRUFBRTt3QkFDMUU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkFrRUUsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxnQkFBZ0I7eUNBOURmLElBQUk7c0JBRGQsS0FBSztnQkFrQkssS0FBSztzQkFEZixLQUFLO2dCQXVCQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBS0ksV0FBVztzQkFEckIsS0FBSztnQkFlTixTQUFTO3NCQURSLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBhZ2VkQ29tcG9uZW50LCBNWFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBBWERhdGFQYWdlckNoYW5nZWRFdmVudCxcbiAgQVhEYXRhUGFnZXJEYXRhLFxuICBBWERhdGFQYWdlclBhcmVudENvbXBvbmVudCxcbn0gZnJvbSAnLi9kYXRhLXBhZ2VyLWJhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtZGF0YS1wYWdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXBhZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS1wYWdlci5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsndmFsdWUnLCAnbmFtZScsICdkaXNhYmxlZCcsICdyZWFkb25seSddLFxuICBvdXRwdXRzOiBbXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdkaXNhYmxlZENoYW5nZScsXG4gICAgJ3JlYWRvbmx5Q2hhbmdlJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhEYXRhUGFnZXJQYXJlbnRDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGFQYWdlckNvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhEYXRhUGFnZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhEYXRhUGFnZXJDb21wb25lbnQgZXh0ZW5kcyBNWFZhbHVlQ29tcG9uZW50PG51bWJlcj4ge1xuICBwcml2YXRlIF9zaXplID0gMTA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG4gIHB1YmxpYyBzZXQgc2l6ZSh2OiBudW1iZXIpIHtcbiAgICBpZiAodiAhPSB0aGlzLl9zaXplKSB7XG4gICAgICB0aGlzLl9zaXplID0gdjtcbiAgICAgIGlmICh0aGlzLl9wYXJlbnQpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50LnBhZ2VTaXplID0gdjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1BhZ2UgPSBNYXRoLmNlaWwodGhpcy5kaXNwbGF5SW5mby5yYW5nZS5mcm9tIC8gdGhpcy5fc2l6ZSkgfHwgMTtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobmV3UGFnZSk7XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdG90YWwgPSAwO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHRvdGFsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsO1xuICB9XG4gIHB1YmxpYyBzZXQgdG90YWwodjogbnVtYmVyKSB7XG4gICAgY29uc3QgdCA9IHYgJiYgdiA+IDAgPyB2IDogMDtcbiAgICBpZiAodCAhPSB0aGlzLl90b3RhbCkge1xuICAgICAgdGhpcy5fdG90YWwgPSB0O1xuICAgICAgdGhpcy5fZW1pdENoYW5nZWRFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3RvdGFsUGFnZXMgPSAwO1xuXG4gIHB1YmxpYyBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90b3RhbFBhZ2VzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgdG90YWxQYWdlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fdG90YWxQYWdlcyA9IHZhbHVlO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkaXNwbGF5TW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9kaXNwbGF5TW9kZSA9ICdmdWxsJztcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkaXNwbGF5TW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5TW9kZTtcbiAgfVxuICBwdWJsaWMgc2V0IGRpc3BsYXlNb2RlKHY6IHN0cmluZykge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdkaXNwbGF5TW9kZScsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5fZW1pdENoYW5nZWRFdmVudCgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWERhdGFQYWdlckNoYW5nZWRFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhUGFnZXJDaGFuZ2VkRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEFYUGFnZWRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSBfcGFyZW50OiBBWFBhZ2VkQ29tcG9uZW50XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgLy9cbiAgICBpZiAodGhpcy5fcGFyZW50KSB7XG4gICAgICB0aGlzLl9wYXJlbnQub25QYWdlQ2hhbmdlZC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgdGhpcy5zaXplID0gdGhpcy5fcGFyZW50LnBhZ2VTaXplO1xuICAgICAgICB0aGlzLnRvdGFsID0gdGhpcy5fcGFyZW50LnRvdGFsQ291bnQ7XG4gICAgICAgIHRoaXMudmFsdWUgPSBjLnZhbHVlO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNpemUgPSB0aGlzLl9wYXJlbnQucGFnZVNpemU7XG4gICAgICB0aGlzLnRvdGFsID0gdGhpcy5fcGFyZW50LnRvdGFsQ291bnQ7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuX2VtaXRDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpbnRlcm5hbFZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fZW1pdENoYW5nZWRFdmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsR2V0VmFsdWUodmFsdWU6IGFueSk6IG51bWJlciB7XG4gICAgaWYgKCFpc051bWJlcih2YWx1ZSkgfHwgIXZhbHVlIHx8IHRoaXMudG90YWxQYWdlcyA9PSAwKSByZXR1cm4gMTtcbiAgICByZXR1cm4gdmFsdWUgPiB0aGlzLnRvdGFsUGFnZXMgPyB0aGlzLnRvdGFsUGFnZXMgOiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUluZm8oKTogQVhEYXRhUGFnZXJEYXRhIHtcbiAgICBjb25zdCBza2lwID0gTWF0aC5tYXgoMCwgKHRoaXMudmFsdWUgLSAxKSAqIHRoaXMuc2l6ZSk7XG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgcGFnZTogdGhpcy52YWx1ZSxcbiAgICAgIHRvdGFsSXRlbXM6IHRoaXMudG90YWwsXG4gICAgICB0b3RhbFBhZ2VzOiB0aGlzLnRvdGFsUGFnZXMsXG4gICAgICByYW5nZToge1xuICAgICAgICBmcm9tOiBza2lwICsgMSxcbiAgICAgICAgdG86IE1hdGgubWluKHRoaXMudmFsdWUgKiB0aGlzLnNpemUsIHRoaXMudG90YWwpLFxuICAgICAgfSxcbiAgICAgIHNraXAsXG4gICAgICB0YWtlOiB0aGlzLnNpemUsXG4gICAgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdENoYW5nZWRFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLnRvdGFsUGFnZXMgPSBNYXRoLmNlaWwodGhpcy5fdG90YWwgLyB0aGlzLnNpemUpO1xuICAgIC8vXG4gICAgdGhpcy5vbkNoYW5nZWQuZW1pdChcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgICAgfSxcbiAgICAgICAgdGhpcy5kaXNwbGF5SW5mb1xuICAgICAgKVxuICAgICk7XG4gICAgaWYgKHRoaXMudG90YWxQYWdlcyA+IDApIHRoaXMuX3BhcmVudD8uZ29Ub1BhZ2UodGhpcy52YWx1ZSk7XG4gICAgLy9cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdvTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5nb1RvUGFnZShNYXRoLm1pbih0aGlzLnZhbHVlICsgMSwgdGhpcy50b3RhbFBhZ2VzKSk7XG4gIH1cblxuICBnb0xhc3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub1BhZ2UodGhpcy50b3RhbFBhZ2VzKTtcbiAgfVxuXG4gIGdvRmlyc3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub1BhZ2UoMSk7XG4gIH1cblxuICBnb1ByZXZQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub1BhZ2UoTWF0aC5tYXgodGhpcy52YWx1ZSAtIDEsIDEpKTtcbiAgfVxuXG4gIGdvVG9QYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChwYWdlICE9IHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUocGFnZSk7XG4gICAgfVxuICB9XG59XG4iLCJAc3dpdGNoKGRpc3BsYXlNb2RlKXtcbkBjYXNlKCdmdWxsJyl7XG48YXgtcHJlZml4PlxuICAgIDxheC1kYXRhLXBhZ2VyLW51bWVyaWMtc2VsZWN0b3I+XG4gICAgPC9heC1kYXRhLXBhZ2VyLW51bWVyaWMtc2VsZWN0b3I+XG4gICAgPGF4LWRhdGEtcGFnZXItcGFnZS1zaXplcz5cbiAgICA8L2F4LWRhdGEtcGFnZXItcGFnZS1zaXplcz5cbjwvYXgtcHJlZml4PlxuPGF4LXN1ZmZpeD5cbiAgICA8YXgtZGF0YS1wYWdlci1pbmZvPlxuICAgIDwvYXgtZGF0YS1wYWdlci1pbmZvPlxuPC9heC1zdWZmaXg+XG59XG5AY2FzZSgnY29tcGFjdCcpe1xuPGF4LXByZWZpeD5cbiAgICA8YXgtZGF0YS1wYWdlci1wcmV2LWJ1dHRvbnM+XG4gICAgPC9heC1kYXRhLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICA8YXgtZGF0YS1wYWdlci1pbnB1dC1zZWxlY3Rvcj5cbiAgICA8L2F4LWRhdGEtcGFnZXItaW5wdXQtc2VsZWN0b3I+XG4gICAgPGF4LWRhdGEtcGFnZXItbmV4dC1idXR0b25zPlxuICAgIDwvYXgtZGF0YS1wYWdlci1uZXh0LWJ1dHRvbnM+XG48L2F4LXByZWZpeD5cbjxheC1zdWZmaXg+XG4gICAgPGF4LWRhdGEtcGFnZXItaW5mbz5cbiAgICA8L2F4LWRhdGEtcGFnZXItaW5mbz5cbjwvYXgtc3VmZml4PlxufVxuQGRlZmF1bHR7XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj48L25nLWNvbnRlbnQ+XG59XG59Il19
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1wYWdlci9zcmMvbGliL2RhdGEtcGFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtcGFnZXIvc3JjL2xpYi9kYXRhLXBhZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBNEMsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQW1CbkgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUF3QjtJQUVoRSxJQUNXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLENBQVM7UUFDdkIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxD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QUFTOytCQUNFLGVBQWUsVUFHakIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsV0FDeEMsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsbUJBQzdELHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxzQkFBc0IsRUFBRTt3QkFDMUU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkFpRUUsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxnQkFBZ0I7eUNBN0RmLElBQUk7c0JBRGQsS0FBSztnQkFrQkssS0FBSztzQkFEZixLQUFLO2dCQXVCQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBS0ksV0FBVztzQkFEckIsS0FBSztnQkFlTixTQUFTO3NCQURSLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBhZ2VkQ29tcG9uZW50LCBNWFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWERhdGFQYWdlckNoYW5nZWRFdmVudCwgQVhEYXRhUGFnZXJEYXRhLCBBWERhdGFQYWdlclBhcmVudENvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1wYWdlci1iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWRhdGEtcGFnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1wYWdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtcGFnZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBbJ3ZhbHVlJywgJ25hbWUnLCAnZGlzYWJsZWQnLCAncmVhZG9ubHknXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZScsICdvblZhbHVlQ2hhbmdlZCcsICdkaXNhYmxlZENoYW5nZScsICdyZWFkb25seUNoYW5nZSddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWERhdGFQYWdlclBhcmVudENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0YVBhZ2VyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWERhdGFQYWdlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFQYWdlckNvbXBvbmVudCBleHRlbmRzIE1YVmFsdWVDb21wb25lbnQ8bnVtYmVyPiB7XG4gIHByaXZhdGUgX3NpemUgPSAxMDtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cbiAgcHVibGljIHNldCBzaXplKHY6IG51bWJlcikge1xuICAgIGlmICh2ICE9IHRoaXMuX3NpemUpIHtcbiAgICAgIHRoaXMuX3NpemUgPSB2O1xuICAgICAgaWYgKHRoaXMuX3BhcmVudCkge1xuICAgICAgICB0aGlzLl9wYXJlbnQucGFnZVNpemUgPSB2O1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGFnZSA9IE1hdGguY2VpbCh0aGlzLmRpc3BsYXlJbmZvLnJhbmdlLmZyb20gLyB0aGlzLl9zaXplKSB8fCAxO1xuICAgICAgdGhpcy5jb21taXRWYWx1ZShuZXdQYWdlKTtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2VkRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90b3RhbCA9IDA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdG90YWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWw7XG4gIH1cbiAgcHVibGljIHNldCB0b3RhbCh2OiBudW1iZXIpIHtcbiAgICBjb25zdCB0ID0gdiAmJiB2ID4gMCA/IHYgOiAwO1xuICAgIGlmICh0ICE9IHRoaXMuX3RvdGFsKSB7XG4gICAgICB0aGlzLl90b3RhbCA9IHQ7XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdG90YWxQYWdlcyA9IDA7XG5cbiAgcHVibGljIGdldCB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsUGFnZXM7XG4gIH1cblxuICBwcml2YXRlIHNldCB0b3RhbFBhZ2VzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl90b3RhbFBhZ2VzID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGRpc3BsYXlNb2RlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgX2Rpc3BsYXlNb2RlID0gJ2Z1bGwnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpc3BsYXlNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlNb2RlO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzcGxheU1vZGUodjogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2Rpc3BsYXlNb2RlJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYRGF0YVBhZ2VyQ2hhbmdlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhUGFnZXJDaGFuZ2VkRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEFYUGFnZWRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSBfcGFyZW50OiBBWFBhZ2VkQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIC8vXG4gICAgaWYgKHRoaXMuX3BhcmVudCkge1xuICAgICAgdGhpcy5fcGFyZW50Lm9uUGFnZUNoYW5nZWQuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuX3BhcmVudC5wYWdlU2l6ZTtcbiAgICAgICAgdGhpcy50b3RhbCA9IHRoaXMuX3BhcmVudC50b3RhbENvdW50O1xuICAgICAgICB0aGlzLnZhbHVlID0gYy52YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zaXplID0gdGhpcy5fcGFyZW50LnBhZ2VTaXplO1xuICAgICAgdGhpcy50b3RhbCA9IHRoaXMuX3BhcmVudC50b3RhbENvdW50O1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX2VtaXRDaGFuZ2VkRXZlbnQodHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxHZXRWYWx1ZSh2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgICBpZiAoIWlzTnVtYmVyKHZhbHVlKSB8fCAhdmFsdWUgfHwgdGhpcy50b3RhbFBhZ2VzID09IDApIHJldHVybiAxO1xuICAgIHJldHVybiB2YWx1ZSA+IHRoaXMudG90YWxQYWdlcyA/IHRoaXMudG90YWxQYWdlcyA6IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5SW5mbygpOiBBWERhdGFQYWdlckRhdGEge1xuICAgIGNvbnN0IHNraXAgPSBNYXRoLm1heCgwLCAodGhpcy52YWx1ZSAtIDEpICogdGhpcy5zaXplKTtcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICBwYWdlOiB0aGlzLnZhbHVlLFxuICAgICAgdG90YWxJdGVtczogdGhpcy50b3RhbCxcbiAgICAgIHRvdGFsUGFnZXM6IHRoaXMudG90YWxQYWdlcyxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIGZyb206IHNraXAgKyAxLFxuICAgICAgICB0bzogTWF0aC5taW4odGhpcy52YWx1ZSAqIHRoaXMuc2l6ZSwgdGhpcy50b3RhbCksXG4gICAgICB9LFxuICAgICAgc2tpcCxcbiAgICAgIHRha2U6IHRoaXMuc2l6ZSxcbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0Q2hhbmdlZEV2ZW50KHU6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMudG90YWxQYWdlcyA9IE1hdGguY2VpbCh0aGlzLl90b3RhbCAvIHRoaXMuc2l6ZSk7XG4gICAgLy9cbiAgICB0aGlzLm9uQ2hhbmdlZC5lbWl0KFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdSxcbiAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLmRpc3BsYXlJbmZvLFxuICAgICAgKSxcbiAgICApO1xuICAgIGlmICh0aGlzLnRvdGFsUGFnZXMgPiAwKSB0aGlzLl9wYXJlbnQ/LmdvVG9QYWdlKHRoaXMudmFsdWUpO1xuICAgIC8vXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnb05leHRQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuZ29Ub1BhZ2UoTWF0aC5taW4odGhpcy52YWx1ZSArIDEsIHRoaXMudG90YWxQYWdlcykpO1xuICB9XG5cbiAgZ29MYXN0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLmdvVG9QYWdlKHRoaXMudG90YWxQYWdlcyk7XG4gIH1cblxuICBnb0ZpcnN0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLmdvVG9QYWdlKDEpO1xuICB9XG5cbiAgZ29QcmV2UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLmdvVG9QYWdlKE1hdGgubWF4KHRoaXMudmFsdWUgLSAxLCAxKSk7XG4gIH1cblxuICBnb1RvUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFnZSAhPSB0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKHBhZ2UsIHRydWUpO1xuICAgIH1cbiAgfVxufVxuIiwiQHN3aXRjaChkaXNwbGF5TW9kZSl7XG5AY2FzZSgnZnVsbCcpe1xuPGF4LXByZWZpeD5cbiAgICA8YXgtZGF0YS1wYWdlci1udW1lcmljLXNlbGVjdG9yPlxuICAgIDwvYXgtZGF0YS1wYWdlci1udW1lcmljLXNlbGVjdG9yPlxuICAgIDxheC1kYXRhLXBhZ2VyLXBhZ2Utc2l6ZXM+XG4gICAgPC9heC1kYXRhLXBhZ2VyLXBhZ2Utc2l6ZXM+XG48L2F4LXByZWZpeD5cbjxheC1zdWZmaXg+XG4gICAgPGF4LWRhdGEtcGFnZXItaW5mbz5cbiAgICA8L2F4LWRhdGEtcGFnZXItaW5mbz5cbjwvYXgtc3VmZml4PlxufVxuQGNhc2UoJ2NvbXBhY3QnKXtcbjxheC1wcmVmaXg+XG4gICAgPGF4LWRhdGEtcGFnZXItcHJldi1idXR0b25zPlxuICAgIDwvYXgtZGF0YS1wYWdlci1wcmV2LWJ1dHRvbnM+XG4gICAgPGF4LWRhdGEtcGFnZXItaW5wdXQtc2VsZWN0b3I+XG4gICAgPC9heC1kYXRhLXBhZ2VyLWlucHV0LXNlbGVjdG9yPlxuICAgIDxheC1kYXRhLXBhZ2VyLW5leHQtYnV0dG9ucz5cbiAgICA8L2F4LWRhdGEtcGFnZXItbmV4dC1idXR0b25zPlxuPC9heC1wcmVmaXg+XG48YXgtc3VmZml4PlxuICAgIDxheC1kYXRhLXBhZ2VyLWluZm8+XG4gICAgPC9heC1kYXRhLXBhZ2VyLWluZm8+XG48L2F4LXN1ZmZpeD5cbn1cbkBkZWZhdWx0e1xuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxufVxufSJdfQ==
|