@sumaris-net/ngx-components 2.12.25-rc4 → 2.12.26-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/app/admin/users/users.mjs +5 -11
- package/esm2022/src/app/core/account/account.page.mjs +5 -12
- package/esm2022/src/app/core/account/new-token.modal.mjs +8 -15
- package/esm2022/src/app/core/account/password/change-password.form.mjs +5 -10
- package/esm2022/src/app/core/account/password/change-password.page.mjs +4 -9
- package/esm2022/src/app/core/account/token.table.mjs +5 -12
- package/esm2022/src/app/core/auth/auth.form.mjs +5 -11
- package/esm2022/src/app/core/auth/auth.modal.mjs +14 -17
- package/esm2022/src/app/core/auth/reset-password.modal.mjs +16 -20
- package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +5 -13
- package/esm2022/src/app/core/form/entity/editor.class.mjs +14 -20
- package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +10 -21
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +11 -24
- package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +5 -21
- package/esm2022/src/app/core/form/form-container.class.mjs +4 -5
- package/esm2022/src/app/core/form/form.class.mjs +13 -13
- package/esm2022/src/app/core/form/list/list.form.mjs +10 -20
- package/esm2022/src/app/core/form/properties/properties.form.mjs +17 -26
- package/esm2022/src/app/core/form/properties/properties.table.mjs +5 -7
- package/esm2022/src/app/core/form/username/username.form.mjs +5 -10
- package/esm2022/src/app/core/home/home.mjs +39 -61
- package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +21 -34
- package/esm2022/src/app/core/menu/menu.component.mjs +33 -53
- package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +13 -15
- package/esm2022/src/app/core/menu/testing/menu.testing.mjs +13 -15
- package/esm2022/src/app/core/peer/select-peer.modal.mjs +26 -40
- package/esm2022/src/app/core/settings/settings.page.mjs +25 -35
- package/esm2022/src/app/core/table/async-table.class.mjs +21 -30
- package/esm2022/src/app/core/table/column/actions-column.component.mjs +8 -9
- package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +35 -9
- package/esm2022/src/app/core/table/column/row-field.component.mjs +6 -11
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +2 -2
- package/esm2022/src/app/core/table/memory-table.class.mjs +4 -4
- package/esm2022/src/app/core/table/table.class.mjs +21 -33
- package/esm2022/src/app/core/table/table.pipes.mjs +15 -21
- package/esm2022/src/app/core/table/testing/table.testing.mjs +7 -12
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +9 -13
- package/esm2022/src/app/shared/form/field.component.mjs +14 -16
- package/esm2022/src/app/shared/help/help.modal.mjs +20 -25
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +31 -40
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +14 -18
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +13 -14
- package/esm2022/src/app/shared/material/badge/badge.test.mjs +6 -8
- package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +14 -21
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +5 -12
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +18 -23
- package/esm2022/src/app/shared/material/datetime/material.date.mjs +33 -41
- package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +36 -42
- package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +33 -41
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +11 -13
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +12 -14
- package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +12 -14
- package/esm2022/src/app/shared/material/duration/material.duration.mjs +18 -29
- package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +12 -14
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +25 -32
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +15 -20
- package/esm2022/src/app/shared/material/testing/common.test.mjs +12 -14
- package/esm2022/src/app/shared/material/text/text-form.component.mjs +5 -12
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +6 -13
- package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +13 -12
- package/esm2022/src/app/shared/pipes/form.pipes.mjs +18 -26
- package/esm2022/src/app/shared/pipes/selection.pipes.mjs +31 -33
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +28 -53
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +20 -30
- package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +14 -16
- package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +18 -20
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +18 -26
- package/esm2022/src/app/social/message/message.form.mjs +5 -10
- package/esm2022/src/app/social/message/message.modal.mjs +16 -19
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +18 -27
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +23 -40
- package/fesm2022/sumaris-net.ngx-components.mjs +711 -1151
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/admin/users/users.d.ts +2 -4
- package/src/app/core/account/account.page.d.ts +2 -4
- package/src/app/core/account/new-token.modal.d.ts +2 -3
- package/src/app/core/account/password/change-password.form.d.ts +2 -4
- package/src/app/core/account/password/change-password.page.d.ts +2 -4
- package/src/app/core/account/token.table.d.ts +3 -6
- package/src/app/core/auth/auth.form.d.ts +3 -5
- package/src/app/core/auth/auth.modal.d.ts +5 -7
- package/src/app/core/auth/reset-password.modal.d.ts +6 -6
- package/src/app/core/form/array/testing/form-array.test.d.ts +2 -5
- package/src/app/core/form/entity/editor.class.d.ts +7 -7
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +3 -5
- package/src/app/core/form/entity/entity-editor.class.d.ts +4 -7
- package/src/app/core/form/entity/tab-editor.class.d.ts +2 -11
- package/src/app/core/form/form-container.class.d.ts +2 -1
- package/src/app/core/form/form.class.d.ts +5 -3
- package/src/app/core/form/list/list.form.d.ts +3 -8
- package/src/app/core/form/properties/properties.form.d.ts +3 -7
- package/src/app/core/form/properties/properties.table.d.ts +2 -3
- package/src/app/core/form/username/username.form.d.ts +3 -5
- package/src/app/core/home/home.d.ts +16 -22
- package/src/app/core/install/install-upgrade-card.component.d.ts +10 -15
- package/src/app/core/menu/menu.component.d.ts +13 -17
- package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -5
- package/src/app/core/menu/testing/menu.testing.d.ts +1 -5
- package/src/app/core/peer/select-peer.modal.d.ts +10 -15
- package/src/app/core/settings/settings.page.d.ts +3 -9
- package/src/app/core/table/async-table.class.d.ts +15 -13
- package/src/app/core/table/column/actions-column.component.d.ts +3 -3
- package/src/app/core/table/column/nav-actions-column.component.d.ts +19 -5
- package/src/app/core/table/column/row-field.component.d.ts +2 -2
- package/src/app/core/table/memory-table.class.d.ts +2 -2
- package/src/app/core/table/table.class.d.ts +15 -14
- package/src/app/core/table/table.pipes.d.ts +4 -5
- package/src/app/core/table/testing/table.testing.d.ts +2 -4
- package/src/app/core/table/testing/table2.testing.d.ts +2 -4
- package/src/app/shared/form/field.component.d.ts +5 -5
- package/src/app/shared/help/help.modal.d.ts +7 -8
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +8 -8
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +6 -7
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +4 -4
- package/src/app/shared/material/badge/badge.test.d.ts +2 -3
- package/src/app/shared/material/boolean/material.boolean.d.ts +5 -6
- package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +2 -5
- package/src/app/shared/material/chips/material.chips.d.ts +5 -5
- package/src/app/shared/material/datetime/material.date.d.ts +10 -11
- package/src/app/shared/material/datetime/material.dateshort.d.ts +10 -11
- package/src/app/shared/material/datetime/material.datetime.d.ts +10 -11
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +4 -4
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +3 -3
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +3 -3
- package/src/app/shared/material/duration/material.duration.d.ts +6 -12
- package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +3 -3
- package/src/app/shared/material/latlong/material.latlong.d.ts +9 -9
- package/src/app/shared/material/swipe/material.swipe.d.ts +5 -5
- package/src/app/shared/material/testing/common.test.d.ts +4 -4
- package/src/app/shared/material/text/text-form.component.d.ts +3 -6
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +2 -5
- package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +4 -3
- package/src/app/shared/pipes/form.pipes.d.ts +6 -7
- package/src/app/shared/pipes/selection.pipes.d.ts +8 -8
- package/src/app/shared/storage/storage-explorer.component.d.ts +12 -15
- package/src/app/shared/toolbar/toolbar.d.ts +10 -12
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +4 -4
- package/src/app/shared/upload-file/upload-file.component.d.ts +3 -3
- package/src/app/social/job/progression/job-progression.icon.d.ts +5 -6
- package/src/app/social/message/message.form.d.ts +2 -4
- package/src/app/social/message/message.modal.d.ts +5 -5
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +7 -8
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +8 -9
- package/src/assets/manifest.json +1 -1
|
@@ -4,24 +4,18 @@ import { AppTable } from './table.class';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class AbstractTableSelectionPipe extends AbstractSelectionModelPipe {
|
|
6
6
|
_onRowsChanges;
|
|
7
|
-
constructor(_ref) {
|
|
8
|
-
super(_ref);
|
|
9
|
-
}
|
|
10
7
|
transform(selectionOrTable, tableOrOpts, opts) {
|
|
11
|
-
|
|
12
|
-
const _table = tableOrOpts instanceof (AppTable) ? tableOrOpts : selectionOrTable instanceof (AppTable) ? selectionOrTable : undefined;
|
|
13
|
-
// @ts-ignore
|
|
8
|
+
const _table = tableOrOpts instanceof AppTable ? tableOrOpts : selectionOrTable instanceof AppTable ? selectionOrTable : undefined;
|
|
14
9
|
const _selection = _table?.selection || selectionOrTable;
|
|
15
|
-
|
|
16
|
-
const _opts = opts || !(tableOrOpts instanceof (AppTable) && tableOrOpts);
|
|
10
|
+
const _opts = opts || (!(tableOrOpts instanceof AppTable) && tableOrOpts);
|
|
17
11
|
return super.transform(_selection, _table, _opts);
|
|
18
12
|
}
|
|
19
13
|
_subscribe(selection, table, opts) {
|
|
20
|
-
this._onRowsChanges = table?.dataSource?.rowsSubject.subscribe((
|
|
14
|
+
this._onRowsChanges = table?.dataSource?.rowsSubject.subscribe(() => {
|
|
21
15
|
const result = this._transform(selection, table, opts);
|
|
22
16
|
if (result !== this._result) {
|
|
23
17
|
this._result = result;
|
|
24
|
-
this.
|
|
18
|
+
this.cd.markForCheck();
|
|
25
19
|
}
|
|
26
20
|
});
|
|
27
21
|
return super._subscribe(selection, table);
|
|
@@ -31,7 +25,7 @@ export class AbstractTableSelectionPipe extends AbstractSelectionModelPipe {
|
|
|
31
25
|
this._onRowsChanges?.unsubscribe();
|
|
32
26
|
this._onRowsChanges = null;
|
|
33
27
|
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTableSelectionPipe, deps:
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTableSelectionPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
|
|
35
29
|
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AbstractTableSelectionPipe, name: "abstract-table-selection" });
|
|
36
30
|
}
|
|
37
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTableSelectionPipe, decorators: [{
|
|
@@ -39,15 +33,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
39
33
|
args: [{
|
|
40
34
|
name: 'abstract-table-selection',
|
|
41
35
|
}]
|
|
42
|
-
}]
|
|
36
|
+
}] });
|
|
43
37
|
export class IsAllSelectedPipe extends AbstractTableSelectionPipe {
|
|
44
|
-
constructor(
|
|
45
|
-
super(
|
|
38
|
+
constructor() {
|
|
39
|
+
super();
|
|
46
40
|
}
|
|
47
41
|
_transform(selection, table, countPropertyName = 'visibleRowCount') {
|
|
48
42
|
return selection.selected.length === table?.[countPropertyName];
|
|
49
43
|
}
|
|
50
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsAllSelectedPipe, deps: [
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsAllSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
51
45
|
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsAllSelectedPipe, name: "isAllSelected", pure: false });
|
|
52
46
|
}
|
|
53
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsAllSelectedPipe, decorators: [{
|
|
@@ -56,15 +50,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
56
50
|
name: 'isAllSelected',
|
|
57
51
|
pure: false,
|
|
58
52
|
}]
|
|
59
|
-
}], ctorParameters: () => [
|
|
53
|
+
}], ctorParameters: () => [] });
|
|
60
54
|
export class IsNotAllSelectedPipe extends IsAllSelectedPipe {
|
|
61
|
-
constructor(
|
|
62
|
-
super(
|
|
55
|
+
constructor() {
|
|
56
|
+
super();
|
|
63
57
|
}
|
|
64
58
|
_transform(selection, table, countPropertyName = 'visibleRowCount') {
|
|
65
59
|
return selection.hasValue() && selection.selected.length !== table?.[countPropertyName];
|
|
66
60
|
}
|
|
67
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsNotAllSelectedPipe, deps: [
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsNotAllSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
68
62
|
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsNotAllSelectedPipe, name: "isNotAllSelected", pure: false });
|
|
69
63
|
}
|
|
70
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsNotAllSelectedPipe, decorators: [{
|
|
@@ -73,5 +67,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
73
67
|
name: 'isNotAllSelected',
|
|
74
68
|
pure: false,
|
|
75
69
|
}]
|
|
76
|
-
}], ctorParameters: () => [
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
}], ctorParameters: () => [] });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvdGFibGUvdGFibGUucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRekMsTUFBTSxPQUFnQiwwQkFDcEIsU0FBUSwwQkFBcUM7SUFHckMsY0FBYyxDQUFlO0lBRXJDLFNBQVMsQ0FBQyxnQkFBeUMsRUFBRSxXQUFtQixFQUFFLElBQVE7UUFDaEYsTUFBTSxNQUFNLEdBQU0sV0FBVyxZQUFZLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsWUFBWSxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdEksTUFBTSxVQUFVLEdBQXdCLE1BQU0sRUFBRSxTQUFTLElBQUssZ0JBQXdDLENBQUM7UUFDdkcsTUFBTSxLQUFLLEdBQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsWUFBWSxRQUFRLENBQUMsSUFBSyxXQUFpQixDQUFDLENBQUM7UUFDcEYsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVTLFVBQVUsQ0FBQyxTQUE4QixFQUFFLEtBQVMsRUFBRSxJQUFRO1FBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUksS0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdkQsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFDdEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFUyxRQUFRO1FBQ2hCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7d0dBN0JtQiwwQkFBMEI7c0dBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFIL0MsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsMEJBQTBCO2lCQUNqQzs7QUFxQ0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDBCQUE2RDtJQUNsRztRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVTLFVBQVUsQ0FDbEIsU0FBOEIsRUFDOUIsS0FBb0IsRUFDcEIsb0JBQThDLGlCQUFpQjtRQUUvRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbEUsQ0FBQzt3R0FYVSxpQkFBaUI7c0dBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7O0FBbUJELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFDekQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFUyxVQUFVLENBQ2xCLFNBQThCLEVBQzlCLEtBQW9CLEVBQ3BCLG9CQUE4QyxpQkFBaUI7UUFFL0QsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRixDQUFDO3dHQVhVLG9CQUFvQjtzR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBBYnN0cmFjdFNlbGVjdGlvbk1vZGVsUGlwZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9waXBlcy9zZWxlY3Rpb24ucGlwZXMnO1xuaW1wb3J0IHsgQXBwVGFibGUgfSBmcm9tICcuL3RhYmxlLmNsYXNzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBBcHBUYWJsZVJvd0NvdW50UHJvcGVydHkgPSAndmlzaWJsZVJvd0NvdW50JyB8ICd0b3RhbFJvd0NvdW50JztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWJzdHJhY3QtdGFibGUtc2VsZWN0aW9uJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUYWJsZVNlbGVjdGlvblBpcGU8UiwgTywgVCBleHRlbmRzIEFwcFRhYmxlPGFueT4gPSBBcHBUYWJsZTxhbnk+PlxuICBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPGFueSwgUiwgTz5cbiAgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtXG57XG4gIHByaXZhdGUgX29uUm93c0NoYW5nZXM6IFN1YnNjcmlwdGlvbjtcblxuICB0cmFuc2Zvcm0oc2VsZWN0aW9uT3JUYWJsZTogU2VsZWN0aW9uTW9kZWw8YW55PiB8IFQsIHRhYmxlT3JPcHRzPzogVCB8IE8sIG9wdHM/OiBPKTogUiB7XG4gICAgY29uc3QgX3RhYmxlOiBUID0gdGFibGVPck9wdHMgaW5zdGFuY2VvZiBBcHBUYWJsZSA/IHRhYmxlT3JPcHRzIDogc2VsZWN0aW9uT3JUYWJsZSBpbnN0YW5jZW9mIEFwcFRhYmxlID8gc2VsZWN0aW9uT3JUYWJsZSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBfc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+ID0gX3RhYmxlPy5zZWxlY3Rpb24gfHwgKHNlbGVjdGlvbk9yVGFibGUgYXMgU2VsZWN0aW9uTW9kZWw8YW55Pik7XG4gICAgY29uc3QgX29wdHM6IE8gPSBvcHRzIHx8ICghKHRhYmxlT3JPcHRzIGluc3RhbmNlb2YgQXBwVGFibGUpICYmICh0YWJsZU9yT3B0cyBhcyBPKSk7XG4gICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybShfc2VsZWN0aW9uLCBfdGFibGUsIF9vcHRzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc3Vic2NyaWJlKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdGFibGU/OiBULCBvcHRzPzogTyk6IFN1YnNjcmlwdGlvbiB7XG4gICAgdGhpcy5fb25Sb3dzQ2hhbmdlcyA9ICh0YWJsZSBhcyBUKT8uZGF0YVNvdXJjZT8ucm93c1N1YmplY3Quc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3RyYW5zZm9ybShzZWxlY3Rpb24sIHRhYmxlLCBvcHRzKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IHRoaXMuX3Jlc3VsdCkge1xuICAgICAgICB0aGlzLl9yZXN1bHQgPSByZXN1bHQ7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3VwZXIuX3N1YnNjcmliZShzZWxlY3Rpb24sIHRhYmxlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZGlzcG9zZSgpIHtcbiAgICBzdXBlci5fZGlzcG9zZSgpO1xuICAgIHRoaXMuX29uUm93c0NoYW5nZXM/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fb25Sb3dzQ2hhbmdlcyA9IG51bGw7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnaXNBbGxTZWxlY3RlZCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBJc0FsbFNlbGVjdGVkUGlwZSBleHRlbmRzIEFic3RyYWN0VGFibGVTZWxlY3Rpb25QaXBlPGJvb2xlYW4sIEFwcFRhYmxlUm93Q291bnRQcm9wZXJ0eT4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oXG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxuICAgIHRhYmxlOiBBcHBUYWJsZTxhbnk+LFxuICAgIGNvdW50UHJvcGVydHlOYW1lOiBBcHBUYWJsZVJvd0NvdW50UHJvcGVydHkgPSAndmlzaWJsZVJvd0NvdW50J1xuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aCA9PT0gdGFibGU/Lltjb3VudFByb3BlcnR5TmFtZV07XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnaXNOb3RBbGxTZWxlY3RlZCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBJc05vdEFsbFNlbGVjdGVkUGlwZSBleHRlbmRzIElzQWxsU2VsZWN0ZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKFxuICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICB0YWJsZTogQXBwVGFibGU8YW55PixcbiAgICBjb3VudFByb3BlcnR5TmFtZTogQXBwVGFibGVSb3dDb3VudFByb3BlcnR5ID0gJ3Zpc2libGVSb3dDb3VudCdcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIHNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGggIT09IHRhYmxlPy5bY291bnRQcm9wZXJ0eU5hbWVdO1xuICB9XG59XG4iXX0=
|