@techextensor/tab-core-utility 2.2.190 → 2.2.191
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/index.mjs +1 -5
- package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +15 -31
- package/esm2022/lib/tab-core-utility/app/constants/common.mjs +50 -14
- package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +2 -2
- package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +54 -41
- package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +30 -84
- package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +12 -141
- package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +35 -136
- package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +38 -89
- package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +129 -159
- package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +19 -26
- package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +11 -9
- package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +13 -13
- package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +45 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +76 -79
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +4 -8
- package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +33 -8
- package/esm2022/lib/tab-core-utility/app/interfaces/common.interface.mjs +1 -1
- package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +1 -39
- package/esm2022/lib/tab-core-utility/app/models/app-field.model.mjs +7 -36
- package/esm2022/lib/tab-core-utility/app/models/app-object.model.mjs +47 -84
- package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +13 -24
- package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +23 -57
- package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +10 -21
- package/esm2022/lib/tab-core-utility/app/models/parameter.model.mjs +6 -12
- package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +4 -11
- package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +16 -17
- package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +55 -1
- package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +164 -1
- package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +1 -78
- package/index.d.ts +0 -4
- package/lib/tab-core-utility/app/constants/api-constants.d.ts +12 -19
- package/lib/tab-core-utility/app/constants/common.d.ts +0 -9
- package/lib/tab-core-utility/app/constants/storage-constants.d.ts +1 -1
- package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +1 -8
- package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +10 -20
- package/lib/tab-core-utility/app/crud/tab-formio.service.d.ts +6 -33
- package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +3 -45
- package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +21 -16
- package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +19 -34
- package/lib/tab-core-utility/app/enums/query.enum.d.ts +6 -3
- package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +8 -5
- package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +0 -3
- package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +3 -3
- package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +51 -7
- package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -1
- package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +1 -2
- package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -1
- package/lib/tab-core-utility/app/interfaces/common.interface.d.ts +2 -51
- package/lib/tab-core-utility/app/models/api-query.class.d.ts +9 -54
- package/lib/tab-core-utility/app/models/app-field.model.d.ts +2 -4
- package/lib/tab-core-utility/app/models/app-object.model.d.ts +3 -5
- package/lib/tab-core-utility/app/models/app-screen.model.d.ts +2 -2
- package/lib/tab-core-utility/app/models/data-source-query.model.d.ts +2 -7
- package/lib/tab-core-utility/app/models/filter.model.d.ts +2 -2
- package/lib/tab-core-utility/app/models/parameter.model.d.ts +2 -2
- package/lib/tab-core-utility/app/models/sort.model.d.ts +1 -1
- package/lib/tab-core-utility/app/utils/json.util.d.ts +2 -3
- package/lib/tab-core-utility/app/utils/req-res.util.d.ts +9 -1
- package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +61 -0
- package/lib/tab-core-utility/core/http-client/api.service.d.ts +0 -46
- package/package.json +2 -3
- package/esm2022/lib/tab-core-utility/app/helpers/response.adapter.mjs +0 -38
- package/esm2022/lib/tab-core-utility/app/interfaces/signalr.interface.mjs +0 -42
- package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +0 -90
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +0 -268
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +0 -207
- package/lib/tab-core-utility/app/helpers/response.adapter.d.ts +0 -22
- package/lib/tab-core-utility/app/interfaces/signalr.interface.d.ts +0 -84
- package/lib/tab-core-utility/core/service/signalr/operation-tracker.service.d.ts +0 -40
- package/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.d.ts +0 -73
- package/lib/tab-core-utility/core/service/signalr/signalr.service.d.ts +0 -122
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DataSourceQueryFieldType } from '../enums/dsq.enum';
|
|
2
1
|
import { FilterModel } from './filter.model';
|
|
3
2
|
import { ParameterModel } from './parameter.model';
|
|
4
3
|
import { SortModel } from './sort.model';
|
|
@@ -11,51 +10,33 @@ export class DataSourceQueryModel {
|
|
|
11
10
|
this.cachedParameters = [];
|
|
12
11
|
this.cachedFilters = [];
|
|
13
12
|
this.cachedSorts = [];
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.parsedConfiguration = this.parseConfiguration(raw?.configurations);
|
|
21
|
-
this.FilterLogic = this.parsedConfiguration?.Filters?.FilterLogic ?? null;
|
|
22
|
-
}
|
|
23
|
-
parseConfiguration(config) {
|
|
24
|
-
try {
|
|
25
|
-
return typeof config === 'string' ? JSON.parse(config) : (config ?? {});
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
return {};
|
|
29
|
-
}
|
|
13
|
+
this.ID = raw.ID;
|
|
14
|
+
this.ObjectID = raw.ObjectID;
|
|
15
|
+
this.ObjectID_Tosave = raw.ObjectID_Tosave;
|
|
16
|
+
this.QueryName = raw.QueryName;
|
|
17
|
+
this.DisplayName = raw.DisplayName;
|
|
18
|
+
this.FilterLogic = raw.FilterLogic;
|
|
30
19
|
}
|
|
31
20
|
/**
|
|
32
21
|
* Gets the fields for the data source query. The fields are enriched with the corresponding `AppFieldModel` objects.
|
|
33
|
-
* Handles both old format (array of objects) and new format (array of field ID strings).
|
|
34
22
|
* @returns {DataSourceQueries_Fields[]} The array of enriched fields.
|
|
35
23
|
*/
|
|
36
24
|
fields() {
|
|
37
25
|
if (!this.enrichedFields?.length) {
|
|
38
|
-
const rawFields = this.
|
|
26
|
+
const rawFields = this.raw?.Fields;
|
|
39
27
|
if (rawFields?.length) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const fieldId = field;
|
|
28
|
+
// Enrich the fields by mapping each field to the corresponding `AppFieldModel` object.
|
|
29
|
+
this.enrichedFields = rawFields.map((field) => {
|
|
43
30
|
let fieldModel;
|
|
44
31
|
// First try to find the field in the parent object
|
|
45
|
-
fieldModel = this.parentAppObject
|
|
32
|
+
fieldModel = this.parentAppObject.field(field.AppFieldID);
|
|
46
33
|
// If not found and metadataHelper is available, search across all objects
|
|
47
34
|
if (!fieldModel && this.metadataHelper) {
|
|
48
|
-
fieldModel = this.metadataHelper.getFieldByIdOrName(
|
|
35
|
+
fieldModel = this.metadataHelper.getFieldByIdOrName(field.AppFieldID);
|
|
49
36
|
}
|
|
50
|
-
// Build the enriched field object
|
|
51
|
-
// New format: construct the full object from field model
|
|
52
37
|
return {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
SeqNo: index + 1,
|
|
56
|
-
FieldType: field.includes('.') ? DataSourceQueryFieldType.LookupField : DataSourceQueryFieldType.EntityField,
|
|
57
|
-
FieldDetails: field,
|
|
58
|
-
LookupDetails: field,
|
|
38
|
+
...field,
|
|
39
|
+
// The `Field` property contains the corresponding `AppFieldModel` object.
|
|
59
40
|
Field: fieldModel
|
|
60
41
|
};
|
|
61
42
|
});
|
|
@@ -82,9 +63,9 @@ export class DataSourceQueryModel {
|
|
|
82
63
|
*/
|
|
83
64
|
parameters() {
|
|
84
65
|
// Check if parameters have already been cached
|
|
85
|
-
if (!this.cachedParameters
|
|
66
|
+
if (!this.cachedParameters) {
|
|
86
67
|
// Map raw parameters to ParameterModel instances and cache them
|
|
87
|
-
this.cachedParameters = (this.
|
|
68
|
+
this.cachedParameters = (this.raw?.Parameters || []).map((p) => new ParameterModel(p));
|
|
88
69
|
}
|
|
89
70
|
return this.cachedParameters;
|
|
90
71
|
}
|
|
@@ -110,9 +91,9 @@ export class DataSourceQueryModel {
|
|
|
110
91
|
*/
|
|
111
92
|
filters() {
|
|
112
93
|
// Check if filters have already been cached
|
|
113
|
-
if (!this.cachedFilters
|
|
94
|
+
if (!this.cachedFilters) {
|
|
114
95
|
// Map raw filters to FilterModel instances and cache them
|
|
115
|
-
this.cachedFilters = (this.
|
|
96
|
+
this.cachedFilters = (this.raw.Filters?.Filters || []).map((f) => new FilterModel(f));
|
|
116
97
|
}
|
|
117
98
|
return this.cachedFilters;
|
|
118
99
|
}
|
|
@@ -122,9 +103,9 @@ export class DataSourceQueryModel {
|
|
|
122
103
|
*/
|
|
123
104
|
sorts() {
|
|
124
105
|
// Check if sorts have already been cached
|
|
125
|
-
if (!this.cachedSorts
|
|
106
|
+
if (!this.cachedSorts) {
|
|
126
107
|
// Map raw sorts to SortModel instances and cache them
|
|
127
|
-
this.cachedSorts = (this.
|
|
108
|
+
this.cachedSorts = (this.raw.Sort || []).map((s) => new SortModel(s));
|
|
128
109
|
}
|
|
129
110
|
// Return the cached sorts
|
|
130
111
|
return this.cachedSorts;
|
|
@@ -142,26 +123,11 @@ export class DataSourceQueryModel {
|
|
|
142
123
|
this.DisplayName?.toLowerCase().includes(searchTerm));
|
|
143
124
|
}
|
|
144
125
|
/**
|
|
145
|
-
* Converts the DataSourceQueryModel instance to JSON
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
* @returns {any} The data in old API format.
|
|
126
|
+
* Converts the DataSourceQueryModel instance to a JSON representation.
|
|
127
|
+
* @returns {any} The raw data in JSON format.
|
|
149
128
|
*/
|
|
150
129
|
toJSON() {
|
|
151
|
-
return
|
|
152
|
-
ID: this.ID,
|
|
153
|
-
ObjectID: this.ObjectID,
|
|
154
|
-
ObjectID_Tosave: this.ObjectID_Tosave,
|
|
155
|
-
QueryName: this.QueryName,
|
|
156
|
-
DisplayName: this.DisplayName,
|
|
157
|
-
Fields: this.fields(),
|
|
158
|
-
Filters: {
|
|
159
|
-
Filters: this.filters().map(f => f.toJSON()),
|
|
160
|
-
FilterLogic: this.FilterLogic
|
|
161
|
-
},
|
|
162
|
-
Sort: this.sorts().map(s => s.toJSON()),
|
|
163
|
-
Parameters: this.parameters().map(p => p.toJSON())
|
|
164
|
-
};
|
|
130
|
+
return this.raw;
|
|
165
131
|
}
|
|
166
132
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQ21CLEdBQVEsRUFDaEIsZUFBK0IsRUFDaEMsY0FBOEI7UUFGckIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVGhDLG1CQUFjLEdBQStCLEVBQUUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFDOUIsd0JBQW1CLEdBQVEsSUFBSSxDQUFDO1FBT3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsZUFBZSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDbEMs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Q0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbkQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpZWxkVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XHJcbmltcG9ydCB7IEFwcE9iamVjdE1vZGVsIH0gZnJvbSAnLi9hcHAtb2JqZWN0Lm1vZGVsJztcclxuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzIH0gZnJvbSAnLi9kYXRhLXNvdXJjZS1xdWVyaWVzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsdGVyTW9kZWwgfSBmcm9tICcuL2ZpbHRlci5tb2RlbCc7XHJcbmltcG9ydCB7IFBhcmFtZXRlck1vZGVsIH0gZnJvbSAnLi9wYXJhbWV0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTb3J0TW9kZWwgfSBmcm9tICcuL3NvcnQubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VRdWVyeU1vZGVsIHtcclxuICByZWFkb25seSBJRDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IE9iamVjdElEOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgUXVlcnlOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRGlzcGxheU5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBGaWx0ZXJMb2dpYzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBlbnJpY2hlZEZpZWxkczogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10gPSBbXTtcclxuICBwcml2YXRlIGNhY2hlZFBhcmFtZXRlcnM6IFBhcmFtZXRlck1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIGNhY2hlZEZpbHRlcnM6IEZpbHRlck1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIGNhY2hlZFNvcnRzOiBTb3J0TW9kZWxbXSA9IFtdO1xyXG4gIHByaXZhdGUgcGFyc2VkQ29uZmlndXJhdGlvbjogYW55ID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55LFxyXG4gICAgcmVhZG9ubHkgcGFyZW50QXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCxcclxuICAgIHByaXZhdGUgbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLklEID0gcmF3Py5xdWVyeUlkO1xyXG4gICAgdGhpcy5PYmplY3RJRCA9IHBhcmVudEFwcE9iamVjdD8uSUQ7XHJcbiAgICB0aGlzLk9iamVjdElEX1Rvc2F2ZSA9IHJhdz8uT2JqZWN0SURfVG9zYXZlO1xyXG4gICAgdGhpcy5RdWVyeU5hbWUgPSByYXc/LnF1ZXJ5TmFtZTtcclxuICAgIHRoaXMuRGlzcGxheU5hbWUgPSByYXc/LnF1ZXJ5TmFtZTtcclxuICAgIHRoaXMucGFyc2VkQ29uZmlndXJhdGlvbiA9IHRoaXMucGFyc2VDb25maWd1cmF0aW9uKHJhdz8uY29uZmlndXJhdGlvbnMpO1xyXG4gICAgdGhpcy5GaWx0ZXJMb2dpYyA9IHRoaXMucGFyc2VkQ29uZmlndXJhdGlvbj8uRmlsdGVycz8uRmlsdGVyTG9naWMgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VDb25maWd1cmF0aW9uKGNvbmZpZzogYW55KTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2UoY29uZmlnKSA6IChjb25maWcgPz8ge30pO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LiBUaGUgZmllbGRzIGFyZSBlbnJpY2hlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGBBcHBGaWVsZE1vZGVsYCBvYmplY3RzLlxyXG4gICAqIEhhbmRsZXMgYm90aCBvbGQgZm9ybWF0IChhcnJheSBvZiBvYmplY3RzKSBhbmQgbmV3IGZvcm1hdCAoYXJyYXkgb2YgZmllbGQgSUQgc3RyaW5ncykuXHJcbiAgICogQHJldHVybnMge0RhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdfSBUaGUgYXJyYXkgb2YgZW5yaWNoZWQgZmllbGRzLlxyXG4gICAqL1xyXG4gIGZpZWxkcygpOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSB7XHJcbiAgICBpZiAoIXRoaXMuZW5yaWNoZWRGaWVsZHM/Lmxlbmd0aCkge1xyXG4gICAgICBjb25zdCByYXdGaWVsZHMgPSB0aGlzLnBhcnNlZENvbmZpZ3VyYXRpb24/LlNlbGVjdGVkRmllbGRzO1xyXG4gICAgICBpZiAocmF3RmllbGRzPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmVucmljaGVkRmllbGRzID0gcmF3RmllbGRzLm1hcCgoZmllbGQ6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgLy8gR2V0IHRoZSBmaWVsZCBJRCAtIGVpdGhlciBmcm9tIHN0cmluZyBkaXJlY3RseSBvciBmcm9tIG9iamVjdCBwcm9wZXJ0eVxyXG4gICAgICAgICAgY29uc3QgZmllbGRJZCA9IGZpZWxkO1xyXG5cclxuICAgICAgICAgIGxldCBmaWVsZE1vZGVsO1xyXG4gICAgICAgICAgLy8gRmlyc3QgdHJ5IHRvIGZpbmQgdGhlIGZpZWxkIGluIHRoZSBwYXJlbnQgb2JqZWN0XHJcbiAgICAgICAgICBmaWVsZE1vZGVsID0gdGhpcy5wYXJlbnRBcHBPYmplY3Q/LmZpZWxkKGZpZWxkSWQpO1xyXG5cclxuICAgICAgICAgIC8vIElmIG5vdCBmb3VuZCBhbmQgbWV0YWRhdGFIZWxwZXIgaXMgYXZhaWxhYmxlLCBzZWFyY2ggYWNyb3NzIGFsbCBvYmplY3RzXHJcbiAgICAgICAgICBpZiAoIWZpZWxkTW9kZWwgJiYgdGhpcy5tZXRhZGF0YUhlbHBlcikge1xyXG4gICAgICAgICAgICBmaWVsZE1vZGVsID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRGaWVsZEJ5SWRPck5hbWUoZmllbGRJZCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gQnVpbGQgdGhlIGVucmljaGVkIGZpZWxkIG9iamVjdFxyXG4gICAgICAgICAgLy8gTmV3IGZvcm1hdDogY29uc3RydWN0IHRoZSBmdWxsIG9iamVjdCBmcm9tIGZpZWxkIG1vZGVsXHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBJRDogdGhpcy5JRCArICdfJyArIGZpZWxkTW9kZWw/LklELFxyXG4gICAgICAgICAgICBBcHBGaWVsZElEOiBmaWVsZE1vZGVsPy5JRCxcclxuICAgICAgICAgICAgU2VxTm86IGluZGV4ICsgMSxcclxuICAgICAgICAgICAgRmllbGRUeXBlOiBmaWVsZC5pbmNsdWRlcygnLicpID8gRGF0YVNvdXJjZVF1ZXJ5RmllbGRUeXBlLkxvb2t1cEZpZWxkIDogRGF0YVNvdXJjZVF1ZXJ5RmllbGRUeXBlLkVudGl0eUZpZWxkLFxyXG4gICAgICAgICAgICBGaWVsZERldGFpbHM6IGZpZWxkLFxyXG4gICAgICAgICAgICBMb29rdXBEZXRhaWxzOiBmaWVsZCxcclxuICAgICAgICAgICAgRmllbGQ6IGZpZWxkTW9kZWxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIGZpZWxkcywgcmV0dXJuIGFuIGVtcHR5IGFycmF5LlxyXG4gICAgICAgIHRoaXMuZW5yaWNoZWRGaWVsZHMgPSBbXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUmV0dXJuIHRoZSBlbnJpY2hlZCBmaWVsZHMuXHJcbiAgICByZXR1cm4gdGhpcy5lbnJpY2hlZEZpZWxkcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBmaWVsZHMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSB0aGF0IHNhdGlzZnkgdGhlIGdpdmVuIGZpbHRlciBmdW5jdGlvbi5cclxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXHJcbiAgICogQHJldHVybnMge0RhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdfSBUaGUgYXJyYXkgb2YgZmllbGRzIHRoYXQgc2F0aXNmeSB0aGUgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIGZpbmRGaWVsZHMoZmlsdGVyRm46IChmaWVsZDogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzKSA9PiBib29sZWFuKTogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpbHRlckZuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbmQgY2FjaGVzIHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuXHJcbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsW119IFRoZSBhcnJheSBvZiBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMuXHJcbiAgICovXHJcbiAgcGFyYW1ldGVycygpOiBQYXJhbWV0ZXJNb2RlbFtdIHtcclxuICAgIC8vIENoZWNrIGlmIHBhcmFtZXRlcnMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXHJcbiAgICBpZiAoIXRoaXMuY2FjaGVkUGFyYW1ldGVycz8ubGVuZ3RoKSB7XHJcbiAgICAgIC8vIE1hcCByYXcgcGFyYW1ldGVycyB0byBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cclxuICAgICAgdGhpcy5jYWNoZWRQYXJhbWV0ZXJzID0gKHRoaXMucGFyc2VkQ29uZmlndXJhdGlvbj8uUGFyYW1ldGVycyB8fCBbXSkubWFwKChwOiBhbnkpID0+IG5ldyBQYXJhbWV0ZXJNb2RlbChwKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWRQYXJhbWV0ZXJzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBtYW5kYXRvcnkgcGFyYW1ldGVycyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIHtQYXJhbWV0ZXJNb2RlbFtdfSBUaGUgYXJyYXkgb2YgbWFuZGF0b3J5IFBhcmFtZXRlck1vZGVsIGluc3RhbmNlcy5cclxuICAgKi9cclxuICBtYW5kYXRvcnlQYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycygpLmZpbHRlcihwID0+IHAuSXNNYW5kYXRvcnkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZHMgYSBwYXJhbWV0ZXIgYnkgaXRzIG5hbWUgKGNhc2UtaW5zZW5zaXRpdmUpLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gZmluZC5cclxuICAgKiBAcmV0dXJucyB7UGFyYW1ldGVyTW9kZWwgfCB1bmRlZmluZWR9IFRoZSBwYXJhbWV0ZXIgbW9kZWwgaW5zdGFuY2UgaWYgZm91bmQsIG90aGVyd2lzZSB1bmRlZmluZWQuXHJcbiAgICovXHJcbiAgcGFyYW1ldGVyKG5hbWU6IHN0cmluZyk6IFBhcmFtZXRlck1vZGVsIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IG5hbWVMb3dlciA9IG5hbWUudG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMoKS5maW5kKHAgPT4gcC5QYXJhbWV0ZXJOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBuYW1lTG93ZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIGZpbHRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cclxuICAgKiBAcmV0dXJucyB7RmlsdGVyTW9kZWxbXX0gVGhlIGFycmF5IG9mIEZpbHRlck1vZGVsIGluc3RhbmNlcy5cclxuICAgKi9cclxuICBmaWx0ZXJzKCk6IEZpbHRlck1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgZmlsdGVycyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcclxuICAgIGlmICghdGhpcy5jYWNoZWRGaWx0ZXJzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFwIHJhdyBmaWx0ZXJzIHRvIEZpbHRlck1vZGVsIGluc3RhbmNlcyBhbmQgY2FjaGUgdGhlbVxyXG4gICAgICB0aGlzLmNhY2hlZEZpbHRlcnMgPSAodGhpcy5wYXJzZWRDb25maWd1cmF0aW9uPy5GaWx0ZXJzPy5GaWx0ZXJzIHx8IFtdKS5tYXAoKGY6IGFueSkgPT4gbmV3IEZpbHRlck1vZGVsKGYpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNhY2hlZEZpbHRlcnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYW5kIGNhY2hlcyB0aGUgc29ydHMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cclxuICAgKiBAcmV0dXJucyB7U29ydE1vZGVsW119IFRoZSBhcnJheSBvZiBTb3J0TW9kZWwgaW5zdGFuY2VzLlxyXG4gICAqL1xyXG4gIHNvcnRzKCk6IFNvcnRNb2RlbFtdIHtcclxuICAgIC8vIENoZWNrIGlmIHNvcnRzIGhhdmUgYWxyZWFkeSBiZWVuIGNhY2hlZFxyXG4gICAgaWYgKCF0aGlzLmNhY2hlZFNvcnRzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFwIHJhdyBzb3J0cyB0byBTb3J0TW9kZWwgaW5zdGFuY2VzIGFuZCBjYWNoZSB0aGVtXHJcbiAgICAgIHRoaXMuY2FjaGVkU29ydHMgPSAodGhpcy5wYXJzZWRDb25maWd1cmF0aW9uPy5Tb3J0IHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gbmV3IFNvcnRNb2RlbChzKSk7XHJcbiAgICB9XHJcbiAgICAvLyBSZXR1cm4gdGhlIGNhY2hlZCBzb3J0c1xyXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkU29ydHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgb2YgdGhlIGZpZWxkcyBvZiB0aGVcclxuICAgKiBjdXJyZW50IGRhdGEgc291cmNlIHF1ZXJ5XHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRlcm0gVGhlIHNlYXJjaCB0ZXJtXHJcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IGZpZWxkXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcclxuICAgICAgdGhpcy5RdWVyeU5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcclxuICAgICAgdGhpcy5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBEYXRhU291cmNlUXVlcnlNb2RlbCBpbnN0YW5jZSB0byBKU09OIGluIHRoZSBvbGQgQVBJIGZvcm1hdCAoUGFzY2FsQ2FzZSkuXHJcbiAgICogVGhpcyBlbnN1cmVzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBjb2RlIGV4cGVjdGluZyB0aGUgb2xkIGZvcm1hdC5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSBkYXRhIGluIG9sZCBBUEkgZm9ybWF0LlxyXG4gICAqL1xyXG4gIHRvSlNPTigpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgSUQ6IHRoaXMuSUQsXHJcbiAgICAgIE9iamVjdElEOiB0aGlzLk9iamVjdElELFxyXG4gICAgICBPYmplY3RJRF9Ub3NhdmU6IHRoaXMuT2JqZWN0SURfVG9zYXZlLFxyXG4gICAgICBRdWVyeU5hbWU6IHRoaXMuUXVlcnlOYW1lLFxyXG4gICAgICBEaXNwbGF5TmFtZTogdGhpcy5EaXNwbGF5TmFtZSxcclxuICAgICAgRmllbGRzOiB0aGlzLmZpZWxkcygpLFxyXG4gICAgICBGaWx0ZXJzOiB7XHJcbiAgICAgICAgRmlsdGVyczogdGhpcy5maWx0ZXJzKCkubWFwKGYgPT4gZi50b0pTT04oKSksXHJcbiAgICAgICAgRmlsdGVyTG9naWM6IHRoaXMuRmlsdGVyTG9naWNcclxuICAgICAgfSxcclxuICAgICAgU29ydDogdGhpcy5zb3J0cygpLm1hcChzID0+IHMudG9KU09OKCkpLFxyXG4gICAgICBQYXJhbWV0ZXJzOiB0aGlzLnBhcmFtZXRlcnMoKS5tYXAocCA9PiBwLnRvSlNPTigpKVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQ21CLEdBQVEsRUFDaEIsZUFBK0IsRUFDaEMsY0FBOEI7UUFGckIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUmhDLG1CQUFjLEdBQStCLEVBQUUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFPcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztZQUNuQyxJQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsdUZBQXVGO2dCQUN2RixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDakQsSUFBSSxVQUFVLENBQUM7b0JBRWYsbURBQW1EO29CQUNuRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUUxRCwwRUFBMEU7b0JBQzFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUN2QyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3hFLENBQUM7b0JBRUQsT0FBTzt3QkFDTCxHQUFHLEtBQUs7d0JBQ1IsMEVBQTBFO3dCQUMxRSxLQUFLLEVBQUUsVUFBVTtxQkFDbEIsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixpREFBaUQ7Z0JBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsOEJBQThCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxRQUFzRDtRQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDUiwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNCLGdFQUFnRTtZQUNoRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLElBQVk7UUFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU87UUFDTCw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QiwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUNILDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLHNEQUFzRDtZQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCwwQkFBMEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQ0wsSUFBSSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FDckQsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnMnO1xyXG5pbXBvcnQgeyBBcHBPYmplY3RNb2RlbCB9IGZyb20gJy4vYXBwLW9iamVjdC5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkcyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlck1vZGVsIH0gZnJvbSAnLi9maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJNb2RlbCB9IGZyb20gJy4vcGFyYW1ldGVyLm1vZGVsJztcclxuaW1wb3J0IHsgU29ydE1vZGVsIH0gZnJvbSAnLi9zb3J0Lm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlUXVlcnlNb2RlbCB7XHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IE9iamVjdElEX1Rvc2F2ZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IFF1ZXJ5TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRmlsdGVyTG9naWM6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHByaXZhdGUgZW5yaWNoZWRGaWVsZHM6IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdID0gW107XHJcbiAgcHJpdmF0ZSBjYWNoZWRQYXJhbWV0ZXJzOiBQYXJhbWV0ZXJNb2RlbFtdID0gW107XHJcbiAgcHJpdmF0ZSBjYWNoZWRGaWx0ZXJzOiBGaWx0ZXJNb2RlbFtdID0gW107XHJcbiAgcHJpdmF0ZSBjYWNoZWRTb3J0czogU29ydE1vZGVsW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55LFxyXG4gICAgcmVhZG9ubHkgcGFyZW50QXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCxcclxuICAgIHByaXZhdGUgbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLklEID0gcmF3LklEO1xyXG4gICAgdGhpcy5PYmplY3RJRCA9IHJhdy5PYmplY3RJRDtcclxuICAgIHRoaXMuT2JqZWN0SURfVG9zYXZlID0gcmF3Lk9iamVjdElEX1Rvc2F2ZTtcclxuICAgIHRoaXMuUXVlcnlOYW1lID0gcmF3LlF1ZXJ5TmFtZTtcclxuICAgIHRoaXMuRGlzcGxheU5hbWUgPSByYXcuRGlzcGxheU5hbWU7XHJcbiAgICB0aGlzLkZpbHRlckxvZ2ljID0gcmF3LkZpbHRlckxvZ2ljO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZmllbGRzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuIFRoZSBmaWVsZHMgYXJlIGVucmljaGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgYEFwcEZpZWxkTW9kZWxgIG9iamVjdHMuXHJcbiAgICogQHJldHVybnMge0RhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdfSBUaGUgYXJyYXkgb2YgZW5yaWNoZWQgZmllbGRzLlxyXG4gICAqL1xyXG4gIGZpZWxkcygpOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSB7XHJcbiAgICBpZiAoIXRoaXMuZW5yaWNoZWRGaWVsZHM/Lmxlbmd0aCkge1xyXG4gICAgICBjb25zdCByYXdGaWVsZHMgPSB0aGlzLnJhdz8uRmllbGRzO1xyXG4gICAgICBpZiAocmF3RmllbGRzPy5sZW5ndGgpIHtcclxuICAgICAgICAvLyBFbnJpY2ggdGhlIGZpZWxkcyBieSBtYXBwaW5nIGVhY2ggZmllbGQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgYEFwcEZpZWxkTW9kZWxgIG9iamVjdC5cclxuICAgICAgICB0aGlzLmVucmljaGVkRmllbGRzID0gcmF3RmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGZpZWxkTW9kZWw7XHJcblxyXG4gICAgICAgICAgLy8gRmlyc3QgdHJ5IHRvIGZpbmQgdGhlIGZpZWxkIGluIHRoZSBwYXJlbnQgb2JqZWN0XHJcbiAgICAgICAgICBmaWVsZE1vZGVsID0gdGhpcy5wYXJlbnRBcHBPYmplY3QuZmllbGQoZmllbGQuQXBwRmllbGRJRCk7XHJcblxyXG4gICAgICAgICAgLy8gSWYgbm90IGZvdW5kIGFuZCBtZXRhZGF0YUhlbHBlciBpcyBhdmFpbGFibGUsIHNlYXJjaCBhY3Jvc3MgYWxsIG9iamVjdHNcclxuICAgICAgICAgIGlmICghZmllbGRNb2RlbCAmJiB0aGlzLm1ldGFkYXRhSGVscGVyKSB7XHJcbiAgICAgICAgICAgIGZpZWxkTW9kZWwgPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldEZpZWxkQnlJZE9yTmFtZShmaWVsZC5BcHBGaWVsZElEKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5maWVsZCxcclxuICAgICAgICAgICAgLy8gVGhlIGBGaWVsZGAgcHJvcGVydHkgY29udGFpbnMgdGhlIGNvcnJlc3BvbmRpbmcgYEFwcEZpZWxkTW9kZWxgIG9iamVjdC5cclxuICAgICAgICAgICAgRmllbGQ6IGZpZWxkTW9kZWxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZmllbGRzLCByZXR1cm4gYW4gZW1wdHkgYXJyYXkuXHJcbiAgICAgICAgdGhpcy5lbnJpY2hlZEZpZWxkcyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBSZXR1cm4gdGhlIGVucmljaGVkIGZpZWxkcy5cclxuICAgIHJldHVybiB0aGlzLmVucmljaGVkRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGZpZWxkcy5cclxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW119IFRoZSBhcnJheSBvZiBmaWVsZHMgdGhhdCBzYXRpc2Z5IHRoZSBmaWx0ZXIgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgZmluZEZpZWxkcyhmaWx0ZXJGbjogKGZpZWxkOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHMpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmlsdGVyRm4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cclxuICAgKiBAcmV0dXJucyB7UGFyYW1ldGVyTW9kZWxbXX0gVGhlIGFycmF5IG9mIFBhcmFtZXRlck1vZGVsIGluc3RhbmNlcy5cclxuICAgKi9cclxuICBwYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgcGFyYW1ldGVycyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcclxuICAgIGlmICghdGhpcy5jYWNoZWRQYXJhbWV0ZXJzKSB7XHJcbiAgICAgIC8vIE1hcCByYXcgcGFyYW1ldGVycyB0byBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cclxuICAgICAgdGhpcy5jYWNoZWRQYXJhbWV0ZXJzID0gKHRoaXMucmF3Py5QYXJhbWV0ZXJzIHx8IFtdKS5tYXAoKHA6IGFueSkgPT4gbmV3IFBhcmFtZXRlck1vZGVsKHApKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNhY2hlZFBhcmFtZXRlcnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIG1hbmRhdG9yeSBwYXJhbWV0ZXJzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuXHJcbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsW119IFRoZSBhcnJheSBvZiBtYW5kYXRvcnkgUGFyYW1ldGVyTW9kZWwgaW5zdGFuY2VzLlxyXG4gICAqL1xyXG4gIG1hbmRhdG9yeVBhcmFtZXRlcnMoKTogUGFyYW1ldGVyTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzKCkuZmlsdGVyKHAgPT4gcC5Jc01hbmRhdG9yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kcyBhIHBhcmFtZXRlciBieSBpdHMgbmFtZSAoY2FzZS1pbnNlbnNpdGl2ZSkuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB0byBmaW5kLlxyXG4gICAqIEByZXR1cm5zIHtQYXJhbWV0ZXJNb2RlbCB8IHVuZGVmaW5lZH0gVGhlIHBhcmFtZXRlciBtb2RlbCBpbnN0YW5jZSBpZiBmb3VuZCwgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cclxuICAgKi9cclxuICBwYXJhbWV0ZXIobmFtZTogc3RyaW5nKTogUGFyYW1ldGVyTW9kZWwgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgbmFtZUxvd2VyID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycygpLmZpbmQocCA9PiBwLlBhcmFtZXRlck5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVMb3dlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYW5kIGNhY2hlcyB0aGUgZmlsdGVycyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIHtGaWx0ZXJNb2RlbFtdfSBUaGUgYXJyYXkgb2YgRmlsdGVyTW9kZWwgaW5zdGFuY2VzLlxyXG4gICAqL1xyXG4gIGZpbHRlcnMoKTogRmlsdGVyTW9kZWxbXSB7XHJcbiAgICAvLyBDaGVjayBpZiBmaWx0ZXJzIGhhdmUgYWxyZWFkeSBiZWVuIGNhY2hlZFxyXG4gICAgaWYgKCF0aGlzLmNhY2hlZEZpbHRlcnMpIHtcclxuICAgICAgLy8gTWFwIHJhdyBmaWx0ZXJzIHRvIEZpbHRlck1vZGVsIGluc3RhbmNlcyBhbmQgY2FjaGUgdGhlbVxyXG4gICAgICB0aGlzLmNhY2hlZEZpbHRlcnMgPSAodGhpcy5yYXcuRmlsdGVycz8uRmlsdGVycyB8fCBbXSkubWFwKChmOiBhbnkpID0+IG5ldyBGaWx0ZXJNb2RlbChmKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWRGaWx0ZXJzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHNvcnRzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuXHJcbiAgICogQHJldHVybnMge1NvcnRNb2RlbFtdfSBUaGUgYXJyYXkgb2YgU29ydE1vZGVsIGluc3RhbmNlcy5cclxuICAgKi9cclxuICBzb3J0cygpOiBTb3J0TW9kZWxbXSB7XHJcbiAgICAvLyBDaGVjayBpZiBzb3J0cyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcclxuICAgIGlmICghdGhpcy5jYWNoZWRTb3J0cykge1xyXG4gICAgICAvLyBNYXAgcmF3IHNvcnRzIHRvIFNvcnRNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cclxuICAgICAgdGhpcy5jYWNoZWRTb3J0cyA9ICh0aGlzLnJhdy5Tb3J0IHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gbmV3IFNvcnRNb2RlbChzKSk7XHJcbiAgICB9XHJcbiAgICAvLyBSZXR1cm4gdGhlIGNhY2hlZCBzb3J0c1xyXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkU29ydHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgb2YgdGhlIGZpZWxkcyBvZiB0aGVcclxuICAgKiBjdXJyZW50IGRhdGEgc291cmNlIHF1ZXJ5XHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRlcm0gVGhlIHNlYXJjaCB0ZXJtXHJcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IGZpZWxkXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcclxuICAgICAgdGhpcy5RdWVyeU5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcclxuICAgICAgdGhpcy5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBEYXRhU291cmNlUXVlcnlNb2RlbCBpbnN0YW5jZSB0byBhIEpTT04gcmVwcmVzZW50YXRpb24uXHJcbiAgICogQHJldHVybnMge2FueX0gVGhlIHJhdyBkYXRhIGluIEpTT04gZm9ybWF0LlxyXG4gICAqL1xyXG4gIHRvSlNPTigpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucmF3O1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,35 +1,24 @@
|
|
|
1
1
|
export class FilterModel {
|
|
2
2
|
constructor(raw) {
|
|
3
3
|
this.raw = raw;
|
|
4
|
-
this.ID = raw?.
|
|
5
|
-
this.ConjuctionClause = raw?.
|
|
6
|
-
this.RelationalOperator = raw?.
|
|
4
|
+
this.ID = raw?.ID;
|
|
5
|
+
this.ConjuctionClause = raw?.ConjuctionClause;
|
|
6
|
+
this.RelationalOperator = raw?.RelationalOperator;
|
|
7
7
|
this.ValueType = raw?.ValueType;
|
|
8
|
-
this.value = raw?.
|
|
8
|
+
this.value = raw?.value;
|
|
9
9
|
this.Sequence = raw?.Sequence;
|
|
10
|
-
this.GroupID = raw?.
|
|
10
|
+
this.GroupID = raw?.GroupID;
|
|
11
11
|
this.LookupDetail = raw?.LookupDetail;
|
|
12
12
|
this.FieldType = raw?.FieldType;
|
|
13
|
-
this.FieldID = raw?.
|
|
13
|
+
this.FieldID = raw?.FieldID;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* Converts the
|
|
16
|
+
* Converts the current object to a JSON object.
|
|
17
17
|
*
|
|
18
|
-
* @returns A JSON representation
|
|
18
|
+
* @returns A JSON representation of the current object.
|
|
19
19
|
*/
|
|
20
20
|
toJSON() {
|
|
21
|
-
return
|
|
22
|
-
ID: this.ID,
|
|
23
|
-
ConjuctionClause: this.ConjuctionClause,
|
|
24
|
-
RelationalOperator: this.RelationalOperator,
|
|
25
|
-
ValueType: this.ValueType,
|
|
26
|
-
value: this.value,
|
|
27
|
-
Sequence: this.Sequence,
|
|
28
|
-
GroupID: this.GroupID,
|
|
29
|
-
LookupDetail: this.LookupDetail,
|
|
30
|
-
FieldType: this.FieldType,
|
|
31
|
-
FieldID: this.FieldID
|
|
32
|
-
};
|
|
21
|
+
return this.raw;
|
|
33
22
|
}
|
|
34
23
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFdBQVc7SUFZdEIsWUFBNkIsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDbkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmp1Y3Rpb25DbGF1c2UsIERhdGFTb3VyY2VRdWVyeUZpbHRlckZpZWxkVHlwZSwgRmlsdGVyVmFsdWVUeXBlLCBSZWxhdGlvbmFsT3BlcmF0b3IgfSBmcm9tIFwiLi4vZW51bXMvZHNxLmVudW1cIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJNb2RlbCB7XHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBDb25qdWN0aW9uQ2xhdXNlOiBDb25qdWN0aW9uQ2xhdXNlO1xyXG4gIHJlYWRvbmx5IFJlbGF0aW9uYWxPcGVyYXRvcjogUmVsYXRpb25hbE9wZXJhdG9yO1xyXG4gIHJlYWRvbmx5IFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlO1xyXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgU2VxdWVuY2U6IG51bWJlcjtcclxuICByZWFkb25seSBHcm91cElEOiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgTG9va3VwRGV0YWlsOiBzdHJpbmcgfCBudWxsO1xyXG4gIHJlYWRvbmx5IEZpZWxkVHlwZTogRGF0YVNvdXJjZVF1ZXJ5RmlsdGVyRmllbGRUeXBlO1xyXG4gIHJlYWRvbmx5IEZpZWxkSUQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByYXc6IGFueSkge1xyXG4gICAgdGhpcy5JRCA9IHJhdz8uSUQ7XHJcbiAgICB0aGlzLkNvbmp1Y3Rpb25DbGF1c2UgPSByYXc/LkNvbmp1Y3Rpb25DbGF1c2U7XHJcbiAgICB0aGlzLlJlbGF0aW9uYWxPcGVyYXRvciA9IHJhdz8uUmVsYXRpb25hbE9wZXJhdG9yO1xyXG4gICAgdGhpcy5WYWx1ZVR5cGUgPSByYXc/LlZhbHVlVHlwZTtcclxuICAgIHRoaXMudmFsdWUgPSByYXc/LnZhbHVlO1xyXG4gICAgdGhpcy5TZXF1ZW5jZSA9IHJhdz8uU2VxdWVuY2U7XHJcbiAgICB0aGlzLkdyb3VwSUQgPSByYXc/Lkdyb3VwSUQ7XHJcbiAgICB0aGlzLkxvb2t1cERldGFpbCA9IHJhdz8uTG9va3VwRGV0YWlsO1xyXG4gICAgdGhpcy5GaWVsZFR5cGUgPSByYXc/LkZpZWxkVHlwZTtcclxuICAgIHRoaXMuRmllbGRJRCA9IHJhdz8uRmllbGRJRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBhIEpTT04gb2JqZWN0LlxyXG4gICAqXHJcbiAgICogQHJldHVybnMgQSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjdXJyZW50IG9iamVjdC5cclxuICAgKi9cclxuICB0b0pTT04oKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnJhdztcclxuICB9XHJcbn0iXX0=
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
export class ParameterModel {
|
|
2
2
|
constructor(raw) {
|
|
3
3
|
this.raw = raw;
|
|
4
|
-
this.ID = raw?.
|
|
5
|
-
this.ParameterName = raw?.
|
|
4
|
+
this.ID = raw?.ID;
|
|
5
|
+
this.ParameterName = raw?.ParameterName;
|
|
6
6
|
this.DataSourceQueryID = raw?.DataSourceQueryID;
|
|
7
7
|
this.MappingFieldName = raw?.MappingFieldName;
|
|
8
8
|
this.IsMandatory = raw?.IsMandatory;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Converts the model to JSON
|
|
12
|
-
* @returns {any} The model as a JSON object
|
|
11
|
+
* Converts the model to JSON.
|
|
12
|
+
* @returns {any} The model as a JSON object.
|
|
13
13
|
*/
|
|
14
14
|
toJSON() {
|
|
15
|
-
return
|
|
16
|
-
ID: this.ID,
|
|
17
|
-
ParameterName: this.ParameterName,
|
|
18
|
-
DataSourceQueryID: this.DataSourceQueryID,
|
|
19
|
-
MappingFieldName: this.MappingFieldName,
|
|
20
|
-
IsMandatory: this.IsMandatory
|
|
21
|
-
};
|
|
15
|
+
return this.raw;
|
|
22
16
|
}
|
|
23
17
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9wYXJhbWV0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7SUFPdkIsWUFBNkIsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJNb2RlbCB7XHJcbiAgICByZWFkb25seSBJRDogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgUGFyYW1ldGVyTmFtZTogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgRGF0YVNvdXJjZVF1ZXJ5SUQ6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IE1hcHBpbmdGaWVsZE5hbWU6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IElzTWFuZGF0b3J5OiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcclxuICAgICAgICB0aGlzLklEID0gcmF3Py5JRDtcclxuICAgICAgICB0aGlzLlBhcmFtZXRlck5hbWUgPSByYXc/LlBhcmFtZXRlck5hbWU7XHJcbiAgICAgICAgdGhpcy5EYXRhU291cmNlUXVlcnlJRCA9IHJhdz8uRGF0YVNvdXJjZVF1ZXJ5SUQ7XHJcbiAgICAgICAgdGhpcy5NYXBwaW5nRmllbGROYW1lID0gcmF3Py5NYXBwaW5nRmllbGROYW1lO1xyXG4gICAgICAgIHRoaXMuSXNNYW5kYXRvcnkgPSByYXc/LklzTWFuZGF0b3J5O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgdGhlIG1vZGVsIHRvIEpTT04uXHJcbiAgICAgKiBAcmV0dXJucyB7YW55fSBUaGUgbW9kZWwgYXMgYSBKU09OIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgdG9KU09OKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmF3O1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export class SortModel {
|
|
2
2
|
constructor(raw) {
|
|
3
3
|
this.raw = raw;
|
|
4
|
-
this.ID = raw?.
|
|
4
|
+
this.ID = raw?.ID;
|
|
5
5
|
this.SortSequence = raw?.SortSequence;
|
|
6
6
|
this.Sequence = raw?.Sequence;
|
|
7
7
|
this.LookupDetails = raw?.LookupDetails;
|
|
@@ -9,17 +9,10 @@ export class SortModel {
|
|
|
9
9
|
this.AppFieldID = raw?.AppFieldID;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Get raw data for this app object
|
|
13
13
|
*/
|
|
14
14
|
toJSON() {
|
|
15
|
-
return
|
|
16
|
-
ID: this.ID,
|
|
17
|
-
SortSequence: this.SortSequence,
|
|
18
|
-
Sequence: this.Sequence,
|
|
19
|
-
LookupDetails: this.LookupDetails,
|
|
20
|
-
FieldType: this.FieldType,
|
|
21
|
-
AppFieldID: this.AppFieldID
|
|
22
|
-
};
|
|
15
|
+
return this.raw;
|
|
23
16
|
}
|
|
24
17
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvc29ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sU0FBUztJQVFwQixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpbHRlckZpZWxkVHlwZSwgU29ydFNlcXVlbmNlIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU29ydE1vZGVsIHtcclxuICByZWFkb25seSBJRDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IFNvcnRTZXF1ZW5jZTogU29ydFNlcXVlbmNlO1xyXG4gIHJlYWRvbmx5IFNlcXVlbmNlOiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgTG9va3VwRGV0YWlsczogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBGaWVsZFR5cGU6IERhdGFTb3VyY2VRdWVyeUZpbHRlckZpZWxkVHlwZTtcclxuICByZWFkb25seSBBcHBGaWVsZElEOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcclxuICAgIHRoaXMuSUQgPSByYXc/LklEO1xyXG4gICAgdGhpcy5Tb3J0U2VxdWVuY2UgPSByYXc/LlNvcnRTZXF1ZW5jZTtcclxuICAgIHRoaXMuU2VxdWVuY2UgPSByYXc/LlNlcXVlbmNlO1xyXG4gICAgdGhpcy5Mb29rdXBEZXRhaWxzID0gcmF3Py5Mb29rdXBEZXRhaWxzO1xyXG4gICAgdGhpcy5GaWVsZFR5cGUgPSByYXc/LkZpZWxkVHlwZTtcclxuICAgIHRoaXMuQXBwRmllbGRJRCA9IHJhdz8uQXBwRmllbGRJRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCByYXcgZGF0YSBmb3IgdGhpcyBhcHAgb2JqZWN0XHJcbiAgICovXHJcbiAgdG9KU09OKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5yYXc7XHJcbiAgfVxyXG59Il19
|
|
@@ -16,10 +16,9 @@ export function validateJSON(str) {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Creates dynamic data based on the input object
|
|
20
|
-
* Transforms object into array of {fieldName, value} pairs
|
|
19
|
+
* Creates dynamic data based on the input object
|
|
21
20
|
* @param obj The input object to create dynamic data from
|
|
22
|
-
* @returns The formatted array
|
|
21
|
+
* @returns The formatted array
|
|
23
22
|
*/
|
|
24
23
|
export function createDynamicData(obj) {
|
|
25
24
|
return formatArray(obj);
|
|
@@ -70,29 +69,29 @@ export function getBulkInsertFields(dataArray) {
|
|
|
70
69
|
return Array.from(fieldSet);
|
|
71
70
|
}
|
|
72
71
|
/**
|
|
73
|
-
* Formats the input object into a new array with
|
|
72
|
+
* Formats the input object into a new array with AppFieldID and Value pairs
|
|
74
73
|
* @param input The input object to be formatted
|
|
75
|
-
* @returns The formatted array with
|
|
74
|
+
* @returns The formatted array with AppFieldID and Value pairs
|
|
76
75
|
*/
|
|
77
76
|
function formatArray(input) {
|
|
78
77
|
if (input !== null && Object.keys(input)?.length) {
|
|
79
78
|
const newObj = Object.keys(input).map((key) => {
|
|
80
|
-
let
|
|
79
|
+
let Value = '';
|
|
81
80
|
if (Array.isArray(input[key])) {
|
|
82
81
|
if (key === 'Child_Relationship') {
|
|
83
|
-
|
|
82
|
+
Value = handleChildRelationship(input[key]);
|
|
84
83
|
}
|
|
85
84
|
else {
|
|
86
|
-
|
|
85
|
+
Value = handlechild(input[key]);
|
|
87
86
|
}
|
|
88
87
|
}
|
|
89
88
|
else if (typeof input[key] === 'object') {
|
|
90
|
-
|
|
89
|
+
Value = handleObject(input[key]);
|
|
91
90
|
}
|
|
92
91
|
else {
|
|
93
|
-
|
|
92
|
+
Value = input[key];
|
|
94
93
|
}
|
|
95
|
-
return {
|
|
94
|
+
return { AppFieldID: key, Value };
|
|
96
95
|
});
|
|
97
96
|
return newObj;
|
|
98
97
|
}
|
|
@@ -116,17 +115,17 @@ function handlechild(input) {
|
|
|
116
115
|
if (input !== null) {
|
|
117
116
|
input.forEach((element) => {
|
|
118
117
|
const newObj = Object.keys(element).map((key) => {
|
|
119
|
-
let
|
|
118
|
+
let Value = '';
|
|
120
119
|
if (Array.isArray(element[key])) {
|
|
121
|
-
|
|
120
|
+
Value = handlechild(element[key]);
|
|
122
121
|
}
|
|
123
122
|
else if (typeof element[key] === 'object') {
|
|
124
|
-
|
|
123
|
+
Value = formatArray(element[key]);
|
|
125
124
|
}
|
|
126
125
|
else {
|
|
127
|
-
|
|
126
|
+
Value = element[key];
|
|
128
127
|
}
|
|
129
|
-
return {
|
|
128
|
+
return { AppFieldID: key, Value };
|
|
130
129
|
});
|
|
131
130
|
array.push(newObj);
|
|
132
131
|
});
|
|
@@ -208,4 +207,4 @@ export function removeBlankArrayKeys(dataObj) {
|
|
|
208
207
|
function isValueBlank(value) {
|
|
209
208
|
return value == null || value === '' || value === 'null' || value === 'undefined';
|
|
210
209
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxHQUFRO0lBQ3hDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFNBQWM7SUFDaEQsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFOUMsT0FBTyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUU7UUFDakMsT0FBTyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUxQiw2Q0FBNkM7WUFDN0MsSUFDRSxLQUFLO2dCQUNMLE9BQU8sS0FBSyxLQUFL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SyxFQUFFLElBQUksS0FBSyxLQUFLLE1BQU0sSUFBSSxLQUFLLEtBQUssV0FBVyxDQUFDO0FBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0ZXMgaWYgYSBzdHJpbmcgaXMgYSB2YWxpZCBKU09OLlxyXG4gKiBAcGFyYW0gc3RyIFRoZSBzdHJpbmcgdG8gdmFsaWRhdGUuXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIEpTT04sIGZhbHNlIG90aGVyd2lzZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUpTT04oc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICB0cnkge1xyXG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2Uoc3RyKTtcclxuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoanNvbikuc2xpY2UoOCwgLTEpID09PSAnT2JqZWN0JztcclxuICB9IGNhdGNoIChlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBkeW5hbWljIGRhdGEgYmFzZWQgb24gdGhlIGlucHV0IG9iamVjdCBmb3IgbmV3IEFQSSBmb3JtYXRcclxuICogVHJhbnNmb3JtcyBvYmplY3QgaW50byBhcnJheSBvZiB7ZmllbGROYW1lLCB2YWx1ZX0gcGFpcnNcclxuICogQHBhcmFtIG9iaiBUaGUgaW5wdXQgb2JqZWN0IHRvIGNyZWF0ZSBkeW5hbWljIGRhdGEgZnJvbVxyXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIGFycmF5IHdpdGgge2ZpZWxkTmFtZSwgdmFsdWV9IHBhaXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRHluYW1pY0RhdGEob2JqOiBhbnkpIHtcclxuICByZXR1cm4gZm9ybWF0QXJyYXkob2JqKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIHZhbHVlcyBmb3IgYnVsayBpbnNlcnQgYmFzZWQgb24gdGhlIGlucHV0IGRhdGEgYXJyYXlcclxuICogQHBhcmFtIHthbnlbXX0gZGF0YUFycmF5IFRoZSBpbnB1dCBkYXRhIGFycmF5IHRvIGNyZWF0ZSBidWxrIGluc2VydCB2YWx1ZXMgZnJvbVxyXG4gKiBAcmV0dXJucyB7YW55W11bXX0gVGhlIGZvcm1hdHRlZCBhcnJheSBvZiB2YWx1ZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWxrSW5zZXJ0VmFsdWVzKGRhdGFBcnJheTogYW55KSB7XHJcbiAgY29uc3QgZmllbGRzID0gZ2V0QnVsa0luc2VydEZpZWxkcyhkYXRhQXJyYXkpO1xyXG5cclxuICByZXR1cm4gZGF0YUFycmF5Py5tYXAoKGl0ZW06YW55KSA9PiB7XHJcbiAgICByZXR1cm4gZmllbGRzPy5tYXAoZmllbGQgPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGl0ZW1bZmllbGRdO1xyXG5cclxuICAgICAgLy8gSGFuZGxlIG5lc3RlZCBvYmplY3QgKG5vbi1hcnJheSwgbm9uLW51bGwpXHJcbiAgICAgIGlmIChcclxuICAgICAgICB2YWx1ZSAmJlxyXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcclxuICAgICAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3Qgc3ViRmllbGRzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IHN1YlZhbHVlcyA9IHN1YkZpZWxkcy5tYXAoc3ViS2V5ID0+IHZhbHVlW3N1YktleV0pO1xyXG5cclxuICAgICAgICAvLyBSZXR1cm4gYW4gb2JqZWN0IHdpdGggZmllbGRzIGFuZCB2YWx1ZXMgZm9yIG5lc3RlZCBvYmplY3RcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgRmllbGRzOiBzdWJGaWVsZHMsXHJcbiAgICAgICAgICBWYWx1ZXM6IHN1YlZhbHVlc1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFJldHVybiB0aGUgdmFsdWUgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgbnVsbFxyXG4gICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogbnVsbDtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIGZpZWxkcyBmb3IgYnVsayBpbnNlcnQgYmFzZWQgb24gdGhlIGlucHV0IGRhdGEgYXJyYXlcclxuICogQHBhcmFtIHthbnlbXX0gZGF0YUFycmF5IFRoZSBpbnB1dCBkYXRhIGFycmF5IHRvIGNyZWF0ZSBidWxrIGluc2VydCBmaWVsZHMgZnJvbVxyXG4gKiBAcmV0dXJucyB7c3RyaW5nW119IFRoZSBmb3JtYXR0ZWQgYXJyYXkgb2YgZmllbGRzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVsa0luc2VydEZpZWxkcyhkYXRhQXJyYXk6IGFueSk6IHN0cmluZ1tdIHtcclxuICAvKipcclxuICAgKiBBIFNldCB0byBrZWVwIHRyYWNrIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGRhdGEgYXJyYXlcclxuICAgKiBAdHlwZSB7U2V0PHN0cmluZz59XHJcbiAgICovXHJcbiAgY29uc3QgZmllbGRTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuICBkYXRhQXJyYXk/LmZvckVhY2goKGl0ZW06YW55KSA9PiB7XHJcbiAgICBPYmplY3Qua2V5cyhpdGVtKT8uZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICBmaWVsZFNldC5hZGQoa2V5KTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gQXJyYXkuZnJvbShmaWVsZFNldCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9ybWF0cyB0aGUgaW5wdXQgb2JqZWN0IGludG8gYSBuZXcgYXJyYXkgd2l0aCBmaWVsZE5hbWUgYW5kIHZhbHVlIHBhaXJzIChORVcgQVBJIGZvcm1hdClcclxuICogQHBhcmFtIGlucHV0IFRoZSBpbnB1dCBvYmplY3QgdG8gYmUgZm9ybWF0dGVkXHJcbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgYXJyYXkgd2l0aCBmaWVsZE5hbWUgYW5kIHZhbHVlIHBhaXJzXHJcbiAqL1xyXG5mdW5jdGlvbiBmb3JtYXRBcnJheShpbnB1dDogYW55KSB7XHJcbiAgaWYgKGlucHV0ICE9PSBudWxsICYmIE9iamVjdC5rZXlzKGlucHV0KT8ubGVuZ3RoKSB7XHJcbiAgICBjb25zdCBuZXdPYmogPSBPYmplY3Qua2V5cyhpbnB1dCkubWFwKChrZXkpID0+IHtcclxuICAgICAgbGV0IHZhbHVlOiBhbnkgPSAnJztcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5wdXRba2V5XSkpIHtcclxuICAgICAgICBpZiAoa2V5ID09PSAnQ2hpbGRfUmVsYXRpb25zaGlwJykge1xyXG4gICAgICAgICAgdmFsdWUgPSBoYW5kbGVDaGlsZFJlbGF0aW9uc2hpcChpbnB1dFtrZXldKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFsdWUgPSBoYW5kbGVjaGlsZChpbnB1dFtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0W2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgdmFsdWUgPSBoYW5kbGVPYmplY3QoaW5wdXRba2V5XSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFsdWUgPSBpbnB1dFtrZXldO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IGZpZWxkTmFtZToga2V5LCB2YWx1ZSB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3T2JqO1xyXG4gIH1cclxuICByZXR1cm4gaW5wdXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIHRoZSBDaGlsZF9SZWxhdGlvbnNoaXAga2V5IGluIHRoZSBpbnB1dCBvYmplY3RcclxuICogQHBhcmFtIGNoaWxkIFRoZSB2YWx1ZSBvZiB0aGUgQ2hpbGRfUmVsYXRpb25zaGlwIGtleVxyXG4gKiBAcmV0dXJucyBUaGUgSlNPTiBzdHJpbmdpZmllZCB2YWx1ZSBpZiBub3QgbnVsbCwgZW1wdHksIG9yICdudWxsJzsgb3RoZXJ3aXNlIG51bGxcclxuICovXHJcbmZ1bmN0aW9uIGhhbmRsZUNoaWxkUmVsYXRpb25zaGlwKGNoaWxkOiBhbnkpIHtcclxuICBpZiAoY2hpbGQgIT09IG51bGwgJiYgY2hpbGQgIT09ICcnICYmIGNoaWxkICE9PSAnbnVsbCcpIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShjaGlsZCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlY2hpbGQoaW5wdXQ6IGFueSkge1xyXG4gIGNvbnN0IGFycmF5OiBhbnlbXSA9IFtdO1xyXG4gIGlmIChpbnB1dCAhPT0gbnVsbCkge1xyXG4gICAgaW5wdXQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld09iaiA9IE9iamVjdC5rZXlzKGVsZW1lbnQpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgbGV0IHZhbHVlOiBhbnkgPSAnJztcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbGVtZW50W2tleV0pKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGhhbmRsZWNoaWxkKGVsZW1lbnRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZWxlbWVudFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgdmFsdWUgPSBmb3JtYXRBcnJheShlbGVtZW50W2tleV0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGVsZW1lbnRba2V5XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgZmllbGROYW1lOiBrZXksIHZhbHVlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgICBhcnJheS5wdXNoKG5ld09iaik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheTtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIG9iamVjdCBrZXlzIGluIHRoZSBpbnB1dCBvYmplY3QgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXNcclxuICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIGJlIGhhbmRsZWRcclxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5naWZpZWQgdmFsdWUgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXMgb3IgcmVjdXJzaXZlbHkgZm9ybWF0cyB0aGUgb2JqZWN0XHJcbiAqL1xyXG5mdW5jdGlvbiBoYW5kbGVPYmplY3Qob2JqOiBhbnkpIHtcclxuICBpZiAob2JqID09PSBudWxsKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgc3dpdGNoIChPYmplY3Qua2V5cyhvYmopWzBdKSB7XHJcbiAgICBjYXNlICdDb250YWluZXInOlxyXG4gICAgY2FzZSAnU2V0dGluZ19WYWx1ZSc6XHJcbiAgICBjYXNlICdDaGlsZF9SZWxhdGlvbnNoaXAnOlxyXG4gICAgY2FzZSAnU2NyZWVuQ29uZmlndXJhdGlvbic6XHJcbiAgICBjYXNlICdBcHBPYmplY3RDb25maWd1cmF0aW9uJzpcclxuICAgIGNhc2UgJ1NjaGVtYUNvbmZpZyc6XHJcbiAgICBjYXNlICdDcml0ZXJpYSc6XHJcbiAgICBjYXNlICdBcHBseUNyaXRlcmlhJzpcclxuICAgIGNhc2UgJ1NMQVNldHRpbmcnOlxyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBmb3JtYXRBcnJheShvYmopO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgYmxhbmsgdmFsdWVzIGZyb20gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gZGF0YU9iaiBUaGUgaW5wdXQgb2JqZWN0IHRvIHJlbW92ZSBibGFuayB2YWx1ZXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rVmFsdWUoZGF0YU9iajogYW55KSB7XHJcbiAgT2JqZWN0LmtleXMoZGF0YU9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGlmIChkYXRhT2JqW2tleV0ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhT2JqW2tleV0uZm9yRWFjaCgoaXRlbTogeyBWYWx1ZTogYW55IH0sIGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlzVmFsdWVCbGFuayhpdGVtKSkge1xyXG4gICAgICAgICAgICBkYXRhT2JqW2tleV0uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgIFxyXG4gICAgfSBlbHNlIGlmIChkYXRhT2JqW2tleV0gJiYgdHlwZW9mIGRhdGFPYmpba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKGRhdGFPYmpba2V5XSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmpba2V5XSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2UgaWYgKGlzVmFsdWVCbGFuayhkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIGFycmF5IGtleXMgZnJvbSB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBkYXRhT2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gcmVtb3ZlIGJsYW5rIGFycmF5IGtleXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rQXJyYXlLZXlzKGRhdGFPYmo6IGFueSkge1xyXG4gIGRhdGFPYmouZm9yRWFjaCgoZWxlbWVudDogYW55LCBpOiBhbnkpID0+IHtcclxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuaGFzT3duUHJvcGVydHkoJ1ZhbHVlJykpIHtcclxuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LlZhbHVlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50LlZhbHVlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgZGF0YU9iai5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNWYWx1ZUJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09ICdudWxsJyB8fCB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCc7XHJcbn0iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVE7SUFDeEMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsU0FBYztJQUNoRCxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU5QyxPQUFPLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFRLEVBQUUsRUFBRTtRQUNqQyxPQUFPLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTFCLDZDQUE2QztZQUM3QyxJQUNFLEtBQUs7Z0JBQ0wsT0FBTyxLQUFLLEtBQUss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LEVBQUUsSUFBSSxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxXQUFXLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuLyoqXHJcbiAqIFZhbGlkYXRlcyBpZiBhIHN0cmluZyBpcyBhIHZhbGlkIEpTT04uXHJcbiAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byB2YWxpZGF0ZS5cclxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgSlNPTiwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSlNPTihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShzdHIpO1xyXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChqc29uKS5zbGljZSg4LCAtMSkgPT09ICdPYmplY3QnO1xyXG4gIH0gY2F0Y2ggKGUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGR5bmFtaWMgZGF0YSBiYXNlZCBvbiB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBvYmogVGhlIGlucHV0IG9iamVjdCB0byBjcmVhdGUgZHluYW1pYyBkYXRhIGZyb21cclxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBhcnJheVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUR5bmFtaWNEYXRhKG9iajogYW55KSB7XHJcbiAgcmV0dXJuIGZvcm1hdEFycmF5KG9iaik7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSB2YWx1ZXMgZm9yIGJ1bGsgaW5zZXJ0IGJhc2VkIG9uIHRoZSBpbnB1dCBkYXRhIGFycmF5XHJcbiAqIEBwYXJhbSB7YW55W119IGRhdGFBcnJheSBUaGUgaW5wdXQgZGF0YSBhcnJheSB0byBjcmVhdGUgYnVsayBpbnNlcnQgdmFsdWVzIGZyb21cclxuICogQHJldHVybnMge2FueVtdW119IFRoZSBmb3JtYXR0ZWQgYXJyYXkgb2YgdmFsdWVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVsa0luc2VydFZhbHVlcyhkYXRhQXJyYXk6IGFueSkge1xyXG4gIGNvbnN0IGZpZWxkcyA9IGdldEJ1bGtJbnNlcnRGaWVsZHMoZGF0YUFycmF5KTtcclxuXHJcbiAgcmV0dXJuIGRhdGFBcnJheT8ubWFwKChpdGVtOmFueSkgPT4ge1xyXG4gICAgcmV0dXJuIGZpZWxkcz8ubWFwKGZpZWxkID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBpdGVtW2ZpZWxkXTtcclxuXHJcbiAgICAgIC8vIEhhbmRsZSBuZXN0ZWQgb2JqZWN0IChub24tYXJyYXksIG5vbi1udWxsKVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdmFsdWUgJiZcclxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXHJcbiAgICAgICAgIUFycmF5LmlzQXJyYXkodmFsdWUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IHN1YkZpZWxkcyA9IE9iamVjdC5rZXlzKHZhbHVlKTtcclxuICAgICAgICBjb25zdCBzdWJWYWx1ZXMgPSBzdWJGaWVsZHMubWFwKHN1YktleSA9PiB2YWx1ZVtzdWJLZXldKTtcclxuXHJcbiAgICAgICAgLy8gUmV0dXJuIGFuIG9iamVjdCB3aXRoIGZpZWxkcyBhbmQgdmFsdWVzIGZvciBuZXN0ZWQgb2JqZWN0XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIEZpZWxkczogc3ViRmllbGRzLFxyXG4gICAgICAgICAgVmFsdWVzOiBzdWJWYWx1ZXNcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZXR1cm4gdGhlIHZhbHVlIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIG51bGxcclxuICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICB9KTtcclxuICB9KTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBmaWVsZHMgZm9yIGJ1bGsgaW5zZXJ0IGJhc2VkIG9uIHRoZSBpbnB1dCBkYXRhIGFycmF5XHJcbiAqIEBwYXJhbSB7YW55W119IGRhdGFBcnJheSBUaGUgaW5wdXQgZGF0YSBhcnJheSB0byBjcmVhdGUgYnVsayBpbnNlcnQgZmllbGRzIGZyb21cclxuICogQHJldHVybnMge3N0cmluZ1tdfSBUaGUgZm9ybWF0dGVkIGFycmF5IG9mIGZpZWxkc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1bGtJbnNlcnRGaWVsZHMoZGF0YUFycmF5OiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgLyoqXHJcbiAgICogQSBTZXQgdG8ga2VlcCB0cmFjayBvZiB0aGUgZmllbGRzIGluIHRoZSBpbnB1dCBkYXRhIGFycmF5XHJcbiAgICogQHR5cGUge1NldDxzdHJpbmc+fVxyXG4gICAqL1xyXG4gIGNvbnN0IGZpZWxkU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgZGF0YUFycmF5Py5mb3JFYWNoKChpdGVtOmFueSkgPT4ge1xyXG4gICAgT2JqZWN0LmtleXMoaXRlbSk/LmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgZmllbGRTZXQuYWRkKGtleSk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIEFycmF5LmZyb20oZmllbGRTZXQpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvcm1hdHMgdGhlIGlucHV0IG9iamVjdCBpbnRvIGEgbmV3IGFycmF5IHdpdGggQXBwRmllbGRJRCBhbmQgVmFsdWUgcGFpcnNcclxuICogQHBhcmFtIGlucHV0IFRoZSBpbnB1dCBvYmplY3QgdG8gYmUgZm9ybWF0dGVkXHJcbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgYXJyYXkgd2l0aCBBcHBGaWVsZElEIGFuZCBWYWx1ZSBwYWlyc1xyXG4gKi9cclxuZnVuY3Rpb24gZm9ybWF0QXJyYXkoaW5wdXQ6IGFueSkge1xyXG4gIGlmIChpbnB1dCAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhpbnB1dCk/Lmxlbmd0aCkge1xyXG4gICAgY29uc3QgbmV3T2JqID0gT2JqZWN0LmtleXMoaW5wdXQpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGxldCBWYWx1ZTogYW55ID0gJyc7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGlucHV0W2tleV0pKSB7XHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ0NoaWxkX1JlbGF0aW9uc2hpcCcpIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlQ2hpbGRSZWxhdGlvbnNoaXAoaW5wdXRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlY2hpbGQoaW5wdXRba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIFZhbHVlID0gaGFuZGxlT2JqZWN0KGlucHV0W2tleV0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFZhbHVlID0gaW5wdXRba2V5XTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geyBBcHBGaWVsZElEOiBrZXksIFZhbHVlIH07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXdPYmo7XHJcbiAgfVxyXG4gIHJldHVybiBpbnB1dDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgdGhlIENoaWxkX1JlbGF0aW9uc2hpcCBrZXkgaW4gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gY2hpbGQgVGhlIHZhbHVlIG9mIHRoZSBDaGlsZF9SZWxhdGlvbnNoaXAga2V5XHJcbiAqIEByZXR1cm5zIFRoZSBKU09OIHN0cmluZ2lmaWVkIHZhbHVlIGlmIG5vdCBudWxsLCBlbXB0eSwgb3IgJ251bGwnOyBvdGhlcndpc2UgbnVsbFxyXG4gKi9cclxuZnVuY3Rpb24gaGFuZGxlQ2hpbGRSZWxhdGlvbnNoaXAoY2hpbGQ6IGFueSkge1xyXG4gIGlmIChjaGlsZCAhPT0gbnVsbCAmJiBjaGlsZCAhPT0gJycgJiYgY2hpbGQgIT09ICdudWxsJykge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGNoaWxkKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBoYW5kbGVjaGlsZChpbnB1dDogYW55KSB7XHJcbiAgY29uc3QgYXJyYXk6IGFueVtdID0gW107XHJcbiAgaWYgKGlucHV0ICE9PSBudWxsKSB7XHJcbiAgICBpbnB1dC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgbmV3T2JqID0gT2JqZWN0LmtleXMoZWxlbWVudCkubWFwKChrZXkpID0+IHtcclxuICAgICAgICBsZXQgVmFsdWU6IGFueSA9ICcnO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVsZW1lbnRba2V5XSkpIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlY2hpbGQoZWxlbWVudFtrZXldKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbGVtZW50W2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBWYWx1ZSA9IGZvcm1hdEFycmF5KGVsZW1lbnRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFZhbHVlID0gZWxlbWVudFtrZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geyBBcHBGaWVsZElEOiBrZXksIFZhbHVlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgICBhcnJheS5wdXNoKG5ld09iaik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheTtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIG9iamVjdCBrZXlzIGluIHRoZSBpbnB1dCBvYmplY3QgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXNcclxuICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIGJlIGhhbmRsZWRcclxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5naWZpZWQgdmFsdWUgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXMgb3IgcmVjdXJzaXZlbHkgZm9ybWF0cyB0aGUgb2JqZWN0XHJcbiAqL1xyXG5mdW5jdGlvbiBoYW5kbGVPYmplY3Qob2JqOiBhbnkpIHtcclxuICBpZiAob2JqID09PSBudWxsKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgc3dpdGNoIChPYmplY3Qua2V5cyhvYmopWzBdKSB7XHJcbiAgICBjYXNlICdDb250YWluZXInOlxyXG4gICAgY2FzZSAnU2V0dGluZ19WYWx1ZSc6XHJcbiAgICBjYXNlICdDaGlsZF9SZWxhdGlvbnNoaXAnOlxyXG4gICAgY2FzZSAnU2NyZWVuQ29uZmlndXJhdGlvbic6XHJcbiAgICBjYXNlICdBcHBPYmplY3RDb25maWd1cmF0aW9uJzpcclxuICAgIGNhc2UgJ1NjaGVtYUNvbmZpZyc6XHJcbiAgICBjYXNlICdDcml0ZXJpYSc6XHJcbiAgICBjYXNlICdBcHBseUNyaXRlcmlhJzpcclxuICAgIGNhc2UgJ1NMQVNldHRpbmcnOlxyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBmb3JtYXRBcnJheShvYmopO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgYmxhbmsgdmFsdWVzIGZyb20gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gZGF0YU9iaiBUaGUgaW5wdXQgb2JqZWN0IHRvIHJlbW92ZSBibGFuayB2YWx1ZXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rVmFsdWUoZGF0YU9iajogYW55KSB7XHJcbiAgT2JqZWN0LmtleXMoZGF0YU9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGlmIChkYXRhT2JqW2tleV0ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhT2JqW2tleV0uZm9yRWFjaCgoaXRlbTogeyBWYWx1ZTogYW55IH0sIGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlzVmFsdWVCbGFuayhpdGVtKSkge1xyXG4gICAgICAgICAgICBkYXRhT2JqW2tleV0uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgIFxyXG4gICAgfSBlbHNlIGlmIChkYXRhT2JqW2tleV0gJiYgdHlwZW9mIGRhdGFPYmpba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKGRhdGFPYmpba2V5XSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmpba2V5XSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2UgaWYgKGlzVmFsdWVCbGFuayhkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIGFycmF5IGtleXMgZnJvbSB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBkYXRhT2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gcmVtb3ZlIGJsYW5rIGFycmF5IGtleXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rQXJyYXlLZXlzKGRhdGFPYmo6IGFueSkge1xyXG4gIGRhdGFPYmouZm9yRWFjaCgoZWxlbWVudDogYW55LCBpOiBhbnkpID0+IHtcclxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuaGFzT3duUHJvcGVydHkoJ1ZhbHVlJykpIHtcclxuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LlZhbHVlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50LlZhbHVlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgZGF0YU9iai5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNWYWx1ZUJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09ICdudWxsJyB8fCB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCc7XHJcbn0iXX0=
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
import { HttpHeaders } from '@angular/common/http';
|
|
4
4
|
import { Common } from '../constants/common';
|
|
5
|
+
import { getAppObject, getDsqIdfromSelectedAppObjectDSQArray, } from './tab-app.util';
|
|
6
|
+
import { API } from '../constants/api-constants';
|
|
7
|
+
import { getFormBuilderType } from './form-builder.util';
|
|
5
8
|
import { StorageConstants } from '../constants/storage-constants';
|
|
6
9
|
import { SessionStorageService } from '../../auth/session-storage.service';
|
|
7
10
|
import { EncryptionService } from '../../core/service/encryption.service';
|
|
@@ -107,6 +110,57 @@ export function getEditRecordId(response, fieldName) {
|
|
|
107
110
|
}
|
|
108
111
|
return recordId;
|
|
109
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Generate the fields schema based on the AppFields
|
|
115
|
+
*
|
|
116
|
+
* @param fields - The AppFields object
|
|
117
|
+
* @returns any - The generated fields schema
|
|
118
|
+
*/
|
|
119
|
+
export function generateFieldsSchema(url, fields) {
|
|
120
|
+
let schema = {};
|
|
121
|
+
// const apiUrl = getApiUrl();
|
|
122
|
+
if (fields.hasOwnProperty('LookUpDetails')) {
|
|
123
|
+
const selectedAppObject = getAppObject(fields.LookUpDetails.LookupObject);
|
|
124
|
+
const dsqID = getDsqIdfromSelectedAppObjectDSQArray(selectedAppObject?.DataSourceQueries, fields.LookUpDetails.LookupObject, 'List');
|
|
125
|
+
schema = {
|
|
126
|
+
label: fields.DisplayName,
|
|
127
|
+
type: 'select',
|
|
128
|
+
key: fields.SystemDBFieldName,
|
|
129
|
+
input: true,
|
|
130
|
+
dataSrc: 'url',
|
|
131
|
+
valueProperty: fields.LookUpDetails.LookupField,
|
|
132
|
+
template: `<span>{{ item.${fields.LookUpDetails.DisplayField} }}</span>`,
|
|
133
|
+
selectValues: 'Result',
|
|
134
|
+
data: {
|
|
135
|
+
// url: `${apiUrl}${API.getListFromDsq}${dsqID}`,// API.getListFromDsq + dsqID,
|
|
136
|
+
url: `${url}${API.getListFromDsq}${dsqID}`, // API.getListFromDsq + dsqID,
|
|
137
|
+
headers: [
|
|
138
|
+
{
|
|
139
|
+
"key": StorageConstants.applicationCode,
|
|
140
|
+
"value": sessionStorageService.getSessionStorage(StorageConstants.applicationCode)
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"key": StorageConstants.Authorization,
|
|
144
|
+
"value": sessionStorageService.getSessionStorage(StorageConstants.token)
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"key": StorageConstants.TenantId,
|
|
148
|
+
"value": sessionStorageService.getSessionStorage(StorageConstants.TenantId)
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
schema = {
|
|
156
|
+
label: fields.DisplayName,
|
|
157
|
+
type: getFormBuilderType(fields.FieldType.DataType),
|
|
158
|
+
key: fields.SystemDBFieldName,
|
|
159
|
+
input: true,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return schema;
|
|
163
|
+
}
|
|
110
164
|
/**
|
|
111
165
|
* Get the HttpHeaders for form data requests
|
|
112
166
|
*
|
|
@@ -123,4 +177,4 @@ export function getFormDataHeaders() {
|
|
|
123
177
|
}
|
|
124
178
|
return null;
|
|
125
179
|
}
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFDbEQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFM0U7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWEsRUFBRSxHQUFXO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQWE7SUFDM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxRQUFhLEVBQUUsTUFBVztJQUNqRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7UUFDOUIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQWE7SUFDdEMsSUFBRyxPQUFPLEVBQUMsQ0FBQztRQUNWLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsNkZBQTZGO1FBQzdGLGdCQUFnQjtRQUNoQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRXZDLElBQUksQ0FBQyxLQUFLLElBQUksV0FBVyxFQUFFLENBQUM7WUFDeEIsd0NBQXdDO1lBQ3hDLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ25CLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxXQUFXO2dCQUMxQixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7YUFDMUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDZixxQkFBcUI7WUFDckIsT0FBTyxJQUFJLFdBQVcsQ0FBQztnQkFDbkIsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTthQUMxQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsNkNBQTZDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUVILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUFvQjtJQUN0RCxJQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDOUIsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQWEsRUFBRSxTQUFjO0lBQzNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekMsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLGlCQUFpQixDQUNyRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQ3ZCLENBQUM7SUFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixNQUFNLEVBQUUsS0FBSztZQUNiLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuLi9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuY29uc3QgZW5jcnlwdGlvblNlcnZpY2UgPSBuZXcgRW5jcnlwdGlvblNlcnZpY2UoKTtcclxuY29uc3Qgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlID0gbmV3IFNlc3Npb25TdG9yYWdlU2VydmljZShlbmNyeXB0aW9uU2VydmljZSk7XHJcblxyXG4vKipcclxuICogRGVsZXRlIGEga2V5IGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIGJlIGRlbGV0ZWRcclxuICogQHJldHVybnMgYW55IC0gVGhlIHVwZGF0ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlOiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgZGVsZXRlIHJlc3BvbnNlW2tleV07XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBwcmltYXJ5IGtleSBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGQgLSBUaGUgZmllbGQgdG8gYmUgcmVtb3ZlZCBhcyBwcmltYXJ5IGtleVxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgdXBkYXRlZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQcmltYXJ5S2V5KHJlc3BvbnNlOiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcclxuICBpZiAoZmllbGQpIHtcclxuICAgIGRlbGV0ZUtleUZyb21SZXNwb25zZShyZXNwb25zZSwgZmllbGQpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbXVsdGlwbGUgcHJpbWFyeSBrZXlzIGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBmaWVsZHMgLSBUaGUgYXJyYXkgb2YgZmllbGRzIHRvIGJlIHJlbW92ZWQgYXMgcHJpbWFyeSBrZXlzXHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSB1cGRhdGVkIHJlc3BvbnNlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU11bHRpcGxlUHJpbWFyeUtleShyZXNwb25zZTogYW55LCBmaWVsZHM6IGFueSkge1xyXG4gIGZpZWxkcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgIGRlbGV0ZSByZXNwb25zZVtlbGVtZW50LkZpZWxkTmFtZV07XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBIdHRwSGVhZGVycyBmb3IgQVBJIHJlcXVlc3RzXHJcbiAqXHJcbiAqIEByZXR1cm5zIEh0dHBIZWFkZXJzIHwgbnVsbCAtIFRoZSBIdHRwSGVhZGVycyBvYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEhlYWRlcnMoaGVhZGVycz86IGFueSkge1xyXG4gIGlmKGhlYWRlcnMpe1xyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFN0b3JhZ2VDb25zdGFudHMudG9rZW4pO1xyXG4gICAgLy8gY29uc3Qgc3RhdGljVG9rZW4gPSBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoU3RvcmFnZUNvbnN0YW50cy5zdGF0aWNUb2tlbik7XHJcbiAgICAvLyBwYXRjaCB2ZXJzaW9uXHJcbiAgICBjb25zdCBzdGF0aWNUb2tlbiA9IENvbW1vbi5zdGF0aWNUb2tlbjtcclxuICAgIFxyXG4gICAgaWYgKCF0b2tlbiAmJiBzdGF0aWNUb2tlbikge1xyXG4gICAgICAgIC8vIFRva2VuIGlzIGVtcHR5IGJ1dCBzdGF0aWNUb2tlbiBpcyBub3RcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogc3RhdGljVG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAodG9rZW4pIHtcclxuICAgICAgICAvLyBUb2tlbiBpcyBub3QgZW1wdHlcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVuIGJvdGggdG9rZW5zIGFyZSBlbXB0eVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBwcmltYXJ5IGtleSBmaWVsZHMgZnJvbSB0aGUgQXBwT2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSBhcHBPYmplY3QgLSBUaGUgQXBwT2JqZWN0XHJcbiAqIEByZXR1cm5zIEFwcEZpZWxkc1tdIHwgbnVsbCAtIFRoZSBhcnJheSBvZiBwcmltYXJ5IGtleSBmaWVsZHMgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmltYXJ5S2V5RmllbGRzKGFwcE9iamVjdDogQXBwT2JqZWN0KSB7XHJcbiAgaWYgKGFwcE9iamVjdD8uRmllbGRzPy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBhcHBPYmplY3QuRmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLklzUHJpbWFyeUtleSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBlZGl0IHJlY29yZCBJRCBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIGZpZWxkIG5hbWUgZm9yIHRoZSBlZGl0IHJlY29yZCBJRFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZWRpdCByZWNvcmQgSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0UmVjb3JkSWQocmVzcG9uc2U6IGFueSwgZmllbGROYW1lOiBhbnkpIHtcclxuICBsZXQgcmVjb3JkSWQgPSBudWxsO1xyXG4gIGlmIChmaWVsZE5hbWUpIHtcclxuICAgIHJlY29yZElkID0gcmVzcG9uc2VbZmllbGROYW1lXSB8fCBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZWNvcmRJZCA9IHJlc3BvbnNlLklkIHx8IHJlc3BvbnNlLklEIHx8IG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiByZWNvcmRJZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgSHR0cEhlYWRlcnMgZm9yIGZvcm0gZGF0YSByZXF1ZXN0c1xyXG4gKlxyXG4gKiBAcmV0dXJucyBIdHRwSGVhZGVycyB8IG51bGwgLSBUaGUgSHR0cEhlYWRlcnMgb2JqZWN0IG9yIG51bGxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtRGF0YUhlYWRlcnMoKSB7XHJcbiAgY29uc3QgaXNUb2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShcclxuICAgIFN0b3JhZ2VDb25zdGFudHMudG9rZW5cclxuICApO1xyXG4gIGlmIChpc1Rva2VuKSB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgQWNjZXB0OiAnKi8qJyxcclxuICAgICAgQXV0aG9yaXphdGlvbjogaXNUb2tlbixcclxuICAgICAgQXBwbGljYXRpb25Db2RlOiBDb21tb24uYXBwbGljYXRpb25Db2RlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcbiJdfQ==
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUNMLFlBQVksRUFDWixxQ0FBcUMsR0FDdEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFDbEQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFM0U7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWEsRUFBRSxHQUFXO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQWE7SUFDM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLHFCQUFxQixDQUFD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QUFDaEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLGlCQUFpQixDQUNyRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQ3ZCLENBQUM7SUFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixNQUFNLEVBQUUsS0FBSztZQUNiLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuLi9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgZ2V0QXBwT2JqZWN0LFxyXG4gIGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXksXHJcbn0gZnJvbSAnLi90YWItYXBwLnV0aWwnO1xyXG5pbXBvcnQgeyBBcHBGaWVsZHMgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0Rm9ybUJ1aWxkZXJUeXBlIH0gZnJvbSAnLi9mb3JtLWJ1aWxkZXIudXRpbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuY29uc3QgZW5jcnlwdGlvblNlcnZpY2UgPSBuZXcgRW5jcnlwdGlvblNlcnZpY2UoKTtcclxuY29uc3Qgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlID0gbmV3IFNlc3Npb25TdG9yYWdlU2VydmljZShlbmNyeXB0aW9uU2VydmljZSk7XHJcblxyXG4vKipcclxuICogRGVsZXRlIGEga2V5IGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIGJlIGRlbGV0ZWRcclxuICogQHJldHVybnMgYW55IC0gVGhlIHVwZGF0ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlOiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgZGVsZXRlIHJlc3BvbnNlW2tleV07XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBwcmltYXJ5IGtleSBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGQgLSBUaGUgZmllbGQgdG8gYmUgcmVtb3ZlZCBhcyBwcmltYXJ5IGtleVxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgdXBkYXRlZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQcmltYXJ5S2V5KHJlc3BvbnNlOiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcclxuICBpZiAoZmllbGQpIHtcclxuICAgIGRlbGV0ZUtleUZyb21SZXNwb25zZShyZXNwb25zZSwgZmllbGQpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbXVsdGlwbGUgcHJpbWFyeSBrZXlzIGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBmaWVsZHMgLSBUaGUgYXJyYXkgb2YgZmllbGRzIHRvIGJlIHJlbW92ZWQgYXMgcHJpbWFyeSBrZXlzXHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSB1cGRhdGVkIHJlc3BvbnNlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU11bHRpcGxlUHJpbWFyeUtleShyZXNwb25zZTogYW55LCBmaWVsZHM6IGFueSkge1xyXG4gIGZpZWxkcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgIGRlbGV0ZSByZXNwb25zZVtlbGVtZW50LkZpZWxkTmFtZV07XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBIdHRwSGVhZGVycyBmb3IgQVBJIHJlcXVlc3RzXHJcbiAqXHJcbiAqIEByZXR1cm5zIEh0dHBIZWFkZXJzIHwgbnVsbCAtIFRoZSBIdHRwSGVhZGVycyBvYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEhlYWRlcnMoaGVhZGVycz86IGFueSkge1xyXG4gIGlmKGhlYWRlcnMpe1xyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFN0b3JhZ2VDb25zdGFudHMudG9rZW4pO1xyXG4gICAgLy8gY29uc3Qgc3RhdGljVG9rZW4gPSBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoU3RvcmFnZUNvbnN0YW50cy5zdGF0aWNUb2tlbik7XHJcbiAgICAvLyBwYXRjaCB2ZXJzaW9uXHJcbiAgICBjb25zdCBzdGF0aWNUb2tlbiA9IENvbW1vbi5zdGF0aWNUb2tlbjtcclxuICAgIFxyXG4gICAgaWYgKCF0b2tlbiAmJiBzdGF0aWNUb2tlbikge1xyXG4gICAgICAgIC8vIFRva2VuIGlzIGVtcHR5IGJ1dCBzdGF0aWNUb2tlbiBpcyBub3RcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogc3RhdGljVG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAodG9rZW4pIHtcclxuICAgICAgICAvLyBUb2tlbiBpcyBub3QgZW1wdHlcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVuIGJvdGggdG9rZW5zIGFyZSBlbXB0eVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBwcmltYXJ5IGtleSBmaWVsZHMgZnJvbSB0aGUgQXBwT2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSBhcHBPYmplY3QgLSBUaGUgQXBwT2JqZWN0XHJcbiAqIEByZXR1cm5zIEFwcEZpZWxkc1tdIHwgbnVsbCAtIFRoZSBhcnJheSBvZiBwcmltYXJ5IGtleSBmaWVsZHMgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmltYXJ5S2V5RmllbGRzKGFwcE9iamVjdDogQXBwT2JqZWN0KSB7XHJcbiAgaWYgKGFwcE9iamVjdD8uRmllbGRzPy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBhcHBPYmplY3QuRmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLklzUHJpbWFyeUtleSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBlZGl0IHJlY29yZCBJRCBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIGZpZWxkIG5hbWUgZm9yIHRoZSBlZGl0IHJlY29yZCBJRFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZWRpdCByZWNvcmQgSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0UmVjb3JkSWQocmVzcG9uc2U6IGFueSwgZmllbGROYW1lOiBhbnkpIHtcclxuICBsZXQgcmVjb3JkSWQgPSBudWxsO1xyXG4gIGlmIChmaWVsZE5hbWUpIHtcclxuICAgIHJlY29yZElkID0gcmVzcG9uc2VbZmllbGROYW1lXSB8fCBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZWNvcmRJZCA9IHJlc3BvbnNlLklkIHx8IHJlc3BvbnNlLklEIHx8IG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiByZWNvcmRJZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIHRoZSBmaWVsZHMgc2NoZW1hIGJhc2VkIG9uIHRoZSBBcHBGaWVsZHNcclxuICpcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBBcHBGaWVsZHMgb2JqZWN0XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSBnZW5lcmF0ZWQgZmllbGRzIHNjaGVtYVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmllbGRzU2NoZW1hKHVybDphbnksZmllbGRzOiBBcHBGaWVsZHMpIHtcclxuICBsZXQgc2NoZW1hID0ge307XHJcbiAgLy8gY29uc3QgYXBpVXJsID0gZ2V0QXBpVXJsKCk7XHJcbiAgaWYgKGZpZWxkcy5oYXNPd25Qcm9wZXJ0eSgnTG9va1VwRGV0YWlscycpKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZEFwcE9iamVjdDogQXBwT2JqZWN0ID0gZ2V0QXBwT2JqZWN0KFxyXG4gICAgICBmaWVsZHMuTG9va1VwRGV0YWlscy5Mb29rdXBPYmplY3RcclxuICAgICk7XHJcbiAgICBjb25zdCBkc3FJRCA9IGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXkoXHJcbiAgICAgIHNlbGVjdGVkQXBwT2JqZWN0Py5EYXRhU291cmNlUXVlcmllcyxcclxuICAgICAgZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwT2JqZWN0LFxyXG4gICAgICAnTGlzdCdcclxuICAgICk7XHJcbiAgICBzY2hlbWEgPSB7XHJcbiAgICAgIGxhYmVsOiBmaWVsZHMuRGlzcGxheU5hbWUsXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBrZXk6IGZpZWxkcy5TeXN0ZW1EQkZpZWxkTmFtZSxcclxuICAgICAgaW5wdXQ6IHRydWUsXHJcbiAgICAgIGRhdGFTcmM6ICd1cmwnLFxyXG4gICAgICB2YWx1ZVByb3BlcnR5OiBmaWVsZHMuTG9va1VwRGV0YWlscy5Mb29rdXBGaWVsZCxcclxuICAgICAgdGVtcGxhdGU6IGA8c3Bhbj57eyBpdGVtLiR7ZmllbGRzLkxvb2tVcERldGFpbHMuRGlzcGxheUZpZWxkfSB9fTwvc3Bhbj5gLFxyXG4gICAgICBzZWxlY3RWYWx1ZXM6ICdSZXN1bHQnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgLy8gdXJsOiBgJHthcGlVcmx9JHtBUEkuZ2V0TGlzdEZyb21Ec3F9JHtkc3FJRH1gLC8vIEFQSS5nZXRMaXN0RnJvbURzcSArIGRzcUlELFxyXG4gICAgICAgIHVybDogYCR7dXJsfSR7QVBJLmdldExpc3RGcm9tRHNxfSR7ZHNxSUR9YCwvLyBBUEkuZ2V0TGlzdEZyb21Ec3EgKyBkc3FJRCxcclxuICAgICAgICBoZWFkZXJzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFN0b3JhZ2VDb25zdGFudHMuYXBwbGljYXRpb25Db2RlLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLmFwcGxpY2F0aW9uQ29kZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFN0b3JhZ2VDb25zdGFudHMuQXV0aG9yaXphdGlvbixcclxuICAgICAgICAgICAgXCJ2YWx1ZVwiOiBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoU3RvcmFnZUNvbnN0YW50cy50b2tlbilcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFN0b3JhZ2VDb25zdGFudHMuVGVuYW50SWQsXHJcbiAgICAgICAgICAgIFwidmFsdWVcIjogc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFN0b3JhZ2VDb25zdGFudHMuVGVuYW50SWQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAgXHJcbiAgICB9O1xyXG4gIH0gZWxzZSB7XHJcbiAgICBzY2hlbWEgPSB7XHJcbiAgICAgIGxhYmVsOiBmaWVsZHMuRGlzcGxheU5hbWUsXHJcbiAgICAgIHR5cGU6IGdldEZvcm1CdWlsZGVyVHlwZShmaWVsZHMuRmllbGRUeXBlLkRhdGFUeXBlKSxcclxuICAgICAga2V5OiBmaWVsZHMuU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICAgIGlucHV0OiB0cnVlLFxyXG4gICAgfTtcclxuICB9XHJcbiAgcmV0dXJuIHNjaGVtYTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgSHR0cEhlYWRlcnMgZm9yIGZvcm0gZGF0YSByZXF1ZXN0c1xyXG4gKlxyXG4gKiBAcmV0dXJucyBIdHRwSGVhZGVycyB8IG51bGwgLSBUaGUgSHR0cEhlYWRlcnMgb2JqZWN0IG9yIG51bGxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtRGF0YUhlYWRlcnMoKSB7XHJcbiAgY29uc3QgaXNUb2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShcclxuICAgIFN0b3JhZ2VDb25zdGFudHMudG9rZW5cclxuICApO1xyXG4gIGlmIChpc1Rva2VuKSB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgQWNjZXB0OiAnKi8qJyxcclxuICAgICAgQXV0aG9yaXphdGlvbjogaXNUb2tlbixcclxuICAgICAgQXBwbGljYXRpb25Db2RlOiBDb21tb24uYXBwbGljYXRpb25Db2RlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcbiJdfQ==
|