@annalib/anna-core 20.2.73 → 20.2.75
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/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +5 -7
- package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +4 -6
- package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +16 -13
- package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +5 -7
- package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +4 -6
- package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +5 -7
- package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +5 -7
- package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +27 -34
- package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +5 -5
- package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +17 -15
- package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +2 -2
- package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +3 -3
- package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +3 -4
- package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +17 -19
- package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +2 -1
- package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +102 -81
- package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +381 -376
- package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +29 -31
- package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +1 -1
- package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +21 -15
- package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +6 -7
- package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +41 -43
- package/esm2022/lib/anna-core.module.mjs +28 -47
- package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +19 -19
- package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +76 -88
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +40 -36
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +14 -13
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +23 -23
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +31 -34
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +108 -101
- package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +13 -9
- package/esm2022/public-api.mjs +27 -30
- package/fesm2022/annalib-anna-core.mjs +2842 -3565
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +2 -5
- package/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.d.ts +2 -5
- package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +4 -6
- package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +2 -5
- package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +2 -5
- package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +2 -5
- package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +2 -5
- package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +1 -1
- package/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.d.ts +3 -3
- package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +3 -3
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +1 -1
- package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +1 -1
- package/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.d.ts +0 -1
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +3 -1
- package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +4 -4
- package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +2 -2
- package/lib/anna-core-shared-lib/services/anna-persisting-filter.service.d.ts +0 -1
- package/lib/anna-core.module.d.ts +12 -15
- package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +1 -1
- package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +2 -2
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.d.ts +4 -4
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.d.ts +3 -3
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.d.ts +4 -4
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +4 -4
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +9 -9
- package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +14 -17
- package/src/lib/anna-common-scss/_filters.scss +12 -0
- package/src/lib/anna-common-scss/_show-hide-total-row.scss +1 -1
- package/esm2022/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -352
- package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +0 -204
- package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +0 -2
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -180
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +0 -2
- package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +0 -141
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +0 -89
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +0 -1
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +0 -45
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +0 -1
- package/src/lib/anna-common-scss/_drag-and-drop.scss +0 -22
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Angular import statements
|
|
2
2
|
import { Injectable } from "@angular/core";
|
|
3
|
+
import { cloneDeep } from "lodash-es";
|
|
3
4
|
import { Subject } from "rxjs";
|
|
4
5
|
import { AnnaDateTimeFormatService } from "./anna-date-time-format.service";
|
|
5
|
-
import { cloneDeep } from "lodash-es";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "./anna-date-time-format.service";
|
|
8
8
|
// Third party import statements
|
|
@@ -25,30 +25,26 @@ export class AnnaSortService {
|
|
|
25
25
|
sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
|
|
26
26
|
let param1;
|
|
27
27
|
let param2;
|
|
28
|
+
let dataToBeSorted = data;
|
|
28
29
|
if (this.dateSet.has(key)) {
|
|
29
|
-
|
|
30
|
-
return this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc);
|
|
31
|
-
});
|
|
30
|
+
dataToBeSorted.sort((a, b) => this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc));
|
|
32
31
|
}
|
|
33
32
|
else if (key === "AirDateAndTime" || key === "Date") {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (a[key] == "-") {
|
|
33
|
+
dataToBeSorted.sort((a, b) => {
|
|
34
|
+
if (a[key] === "-") {
|
|
37
35
|
return 1;
|
|
38
36
|
}
|
|
39
|
-
if (b[key]
|
|
37
|
+
if (b[key] === "-") {
|
|
40
38
|
return -1;
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return compareDate;
|
|
47
|
-
}
|
|
40
|
+
const first = this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(a[key]);
|
|
41
|
+
const second = this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(b[key]);
|
|
42
|
+
const compareDate = this.annaDateTimeFormatService.compareDate(first, second, isAsc);
|
|
43
|
+
return compareDate;
|
|
48
44
|
});
|
|
49
45
|
}
|
|
50
|
-
else if (key
|
|
51
|
-
|
|
46
|
+
else if (key === "startEndTime" || key === "TimeBand") {
|
|
47
|
+
dataToBeSorted.sort((a, b) => {
|
|
52
48
|
if (isAsc) {
|
|
53
49
|
param1 = a[key][1];
|
|
54
50
|
param2 = b[key][1];
|
|
@@ -57,15 +53,15 @@ export class AnnaSortService {
|
|
|
57
53
|
param1 = a[key][2];
|
|
58
54
|
param2 = b[key][2];
|
|
59
55
|
}
|
|
60
|
-
|
|
56
|
+
const val = isAsc
|
|
61
57
|
? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
|
|
62
58
|
: this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
|
|
63
59
|
return val;
|
|
64
60
|
});
|
|
65
61
|
}
|
|
66
62
|
else {
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
const dataWithoutEmptyOrHyphenValues = dataToBeSorted.filter((n) => n[key] !== "-");
|
|
64
|
+
const rowsWithHyphenOrZeroValues = dataToBeSorted.filter((n) => n[key] === "-");
|
|
69
65
|
dataWithoutEmptyOrHyphenValues.sort((a, b) => {
|
|
70
66
|
param1 = a[key];
|
|
71
67
|
param2 = b[key];
|
|
@@ -74,25 +70,25 @@ export class AnnaSortService {
|
|
|
74
70
|
}
|
|
75
71
|
return 0;
|
|
76
72
|
});
|
|
77
|
-
|
|
73
|
+
dataToBeSorted = isAsc
|
|
78
74
|
? [...rowsWithHyphenOrZeroValues, ...dataWithoutEmptyOrHyphenValues]
|
|
79
75
|
: [...dataWithoutEmptyOrHyphenValues, ...rowsWithHyphenOrZeroValues];
|
|
80
76
|
}
|
|
81
|
-
return
|
|
77
|
+
return dataToBeSorted;
|
|
82
78
|
}
|
|
83
79
|
sortEnterEditLurAndCsrPage(isAsc, data, key) {
|
|
84
80
|
let param1;
|
|
85
81
|
let param2;
|
|
86
82
|
if (key.includes("_")) {
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
const keys = key.split("_");
|
|
84
|
+
const weekNumber = keys[0];
|
|
89
85
|
let sortKey = keys[1];
|
|
90
86
|
if (keys.length > 2) {
|
|
91
|
-
sortKey = keys[2]
|
|
87
|
+
sortKey = keys[2] === "true" ? "BookedAurIncludingNoChargeSpots" : "BookedAurExcludingNoChargeSpots";
|
|
92
88
|
}
|
|
93
89
|
data.sort((a, b) => {
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
const aInventoryCodeWeekWiseKey = Object.keys(a.WeekWiseInventoryCodeData).filter((invKey) => invKey.split("_")[1] === weekNumber);
|
|
91
|
+
const bInventoryCodeWeekWiseKey = Object.keys(b.WeekWiseInventoryCodeData).filter((invKey) => invKey.split("_")[1] === weekNumber);
|
|
96
92
|
param1 = null;
|
|
97
93
|
param2 = null;
|
|
98
94
|
if (aInventoryCodeWeekWiseKey.length > 0) {
|
|
@@ -107,7 +103,7 @@ export class AnnaSortService {
|
|
|
107
103
|
return 0;
|
|
108
104
|
});
|
|
109
105
|
}
|
|
110
|
-
else if (key
|
|
106
|
+
else if (key === "TimeBand") {
|
|
111
107
|
data.sort((a, b) => {
|
|
112
108
|
if (isAsc) {
|
|
113
109
|
param1 = a[key][1];
|
|
@@ -117,7 +113,7 @@ export class AnnaSortService {
|
|
|
117
113
|
param1 = a[key][2];
|
|
118
114
|
param2 = b[key][2];
|
|
119
115
|
}
|
|
120
|
-
|
|
116
|
+
const val = isAsc
|
|
121
117
|
? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
|
|
122
118
|
: this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
|
|
123
119
|
return val;
|
|
@@ -136,35 +132,37 @@ export class AnnaSortService {
|
|
|
136
132
|
return data;
|
|
137
133
|
}
|
|
138
134
|
checkIfSortingIsApplied(tableData, isLurAndCsrComponent) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
135
|
+
let sortedTableData = tableData;
|
|
136
|
+
this.columnSortState.forEach((value, key) => {
|
|
137
|
+
if (value === "ASC") {
|
|
138
|
+
sortedTableData = cloneDeep(isLurAndCsrComponent
|
|
142
139
|
? this.sortEnterEditLurAndCsrPage(true, tableData, key)
|
|
143
140
|
: this.sortDataForComponentOtherThanLurAndCsrPage(true, tableData, key));
|
|
144
141
|
}
|
|
145
|
-
else if (value
|
|
146
|
-
|
|
142
|
+
else if (value === "DESC") {
|
|
143
|
+
sortedTableData = cloneDeep(isLurAndCsrComponent
|
|
147
144
|
? this.sortEnterEditLurAndCsrPage(false, tableData, key)
|
|
148
145
|
: this.sortDataForComponentOtherThanLurAndCsrPage(false, tableData, key));
|
|
149
146
|
}
|
|
150
|
-
}
|
|
151
|
-
return
|
|
147
|
+
});
|
|
148
|
+
return sortedTableData;
|
|
152
149
|
}
|
|
153
150
|
applySorting(key, tempSortOrder, tableData, isLurAndCsrComponent) {
|
|
154
|
-
|
|
155
|
-
|
|
151
|
+
let sortedTableData = tableData;
|
|
152
|
+
if (tempSortOrder === "ASC") {
|
|
153
|
+
sortedTableData = cloneDeep(isLurAndCsrComponent
|
|
156
154
|
? this.sortEnterEditLurAndCsrPage(true, tableData, key)
|
|
157
155
|
: this.sortDataForComponentOtherThanLurAndCsrPage(true, tableData, key));
|
|
158
156
|
}
|
|
159
|
-
else if (tempSortOrder
|
|
160
|
-
|
|
157
|
+
else if (tempSortOrder === "DESC") {
|
|
158
|
+
sortedTableData = cloneDeep(isLurAndCsrComponent
|
|
161
159
|
? this.sortEnterEditLurAndCsrPage(false, tableData, key)
|
|
162
160
|
: this.sortDataForComponentOtherThanLurAndCsrPage(false, tableData, key));
|
|
163
161
|
}
|
|
164
|
-
else if (tempSortOrder
|
|
165
|
-
|
|
162
|
+
else if (tempSortOrder === "DEFAULT") {
|
|
163
|
+
sortedTableData = cloneDeep(this.noSortingAppliedData);
|
|
166
164
|
}
|
|
167
|
-
return
|
|
165
|
+
return sortedTableData;
|
|
168
166
|
}
|
|
169
167
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaSortService, deps: [{ token: i1.AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
170
168
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaSortService, providedIn: "root" }); }
|
|
@@ -175,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
175
173
|
providedIn: "root",
|
|
176
174
|
}]
|
|
177
175
|
}], ctorParameters: function () { return [{ type: i1.AnnaDateTimeFormatService }]; } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUV0QyxnQ0FBZ0M7QUFFaEMsaUNBQWlDO0FBS2pDLE1BQU0sT0FBTyxlQUFlO0lBZ0J4QixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWJ4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDZCxTQUFTO1lBQ1QsV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixNQUFNO1lBQ04sYUFBYTtTQUNoQixDQUFDLENBQUM7SUFFd0UsQ0FBQztJQUU1RSwwQ0FBMEMsQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLEdBQVc7UUFDL0UsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUksTUFBdUIsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDLENBQUMs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QUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOytHQXhMUSxlQUFlO21IQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTb3J0VHlwZSB9IGZyb20gXCIuLi9tb2RlbHMvYW5uYS1zb3J0Lm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiLi9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFTb3J0U2VydmljZSB7XHJcbiAgICBjb2x1bW5Tb3J0U3RhdGU6IE1hcDxzdHJpbmcsIFNvcnRUeXBlPjtcclxuICAgIG5vU29ydGluZ0FwcGxpZWREYXRhOiBhbnlbXTtcclxuICAgIHVwZGF0ZVNvcnRUeXBlU3ViamVjdDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgICBkYXRlU2V0ID0gbmV3IFNldChbXHJcbiAgICAgICAgXCJlbmREYXRlXCIsXHJcbiAgICAgICAgXCJzdGFydERhdGVcIixcclxuICAgICAgICBcImVuZF9kYXRlXCIsXHJcbiAgICAgICAgXCJzdGFydF9kYXRlXCIsXHJcbiAgICAgICAgXCJmbGlnaHRTdGFydERhdGVcIixcclxuICAgICAgICBcImZsaWdodEVuZERhdGVcIixcclxuICAgICAgICBcImRhdGVcIixcclxuICAgICAgICBcIkdlbmVyYXRlZE9uXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UpIHt9XHJcblxyXG4gICAgc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGlzQXNjOiBib29sZWFuLCBkYXRhOiBhbnlbXSwga2V5OiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICAgICAgbGV0IHBhcmFtMjogc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5kYXRlU2V0LmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShhW2tleV0sIGJba2V5XSwgaXNBc2MpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJBaXJEYXRlQW5kVGltZVwiIHx8IGtleSA9PT0gXCJEYXRlXCIpIHtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZmlyc3QsIHNlY29uZDtcclxuICAgICAgICAgICAgICAgIGlmIChhW2tleV0gPT0gXCItXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYltrZXldID09IFwiLVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBmaXJzdCA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChhW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHNlY29uZCA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChiW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wYXJlRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShmaXJzdCwgc2Vjb25kLCBpc0FzYyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PSBcInN0YXJ0RW5kVGltZVwiIHx8IGtleSA9PSBcIlRpbWVCYW5kXCIpIHtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgZGF0YVdpdGhvdXRFbXB0eU9ySHlwaGVuVmFsdWVzID0gZGF0YS5maWx0ZXIoKG4pID0+IG5ba2V5XSAhPSBcIi1cIik7XHJcbiAgICAgICAgICAgIGxldCByb3dzV2l0aEh5cGhlbk9yWmVyb1ZhbHVlcyA9IGRhdGEuZmlsdGVyKChuKSA9PiBuW2tleV0gPT0gXCItXCIpO1xyXG5cclxuICAgICAgICAgICAgZGF0YVdpdGhvdXRFbXB0eU9ySHlwaGVuVmFsdWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBkYXRhID0gaXNBc2NcclxuICAgICAgICAgICAgICAgID8gWy4uLnJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzLCAuLi5kYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXNdXHJcbiAgICAgICAgICAgICAgICA6IFsuLi5kYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMsIC4uLnJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGlzQXNjOiBib29sZWFuLCBkYXRhOiBhbnlbXSwga2V5OiBhbnkpIHtcclxuICAgICAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICAgICAgbGV0IHBhcmFtMjogc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiX1wiKSkge1xyXG4gICAgICAgICAgICBsZXQga2V5cyA9IGtleS5zcGxpdChcIl9cIik7XHJcbiAgICAgICAgICAgIGxldCB3ZWVrTnVtYmVyID0ga2V5c1swXTtcclxuICAgICAgICAgICAgbGV0IHNvcnRLZXkgPSBrZXlzWzFdO1xyXG5cclxuICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgICAgICAgc29ydEtleSA9IGtleXNbMl0gPT0gdHJ1ZSA/IFwiQm9va2VkQXVySW5jbHVkaW5nTm9DaGFyZ2VTcG90c1wiIDogXCJCb29rZWRBdXJFeGNsdWRpbmdOb0NoYXJnZVNwb3RzXCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoa2V5KSA9PiBrZXkuc3BsaXQoXCJfXCIpWzFdID09IHdlZWtOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgbGV0IGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhiLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoa2V5KSA9PiBrZXkuc3BsaXQoXCJfXCIpWzFdID09IHdlZWtOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBwYXJhbTIgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGEuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVthSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtzb3J0S2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYkludmVudG9yeUNvZGVXZWVrV2lzZUtleS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYi5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhW2JJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXlbMF1dW3NvcnRLZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PSBcIlRpbWVCYW5kXCIpIHtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmU29ydGluZ0lzQXBwbGllZCh0YWJsZURhdGE6IGFueVtdLCBpc0x1ckFuZENzckNvbXBvbmVudDogYm9vbGVhbikge1xyXG4gICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmNvbHVtblNvcnRTdGF0ZS5lbnRyaWVzKCkpIHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09IFwiQVNDXCIpIHtcclxuICAgICAgICAgICAgICAgIHRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PSBcIkRFU0NcIikge1xyXG4gICAgICAgICAgICAgICAgdGFibGVEYXRhID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5zb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0YWJsZURhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0aW5nKGtleTogc3RyaW5nLCB0ZW1wU29ydE9yZGVyOiBTb3J0VHlwZSwgdGFibGVEYXRhOiBhbnlbXSwgaXNMdXJBbmRDc3JDb21wb25lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGVtcFNvcnRPcmRlciA9PSBcIkFTQ1wiKSB7XHJcbiAgICAgICAgICAgIHRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGVtcFNvcnRPcmRlciA9PSBcIkRFU0NcIikge1xyXG4gICAgICAgICAgICB0YWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5zb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGVtcFNvcnRPcmRlciA9PSBcIkRFRkFVTFRcIikge1xyXG4gICAgICAgICAgICB0YWJsZURhdGEgPSBjbG9uZURlZXAodGhpcy5ub1NvcnRpbmdBcHBsaWVkRGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGFibGVEYXRhO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUU1RSxnQ0FBZ0M7QUFFaEMsaUNBQWlDO0FBS2pDLE1BQU0sT0FBTyxlQUFlO0lBZ0J4QixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWJ4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDZCxTQUFTO1lBQ1QsV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixNQUFNO1lBQ04sYUFBYTtTQUNoQixDQUFDLENBQUM7SUFFd0UsQ0FBQztJQUU1RSwwQ0FBMEMsQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLEdBQVc7UUFDL0UsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUksTUFBdUIsQ0FBQztRQUU1QixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHlC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QUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzsrR0F2TFEsZUFBZTttSEFBZixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHsgU29ydFR5cGUgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtc29ydC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVNvcnRTZXJ2aWNlIHtcclxuICAgIGNvbHVtblNvcnRTdGF0ZTogTWFwPHN0cmluZywgU29ydFR5cGU+O1xyXG4gICAgbm9Tb3J0aW5nQXBwbGllZERhdGE6IGFueVtdO1xyXG4gICAgdXBkYXRlU29ydFR5cGVTdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICAgICBcImVuZERhdGVcIixcclxuICAgICAgICBcInN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZW5kX2RhdGVcIixcclxuICAgICAgICBcInN0YXJ0X2RhdGVcIixcclxuICAgICAgICBcImZsaWdodFN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZmxpZ2h0RW5kRGF0ZVwiLFxyXG4gICAgICAgIFwiZGF0ZVwiLFxyXG4gICAgICAgIFwiR2VuZXJhdGVkT25cIixcclxuICAgIF0pO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZTogQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSkge31cclxuXHJcbiAgICBzb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoaXNBc2M6IGJvb2xlYW4sIGRhdGE6IGFueVtdLCBrZXk6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBwYXJhbTE6IHN0cmluZyB8IG51bWJlcjtcclxuICAgICAgICBsZXQgcGFyYW0yOiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gICAgICAgIGxldCBkYXRhVG9CZVNvcnRlZCA9IGRhdGE7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0ZVNldC5oYXMoa2V5KSkge1xyXG4gICAgICAgICAgICBkYXRhVG9CZVNvcnRlZC5zb3J0KChhLCBiKSA9PiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZURhdGUoYVtrZXldLCBiW2tleV0sIGlzQXNjKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwiQWlyRGF0ZUFuZFRpbWVcIiB8fCBrZXkgPT09IFwiRGF0ZVwiKSB7XHJcbiAgICAgICAgICAgIGRhdGFUb0JlU29ydGVkLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChhW2tleV0gPT09IFwiLVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGJba2V5XSA9PT0gXCItXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdCA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChhW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2Vjb25kID0gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmZvcm1hdERhdGVBbmRISE1NQVRpbWVUb1N0YW5kYXJkRm9ybWF0KGJba2V5XSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wYXJlRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShmaXJzdCwgc2Vjb25kLCBpc0FzYyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY29tcGFyZURhdGU7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcInN0YXJ0RW5kVGltZVwiIHx8IGtleSA9PT0gXCJUaW1lQmFuZFwiKSB7XHJcbiAgICAgICAgICAgIGRhdGFUb0JlU29ydGVkLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpc0FzYykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsyXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBpc0FzY1xyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVBc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZURlc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YVdpdGhvdXRFbXB0eU9ySHlwaGVuVmFsdWVzID0gZGF0YVRvQmVTb3J0ZWQuZmlsdGVyKChuKSA9PiBuW2tleV0gIT09IFwiLVwiKTtcclxuICAgICAgICAgICAgY29uc3Qgcm93c1dpdGhIeXBoZW5Pclplcm9WYWx1ZXMgPSBkYXRhVG9CZVNvcnRlZC5maWx0ZXIoKG4pID0+IG5ba2V5XSA9PT0gXCItXCIpO1xyXG5cclxuICAgICAgICAgICAgZGF0YVdpdGhvdXRFbXB0eU9ySHlwaGVuVmFsdWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBkYXRhVG9CZVNvcnRlZCA9IGlzQXNjXHJcbiAgICAgICAgICAgICAgICA/IFsuLi5yb3dzV2l0aEh5cGhlbk9yWmVyb1ZhbHVlcywgLi4uZGF0YVdpdGhvdXRFbXB0eU9ySHlwaGVuVmFsdWVzXVxyXG4gICAgICAgICAgICAgICAgOiBbLi4uZGF0YVdpdGhvdXRFbXB0eU9ySHlwaGVuVmFsdWVzLCAuLi5yb3dzV2l0aEh5cGhlbk9yWmVyb1ZhbHVlc107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGF0YVRvQmVTb3J0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UoaXNBc2M6IGJvb2xlYW4sIGRhdGE6IGFueVtdLCBrZXk6IGFueSkge1xyXG4gICAgICAgIGxldCBwYXJhbTE6IHN0cmluZyB8IG51bWJlcjtcclxuICAgICAgICBsZXQgcGFyYW0yOiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gICAgICAgIGlmIChrZXkuaW5jbHVkZXMoXCJfXCIpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoXCJfXCIpO1xyXG4gICAgICAgICAgICBjb25zdCB3ZWVrTnVtYmVyID0ga2V5c1swXTtcclxuICAgICAgICAgICAgbGV0IHNvcnRLZXkgPSBrZXlzWzFdO1xyXG5cclxuICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgICAgICAgc29ydEtleSA9IGtleXNbMl0gPT09IFwidHJ1ZVwiID8gXCJCb29rZWRBdXJJbmNsdWRpbmdOb0NoYXJnZVNwb3RzXCIgOiBcIkJvb2tlZEF1ckV4Y2x1ZGluZ05vQ2hhcmdlU3BvdHNcIjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5ID0gT2JqZWN0LmtleXMoYS5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhKS5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgKGludktleSkgPT4gaW52S2V5LnNwbGl0KFwiX1wiKVsxXSA9PT0gd2Vla051bWJlcixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5ID0gT2JqZWN0LmtleXMoYi5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhKS5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgKGludktleSkgPT4gaW52S2V5LnNwbGl0KFwiX1wiKVsxXSA9PT0gd2Vla051bWJlcixcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgcGFyYW0xID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHBhcmFtMiA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBpZiAoYUludmVudG9yeUNvZGVXZWVrV2lzZUtleS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYS5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhW2FJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXlbMF1dW3NvcnRLZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTIgPSBiLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFbYkludmVudG9yeUNvZGVXZWVrV2lzZUtleVswXV1bc29ydEtleV1bMV07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcIlRpbWVCYW5kXCIpIHtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gaXNBc2NcclxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lQXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVEZXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWw7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldO1xyXG4gICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZTb3J0aW5nSXNBcHBsaWVkKHRhYmxlRGF0YTogYW55W10sIGlzTHVyQW5kQ3NyQ29tcG9uZW50OiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IHNvcnRlZFRhYmxlRGF0YSA9IHRhYmxlRGF0YTtcclxuICAgICAgICB0aGlzLmNvbHVtblNvcnRTdGF0ZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJBU0NcIikge1xyXG4gICAgICAgICAgICAgICAgc29ydGVkVGFibGVEYXRhID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5zb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZSh0cnVlLCB0YWJsZURhdGEsIGtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZSh0cnVlLCB0YWJsZURhdGEsIGtleSksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBcIkRFU0NcIikge1xyXG4gICAgICAgICAgICAgICAgc29ydGVkVGFibGVEYXRhID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5zb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNvcnRlZFRhYmxlRGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNvcnRpbmcoa2V5OiBzdHJpbmcsIHRlbXBTb3J0T3JkZXI6IFNvcnRUeXBlLCB0YWJsZURhdGE6IGFueVtdLCBpc0x1ckFuZENzckNvbXBvbmVudDogYm9vbGVhbikge1xyXG4gICAgICAgIGxldCBzb3J0ZWRUYWJsZURhdGEgPSB0YWJsZURhdGE7XHJcbiAgICAgICAgaWYgKHRlbXBTb3J0T3JkZXIgPT09IFwiQVNDXCIpIHtcclxuICAgICAgICAgICAgc29ydGVkVGFibGVEYXRhID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgICAgICAgaXNMdXJBbmRDc3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZSh0cnVlLCB0YWJsZURhdGEsIGtleSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0ZW1wU29ydE9yZGVyID09PSBcIkRFU0NcIikge1xyXG4gICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5zb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGVtcFNvcnRPcmRlciA9PT0gXCJERUZBVUxUXCIpIHtcclxuICAgICAgICAgICAgc29ydGVkVGFibGVEYXRhID0gY2xvbmVEZWVwKHRoaXMubm9Tb3J0aW5nQXBwbGllZERhdGEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHNvcnRlZFRhYmxlRGF0YTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,48 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/* eslint-disable max-len */
|
|
2
|
+
import { ScrollingModule } from "@angular/cdk/scrolling";
|
|
3
3
|
import { CommonModule } from "@angular/common";
|
|
4
|
+
import { NgModule } from "@angular/core";
|
|
4
5
|
import { FormsModule } from "@angular/forms";
|
|
5
|
-
import { MatRadioModule } from "@angular/material/radio";
|
|
6
6
|
import { MatButtonToggleModule } from "@angular/material/button-toggle";
|
|
7
|
+
import { MatRadioModule } from "@angular/material/radio";
|
|
7
8
|
import { MatTableModule } from "@angular/material/table";
|
|
8
|
-
import { ScrollingModule } from "@angular/cdk/scrolling";
|
|
9
|
-
// Third party import statements
|
|
10
|
-
import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
|
|
11
9
|
import { NgxSliderModule } from "@angular-slider/ngx-slider";
|
|
12
|
-
import {
|
|
10
|
+
import { NgbModule } from "@ng-bootstrap/ng-bootstrap";
|
|
13
11
|
import { NgCircleProgressModule } from "ng-circle-progress";
|
|
14
|
-
|
|
15
|
-
import { AnnaFilterSearchedTextPipe } from "./anna-core-shared-lib/pipes/annaFilterSearchedText.pipe";
|
|
16
|
-
import { AnnaNoDataComponent } from "./anna-core-shared-lib/components/anna-no-data/anna-no-data.component";
|
|
17
|
-
import { AnnaIconColumnComponent } from "./anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component";
|
|
12
|
+
import { NgxSkeletonLoaderModule } from "ngx-skeleton-loader";
|
|
18
13
|
import { AnnaBuyerApprovalIconTemplateComponent } from "./anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component";
|
|
14
|
+
import { AnnaDeletedOrderIconTemplateComponent } from "./anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component";
|
|
15
|
+
import { AnnaEstIconTemplateComponent } from "./anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component";
|
|
16
|
+
import { AnnaIconColumnComponent } from "./anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component";
|
|
19
17
|
import { AnnaLiveIconTemplateComponent } from "./anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component";
|
|
18
|
+
import { AnnaNoDataComponent } from "./anna-core-shared-lib/components/anna-no-data/anna-no-data.component";
|
|
20
19
|
import { AnnaNotifyIconTemplateComponent } from "./anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component";
|
|
21
20
|
import { AnnaPayForPerformanceIconTemplateComponent } from "./anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component";
|
|
22
21
|
import { AnnaRejectedIconTemplateComponent } from "./anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component";
|
|
23
|
-
import {
|
|
22
|
+
import { DigitOnlyDirective } from "./anna-core-shared-lib/directives/digits-only/digits-only.directive";
|
|
23
|
+
import { FixedRowsPopupTableDirective } from "./anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive";
|
|
24
|
+
import { ShowEllipsisTextOnHoverDirective } from "./anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive";
|
|
25
|
+
import { AnnaConvertArrayToCommaSeperatedValue } from "./anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe";
|
|
24
26
|
import { AnnaConvertZeroOrNullOrUndefinedPipe } from "./anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe";
|
|
25
|
-
|
|
26
|
-
import {
|
|
27
|
-
import { AnnaCalendarFilterComponent } from "./anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component";
|
|
28
|
-
//Anna-generic-table User defined import statements
|
|
29
|
-
import { AnnaNonEditableGenericTableComponent } from "./anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component";
|
|
30
|
-
import { AnnaSortComponent } from "./anna-generic-table-lib/components/anna-sort/anna-sort.component";
|
|
31
|
-
import { AnnaTableVirtualScrollViewportComponent } from "./anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component";
|
|
32
|
-
import { AnnaFixedRowSizeTableVirtualScrollStrategyDirective } from "./anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy";
|
|
33
|
-
import { AnnaVirtualTableDirective } from "./anna-generic-table-lib/directives/anna-virtual-table";
|
|
34
|
-
import { AnnaTypeofDataPipe } from "./anna-core-shared-lib/pipes/annaTypeOfData.pipe";
|
|
27
|
+
import { AnnaDateFormatterPipe } from "./anna-core-shared-lib/pipes/annaDateFormatter.pipe";
|
|
28
|
+
import { AnnaFilterSearchedTextPipe } from "./anna-core-shared-lib/pipes/annaFilterSearchedText.pipe";
|
|
35
29
|
import { AnnaReplaceCharPipe } from "./anna-core-shared-lib/pipes/annaReplaceChar.pipe";
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
30
|
+
import { AnnaTypeofDataPipe } from "./anna-core-shared-lib/pipes/annaTypeOfData.pipe";
|
|
31
|
+
import { AnnaCalendarFilterComponent } from "./anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component";
|
|
32
|
+
import { AnnaWeekCalendarComponent } from "./anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component";
|
|
38
33
|
import { AnnaColumnCheckboxFilterComponent } from "./anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component";
|
|
39
|
-
import {
|
|
40
|
-
import { AnnaDeletedOrderIconTemplateComponent } from "./anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component";
|
|
34
|
+
import { AnnaColumnDateRangeFilterComponent } from "./anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component";
|
|
41
35
|
import { AnnaColumnSliderFilterComponent } from "./anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component";
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import { AnnaEstIconTemplateComponent } from "./anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component";
|
|
36
|
+
import { AnnaColumnTimeFilterComponent } from "./anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component";
|
|
37
|
+
import { AnnaNonEditableGenericTableComponent } from "./anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component";
|
|
38
|
+
import { AnnaSortComponent } from "./anna-generic-table-lib/components/anna-sort/anna-sort.component";
|
|
46
39
|
import * as i0 from "@angular/core";
|
|
47
40
|
import * as i1 from "ng-circle-progress";
|
|
48
41
|
export class AnnaCoreModule {
|
|
@@ -66,15 +59,12 @@ export class AnnaCoreModule {
|
|
|
66
59
|
AnnaNotifyIconTemplateComponent,
|
|
67
60
|
AnnaPayForPerformanceIconTemplateComponent,
|
|
68
61
|
AnnaRejectedIconTemplateComponent,
|
|
69
|
-
|
|
62
|
+
ShowEllipsisTextOnHoverDirective,
|
|
70
63
|
AnnaIconColumnComponent,
|
|
71
64
|
AnnaWeekCalendarComponent,
|
|
72
65
|
AnnaCalendarFilterComponent,
|
|
73
66
|
AnnaSortComponent,
|
|
74
|
-
AnnaVirtualTableDirective,
|
|
75
67
|
AnnaNonEditableGenericTableComponent,
|
|
76
|
-
AnnaTableVirtualScrollViewportComponent,
|
|
77
|
-
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
78
68
|
DigitOnlyDirective,
|
|
79
69
|
AnnaColumnDateRangeFilterComponent,
|
|
80
70
|
AnnaColumnTimeFilterComponent,
|
|
@@ -95,18 +85,15 @@ export class AnnaCoreModule {
|
|
|
95
85
|
AnnaNotifyIconTemplateComponent,
|
|
96
86
|
AnnaPayForPerformanceIconTemplateComponent,
|
|
97
87
|
AnnaRejectedIconTemplateComponent,
|
|
98
|
-
|
|
88
|
+
ShowEllipsisTextOnHoverDirective,
|
|
99
89
|
AnnaIconColumnComponent,
|
|
100
90
|
AnnaWeekCalendarComponent,
|
|
101
91
|
AnnaCalendarFilterComponent,
|
|
102
92
|
AnnaSortComponent,
|
|
103
|
-
AnnaVirtualTableDirective,
|
|
104
93
|
AnnaNonEditableGenericTableComponent,
|
|
105
|
-
AnnaTableVirtualScrollViewportComponent,
|
|
106
94
|
AnnaColumnDateRangeFilterComponent,
|
|
107
95
|
AnnaColumnTimeFilterComponent,
|
|
108
96
|
AnnaColumnCheckboxFilterComponent,
|
|
109
|
-
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
110
97
|
DigitOnlyDirective,
|
|
111
98
|
AnnaDeletedOrderIconTemplateComponent,
|
|
112
99
|
AnnaColumnSliderFilterComponent,
|
|
@@ -170,15 +157,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
170
157
|
AnnaNotifyIconTemplateComponent,
|
|
171
158
|
AnnaPayForPerformanceIconTemplateComponent,
|
|
172
159
|
AnnaRejectedIconTemplateComponent,
|
|
173
|
-
|
|
160
|
+
ShowEllipsisTextOnHoverDirective,
|
|
174
161
|
AnnaIconColumnComponent,
|
|
175
162
|
AnnaWeekCalendarComponent,
|
|
176
163
|
AnnaCalendarFilterComponent,
|
|
177
164
|
AnnaSortComponent,
|
|
178
|
-
AnnaVirtualTableDirective,
|
|
179
165
|
AnnaNonEditableGenericTableComponent,
|
|
180
|
-
AnnaTableVirtualScrollViewportComponent,
|
|
181
|
-
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
182
166
|
DigitOnlyDirective,
|
|
183
167
|
AnnaColumnDateRangeFilterComponent,
|
|
184
168
|
AnnaColumnTimeFilterComponent,
|
|
@@ -202,18 +186,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
202
186
|
AnnaNotifyIconTemplateComponent,
|
|
203
187
|
AnnaPayForPerformanceIconTemplateComponent,
|
|
204
188
|
AnnaRejectedIconTemplateComponent,
|
|
205
|
-
|
|
189
|
+
ShowEllipsisTextOnHoverDirective,
|
|
206
190
|
AnnaIconColumnComponent,
|
|
207
191
|
AnnaWeekCalendarComponent,
|
|
208
192
|
AnnaCalendarFilterComponent,
|
|
209
193
|
AnnaSortComponent,
|
|
210
|
-
AnnaVirtualTableDirective,
|
|
211
194
|
AnnaNonEditableGenericTableComponent,
|
|
212
|
-
AnnaTableVirtualScrollViewportComponent,
|
|
213
195
|
AnnaColumnDateRangeFilterComponent,
|
|
214
196
|
AnnaColumnTimeFilterComponent,
|
|
215
197
|
AnnaColumnCheckboxFilterComponent,
|
|
216
|
-
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
217
198
|
DigitOnlyDirective,
|
|
218
199
|
AnnaDeletedOrderIconTemplateComponent,
|
|
219
200
|
AnnaColumnSliderFilterComponent,
|
|
@@ -223,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
223
204
|
],
|
|
224
205
|
}]
|
|
225
206
|
}] });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUhBQWlILENBQUM7QUFDekssT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkZBQTZGLENBQUM7QUFDNUks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dCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9yYWRpb1wiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZVwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xyXG5cclxuLy8gVGhpcmQgcGFydHkgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IE5neFNsaWRlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci1zbGlkZXIvbmd4LXNsaWRlclwiO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gXCJuZ3gtc2tlbGV0b24tbG9hZGVyXCI7XHJcbmltcG9ydCB7IE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tIFwibmctY2lyY2xlLXByb2dyZXNzXCI7XHJcblxyXG4vL0FubmEtY29yZSBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hRmlsdGVyU2VhcmNoZWRUZXh0LnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYU5vRGF0YUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1uby1kYXRhL2FubmEtbm8tZGF0YS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUljb25Db2x1bW5Db21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUJ1eWVyQXBwcm92YWxJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtYnV5ZXItYXBwcm92YWwtaWNvbi10ZW1wbGF0ZS9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1ub3RpZnktaWNvbi10ZW1wbGF0ZS9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtcGF5LWZvci1wZXJmb3JtYW5jZS1pY29uLXRlbXBsYXRlL2FubmEtcGF5LWZvci1wZXJmb3JtYW5jZS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS9hbm5hLXJlamVjdGVkLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IHNob3dFbGxpcHNpc1RleHRPbkhvdmVyRGlyZWN0aXZlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9zaG93LWVsbGlwc2lzLXRleHQvc2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBBbm5hQ29udmVydFplcm9Pck51bGxPclVuZGVmaW5lZFBpcGUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hQ29udmVydFplcm9Pck51bGxPclVuZGVmaW5lZC5waXBlXCI7XHJcblxyXG4vL0FubmEtZHJvcGRvd24tbGliIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBBbm5hV2Vla0NhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS1jYWxlbmRhci1maWx0ZXIvYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50XCI7XHJcblxyXG4vL0FubmEtZ2VuZXJpYy10YWJsZSBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgQW5uYU5vbkVkaXRhYmxlR2VuZXJpY1RhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtbm9uLWVkaXRhYmxlLWdlbmVyaWMtdGFibGUvYW5uYS1ub24tZWRpdGFibGUtZ2VuZXJpYy10YWJsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1zb3J0L2FubmEtc29ydC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYVRhYmxlVmlydHVhbFNjcm9sbFZpZXdwb3J0Q29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtdGFibGUtdmlydHVhbC1zY3JvbGwtdmlld3BvcnQvYW5uYS10YWJsZS12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUZpeGVkUm93U2l6ZVRhYmxlVmlydHVhbFNjcm9sbFN0cmF0ZWd5RGlyZWN0aXZlIH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9kaXJlY3RpdmVzL2FubmEtZml4ZWQtcm93LXNpemUtdGFibGUtdmlydHVhbC1zY3JvbGwtc3RyYXRlZ3lcIjtcclxuaW1wb3J0IHsgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvZGlyZWN0aXZlcy9hbm5hLXZpcnR1YWwtdGFibGVcIjtcclxuaW1wb3J0IHsgQW5uYVR5cGVvZkRhdGFQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYVR5cGVPZkRhdGEucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hUmVwbGFjZUNoYXJQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYVJlcGxhY2VDaGFyLnBpcGVcIjtcclxuaW1wb3J0IHsgRGlnaXRPbmx5RGlyZWN0aXZlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQW5uYUNvbHVtbkRhdGVSYW5nZUZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLWNvbHVtbi1maWx0ZXJzL2FubmEtY29sdW1uLWRhdGUtcmFuZ2UtZmlsdGVyL2FubmEtY29sdW1uLWRhdGUtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hQ29sdW1uQ2hlY2tib3hGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1jb2x1bW4tZmlsdGVycy9hbm5hLWNvbHVtbi1jaGVja2JveC1maWx0ZXIvYW5uYS1jb2x1bW4tY2hlY2tib3gtZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hQ29sdW1uVGltZUZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLWNvbHVtbi1maWx0ZXJzL2FubmEtY29sdW1uLXRpbWUtZmlsdGVyL2FubmEtY29sdW1uLXRpbWUtZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWRlbGV0ZWQtb3JkZXItaWNvbi10ZW1wbGF0ZS9hbm5hLWRlbGV0ZWQtb3JkZXItaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUNvbHVtblNsaWRlckZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLWNvbHVtbi1maWx0ZXJzL2FubmEtY29sdW1uLXNsaWRlci1maWx0ZXIvYW5uYS1jb2x1bW4tc2xpZGVyLWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYURhdGVGb3JtYXR0ZXJQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYURhdGVGb3JtYXR0ZXIucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hQ29udmVydEFycmF5VG9Db21tYVNlcGVyYXRlZFZhbHVlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZS5waXBlXCI7XHJcbmltcG9ydCB7IEZpeGVkUm93c1BvcHVwVGFibGVEaXJlY3RpdmUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL2ZpeGVkLXJvd3MtcG9wdXAtdGFibGUvZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQW5uYUVzdEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZS9hbm5hLWVzdC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgTmdiTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICAgICAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgICAgICBOZ3hTbGlkZXJNb2R1bGUsXHJcbiAgICAgICAgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUsXHJcbiAgICAgICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgICAgIE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgICAgICAgIHJhZGl1czogMTAwLFxyXG4gICAgICAgICAgICBvdXRlclN0cm9rZVdpZHRoOiAxNixcclxuICAgICAgICAgICAgaW5uZXJTdHJva2VXaWR0aDogOCxcclxuICAgICAgICAgICAgb3V0ZXJTdHJva2VDb2xvcjogXCIjNzhDMDAwXCIsXHJcbiAgICAgICAgICAgIGlubmVyU3Ryb2tlQ29sb3I6IFwiI0M3RTU5NlwiLFxyXG4gICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogMzAwLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICAgICAgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlLFxyXG4gICAgICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgICAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgICAgICBBbm5hUmVwbGFjZUNoYXJQaXBlLFxyXG4gICAgICAgIEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVBheUZvclBlcmZvcm1hbmNlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFSZWplY3RlZEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBzaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hSWNvbkNvbHVtbkNvbXBvbmVudCxcclxuICAgICAgICBBbm5hV2Vla0NhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hU29ydENvbXBvbmVudCxcclxuICAgICAgICBBbm5hVmlydHVhbFRhYmxlRGlyZWN0aXZlLFxyXG4gICAgICAgIEFubmFOb25FZGl0YWJsZUdlbmVyaWNUYWJsZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hVGFibGVWaXJ0dWFsU2Nyb2xsVmlld3BvcnRDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUZpeGVkUm93U2l6ZVRhYmxlVmlydHVhbFNjcm9sbFN0cmF0ZWd5RGlyZWN0aXZlLFxyXG4gICAgICAgIERpZ2l0T25seURpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hQ29sdW1uRGF0ZVJhbmdlRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5UaW1lRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5DaGVja2JveEZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5TbGlkZXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYURhdGVGb3JtYXR0ZXJQaXBlLFxyXG4gICAgICAgIEFubmFDb252ZXJ0QXJyYXlUb0NvbW1hU2VwZXJhdGVkVmFsdWUsXHJcbiAgICAgICAgRml4ZWRSb3dzUG9wdXBUYWJsZURpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hRXN0SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBBbm5hTm9EYXRhQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkUGlwZSxcclxuICAgICAgICBBbm5hVHlwZW9mRGF0YVBpcGUsXHJcbiAgICAgICAgQW5uYVJlcGxhY2VDaGFyUGlwZSxcclxuICAgICAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgICAgICBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTm90aWZ5SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgc2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYUljb25Db2x1bW5Db21wb25lbnQsXHJcbiAgICAgICAgQW5uYVdlZWtDYWxlbmRhckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ2FsZW5kYXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVNvcnRDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVZpcnR1YWxUYWJsZURpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVRhYmxlVmlydHVhbFNjcm9sbFZpZXdwb3J0Q29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDb2x1bW5EYXRlUmFuZ2VGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtblRpbWVGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtbkNoZWNrYm94RmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFGaXhlZFJvd1NpemVUYWJsZVZpcnR1YWxTY3JvbGxTdHJhdGVneURpcmVjdGl2ZSxcclxuICAgICAgICBEaWdpdE9ubHlEaXJlY3RpdmUsXHJcbiAgICAgICAgQW5uYURlbGV0ZWRPcmRlckljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uU2xpZGVyRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFEYXRlRm9ybWF0dGVyUGlwZSxcclxuICAgICAgICBBbm5hQ29udmVydEFycmF5VG9Db21tYVNlcGVyYXRlZFZhbHVlLFxyXG4gICAgICAgIEZpeGVkUm93c1BvcHVwVGFibGVEaXJlY3RpdmUsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNvcmVNb2R1bGUge31cclxuIl19
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGlIQUFpSCxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtHQUErRyxDQUFDO0FBQ3RLLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJGQUEyRixDQUFDO0FBQ3pJLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZGQUE2RixDQUFDO0FBQzVJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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Q3BDLGtCQUFrQjt3QkFDbEIsa0NBQWtDO3dCQUNsQyw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMscUNBQXFDO3dCQUNyQywrQkFBK0I7d0JBQy9CLHFCQUFxQjt3QkFDckIscUNBQXFDO3dCQUNyQyw0QkFBNEI7d0JBQzVCLDRCQUE0QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQixvQ0FBb0M7d0JBQ3BDLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLHNDQUFzQzt3QkFDdEMsNkJBQTZCO3dCQUM3QiwrQkFBK0I7d0JBQy9CLDBDQUEwQzt3QkFDMUMsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLGlCQUFpQjt3QkFDakIsb0NBQW9DO3dCQUNwQyxrQ0FBa0M7d0JBQ2xDLDZCQUE2Qjt3QkFDN0IsaUNBQWlDO3dCQUNqQyxrQkFBa0I7d0JBQ2xCLHFDQUFxQzt3QkFDckMsK0JBQStCO3dCQUMvQixxQkFBcUI7d0JBQ3JCLHFDQUFxQzt3QkFDckMsNEJBQTRCO3FCQUMvQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cclxuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlXCI7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3JhZGlvXCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE5neFNsaWRlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci1zbGlkZXIvbmd4LXNsaWRlclwiO1xyXG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgTmdDaXJjbGVQcm9ncmVzc01vZHVsZSB9IGZyb20gXCJuZy1jaXJjbGUtcHJvZ3Jlc3NcIjtcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tIFwibmd4LXNrZWxldG9uLWxvYWRlclwiO1xyXG5cclxuaW1wb3J0IHsgQW5uYUJ1eWVyQXBwcm92YWxJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtYnV5ZXItYXBwcm92YWwtaWNvbi10ZW1wbGF0ZS9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFEZWxldGVkT3JkZXJJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtZGVsZXRlZC1vcmRlci1pY29uLXRlbXBsYXRlL2FubmEtZGVsZXRlZC1vcmRlci1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hRXN0SWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWVzdC1pY29uLXRlbXBsYXRlL2FubmEtZXN0LWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFJY29uQ29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWljb24tY29sdW1uL2FubmEtaWNvbi1jb2x1bW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYU5vRGF0YUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1uby1kYXRhL2FubmEtbm8tZGF0YS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2NvbXBvbmVudHMvYW5uYS1ub3RpZnktaWNvbi10ZW1wbGF0ZS9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtcGF5LWZvci1wZXJmb3JtYW5jZS1pY29uLXRlbXBsYXRlL2FubmEtcGF5LWZvci1wZXJmb3JtYW5jZS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS9hbm5hLXJlamVjdGVkLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERpZ2l0T25seURpcmVjdGl2ZSB9IGZyb20gXCIuL2FubmEtY29yZS1zaGFyZWQtbGliL2RpcmVjdGl2ZXMvZGlnaXRzLW9ubHkvZGlnaXRzLW9ubHkuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEZpeGVkUm93c1BvcHVwVGFibGVEaXJlY3RpdmUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL2ZpeGVkLXJvd3MtcG9wdXAtdGFibGUvZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL3Nob3ctZWxsaXBzaXMtdGV4dC9zaG93LWVsbGlwc2lzLXRleHQuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEFubmFDb252ZXJ0QXJyYXlUb0NvbW1hU2VwZXJhdGVkVmFsdWUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hQ29udmVydEFycmF5VG9Db21tYVNlcGVyYXRlZFZhbHVlLnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWQucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZUZvcm1hdHRlclBpcGUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hRGF0ZUZvcm1hdHRlci5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlIH0gZnJvbSBcIi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFSZXBsYWNlQ2hhclBpcGUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hUmVwbGFjZUNoYXIucGlwZVwiO1xyXG5pbXBvcnQgeyBBbm5hVHlwZW9mRGF0YVBpcGUgfSBmcm9tIFwiLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hVHlwZU9mRGF0YS5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS1jYWxlbmRhci1maWx0ZXIvYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUNvbHVtbkNoZWNrYm94RmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tY2hlY2tib3gtZmlsdGVyL2FubmEtY29sdW1uLWNoZWNrYm94LWZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUNvbHVtbkRhdGVSYW5nZUZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLWNvbHVtbi1maWx0ZXJzL2FubmEtY29sdW1uLWRhdGUtcmFuZ2UtZmlsdGVyL2FubmEtY29sdW1uLWRhdGUtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hQ29sdW1uU2xpZGVyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vYW5uYS1nZW5lcmljLXRhYmxlLWxpYi9jb21wb25lbnRzL2FubmEtY29sdW1uLWZpbHRlcnMvYW5uYS1jb2x1bW4tc2xpZGVyLWZpbHRlci9hbm5hLWNvbHVtbi1zbGlkZXItZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hQ29sdW1uVGltZUZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLWNvbHVtbi1maWx0ZXJzL2FubmEtY29sdW1uLXRpbWUtZmlsdGVyL2FubmEtY29sdW1uLXRpbWUtZmlsdGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL2NvbXBvbmVudHMvYW5uYS1ub24tZWRpdGFibGUtZ2VuZXJpYy10YWJsZS9hbm5hLW5vbi1lZGl0YWJsZS1nZW5lcmljLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hU29ydENvbXBvbmVudCB9IGZyb20gXCIuL2FubmEtZ2VuZXJpYy10YWJsZS1saWIvY29tcG9uZW50cy9hbm5hLXNvcnQvYW5uYS1zb3J0LmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgTmdiTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICAgICAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgICAgICBOZ3hTbGlkZXJNb2R1bGUsXHJcbiAgICAgICAgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUsXHJcbiAgICAgICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgICAgIE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgICAgICAgIHJhZGl1czogMTAwLFxyXG4gICAgICAgICAgICBvdXRlclN0cm9rZVdpZHRoOiAxNixcclxuICAgICAgICAgICAgaW5uZXJTdHJva2VXaWR0aDogOCxcclxuICAgICAgICAgICAgb3V0ZXJTdHJva2VDb2xvcjogXCIjNzhDMDAwXCIsXHJcbiAgICAgICAgICAgIGlubmVyU3Ryb2tlQ29sb3I6IFwiI0M3RTU5NlwiLFxyXG4gICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogMzAwLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICAgICAgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlLFxyXG4gICAgICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgICAgICBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgICAgICBBbm5hUmVwbGFjZUNoYXJQaXBlLFxyXG4gICAgICAgIEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVBheUZvclBlcmZvcm1hbmNlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFSZWplY3RlZEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBTaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hSWNvbkNvbHVtbkNvbXBvbmVudCxcclxuICAgICAgICBBbm5hV2Vla0NhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hU29ydENvbXBvbmVudCxcclxuICAgICAgICBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQsXHJcbiAgICAgICAgRGlnaXRPbmx5RGlyZWN0aXZlLFxyXG4gICAgICAgIEFubmFDb2x1bW5EYXRlUmFuZ2VGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtblRpbWVGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtbkNoZWNrYm94RmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFEZWxldGVkT3JkZXJJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtblNsaWRlckZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRGF0ZUZvcm1hdHRlclBpcGUsXHJcbiAgICAgICAgQW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZSxcclxuICAgICAgICBGaXhlZFJvd3NQb3B1cFRhYmxlRGlyZWN0aXZlLFxyXG4gICAgICAgIEFubmFFc3RJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEFubmFOb0RhdGFDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICAgICAgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlLFxyXG4gICAgICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgICAgICBBbm5hUmVwbGFjZUNoYXJQaXBlLFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFMaXZlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVBheUZvclBlcmZvcm1hbmNlSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFSZWplY3RlZEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBTaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSxcclxuICAgICAgICBBbm5hSWNvbkNvbHVtbkNvbXBvbmVudCxcclxuICAgICAgICBBbm5hV2Vla0NhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFDYWxlbmRhckZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hU29ydENvbXBvbmVudCxcclxuICAgICAgICBBbm5hTm9uRWRpdGFibGVHZW5lcmljVGFibGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtbkRhdGVSYW5nZUZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uVGltZUZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQ29sdW1uQ2hlY2tib3hGaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgRGlnaXRPbmx5RGlyZWN0aXZlLFxyXG4gICAgICAgIEFubmFEZWxldGVkT3JkZXJJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUNvbHVtblNsaWRlckZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRGF0ZUZvcm1hdHRlclBpcGUsXHJcbiAgICAgICAgQW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZSxcclxuICAgICAgICBGaXhlZFJvd3NQb3B1cFRhYmxlRGlyZWN0aXZlLFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFDb3JlTW9kdWxlIHt9XHJcbiJdfQ==
|