@techextensor/tab-core-utility 2.2.196 → 2.2.198
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/README.md +7 -0
- package/esm2022/index.mjs +11 -10
- package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +2 -10
- package/esm2022/lib/tab-core-utility/app/constants/common.mjs +16 -1
- package/esm2022/lib/tab-core-utility/app/crud/tab-blueprint.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +45 -39
- package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +14 -18
- package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +62 -206
- package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +11 -12
- package/esm2022/lib/tab-core-utility/app/crud/tab-release.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +36 -22
- package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +13 -13
- package/esm2022/lib/tab-core-utility/app/helpers/auth-response.adapter.mjs +31 -6
- package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +12 -13
- package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +11 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +15 -27
- package/esm2022/lib/tab-core-utility/app/helpers/common/template.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/user-personalization.helper.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +14 -59
- package/esm2022/lib/tab-core-utility/app/helpers/login-response.adapter.mjs +31 -6
- package/esm2022/lib/tab-core-utility/app/helpers/screen/forms.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +12 -96
- package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/plugin.helpers.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +7 -15
- package/esm2022/lib/tab-core-utility/app/interfaces/auth.interface.mjs +1 -1
- package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +36 -64
- package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +1 -27
- package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +4 -4
- package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +1 -22
- package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +4 -4
- package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +16 -18
- package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +9 -13
- package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +3 -3
- package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +1 -13
- package/esm2022/lib/tab-core-utility/app/utils/select-query.util.mjs +107 -0
- package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +8 -5
- package/esm2022/lib/tab-core-utility/auth/auth.service.mjs +8 -9
- package/esm2022/lib/tab-core-utility/auth/idb-storage.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/auth/local-storage.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/auth/session-storage.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/pipe/translate.pipe.mjs +11 -11
- package/esm2022/lib/tab-core-utility/core/service/confirmation.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/encryption.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/service/notification.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +7 -7
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +9 -9
- package/esm2022/lib/tab-core-utility/core/service/translation.service.mjs +9 -9
- package/index.d.ts +10 -1
- package/lib/tab-core-utility/app/constants/api-constants.d.ts +0 -4
- package/lib/tab-core-utility/app/constants/common.d.ts +15 -1
- package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +6 -1
- package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +16 -67
- package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +3 -1
- package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +2 -2
- package/lib/tab-core-utility/app/helpers/auth-response.adapter.d.ts +2 -0
- package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +4 -1
- package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +1 -0
- package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -17
- package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -18
- package/lib/tab-core-utility/app/helpers/login-response.adapter.d.ts +2 -0
- package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +0 -53
- package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -6
- package/lib/tab-core-utility/app/interfaces/auth.interface.d.ts +1 -2
- package/lib/tab-core-utility/app/models/api-query.class.d.ts +84 -94
- package/lib/tab-core-utility/app/models/app-object.class.d.ts +2 -65
- package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +2 -71
- package/lib/tab-core-utility/app/models/filter.model.d.ts +9 -11
- package/lib/tab-core-utility/app/models/sort.model.d.ts +5 -7
- package/lib/tab-core-utility/app/utils/filter.util.d.ts +2 -2
- package/lib/tab-core-utility/app/utils/req-res.util.d.ts +0 -8
- package/lib/tab-core-utility/app/utils/select-query.util.d.ts +24 -0
- package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +3 -3
- package/package.json +1 -3
- package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +0 -37
- package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +0 -30
|
@@ -7,7 +7,7 @@ import { WhereClauseHelper } from "../helpers/common/where-clause.helpers";
|
|
|
7
7
|
import { MetadataHelper } from "../helpers/common/meta-data.helpers";
|
|
8
8
|
import { syncAppObjectFields } from "../utils/tab-app.util";
|
|
9
9
|
import { createDynamicData } from "../utils/json.util";
|
|
10
|
-
import { getEditRecordId,
|
|
10
|
+
import { getEditRecordId, removeMultiplePrimaryKey, removePrimaryKey, getHeaders } from "../utils/req-res.util";
|
|
11
11
|
import { ApiService } from '../../core/http-client/api.service';
|
|
12
12
|
import { SignalRService } from '../../core/service/signalr/signalr.service';
|
|
13
13
|
import { API, APIServices } from '../constants/api-constants';
|
|
@@ -25,12 +25,13 @@ export class TabUpdateService {
|
|
|
25
25
|
* @param objectId The object ID
|
|
26
26
|
* @param data The data to update
|
|
27
27
|
* @param headers Optional headers
|
|
28
|
+
* @param customWhereClause Optional pre-built whereClause from caller-provided criteria.
|
|
29
|
+
* When provided, skips primary-key extraction from data.
|
|
28
30
|
* @returns Observable with update result
|
|
29
31
|
*/
|
|
30
|
-
updateByObjectId(objectId, data, headers) {
|
|
32
|
+
updateByObjectId(objectId, data, headers, customWhereClause) {
|
|
31
33
|
const fields = [];
|
|
32
34
|
const appObjectModel = this.metadataHelper.getAppObjectByIdOrName(objectId);
|
|
33
|
-
const appObject = appObjectModel?.toJSON();
|
|
34
35
|
if (!appObjectModel?.ID) {
|
|
35
36
|
return throwError(() => new Error(`AppObject not found: ${objectId}`));
|
|
36
37
|
}
|
|
@@ -38,21 +39,34 @@ export class TabUpdateService {
|
|
|
38
39
|
fields.push({ Field: element });
|
|
39
40
|
});
|
|
40
41
|
const crudTableName = appObjectModel.SystemDBTableName;
|
|
41
|
-
syncAppObjectFields(data.data,
|
|
42
|
-
const PrimaryKeyFields =
|
|
43
|
-
if (!
|
|
42
|
+
syncAppObjectFields(data.data, appObjectModel);
|
|
43
|
+
const PrimaryKeyFields = appObjectModel?.findFields((field) => field.IsPrimaryKey);
|
|
44
|
+
if (!data.data) {
|
|
44
45
|
return null;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
-
data
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
let whereClause = customWhereClause;
|
|
48
|
+
// Fallback: extract primary key from data when caller didn't provide criteria
|
|
49
|
+
if (!whereClause?.filters?.length) {
|
|
50
|
+
const recordId = getEditRecordId(data.data, PrimaryKeyFields[0]?.FieldName);
|
|
51
|
+
data['recordId'] = recordId;
|
|
52
|
+
if (PrimaryKeyFields && PrimaryKeyFields.length === 1) {
|
|
53
|
+
removePrimaryKey(data.data, PrimaryKeyFields[0]?.FieldName);
|
|
54
|
+
whereClause = this.whereClauseHelper.bindWhereClauseForUpdateGrid(fields, data.recordId, PrimaryKeyFields[0].FieldName, crudTableName);
|
|
55
|
+
}
|
|
56
|
+
else if (PrimaryKeyFields && PrimaryKeyFields.length > 1) {
|
|
57
|
+
whereClause = this.whereClauseHelper.bindWhereClauseForMultiplePrimaryKeys(data.data, PrimaryKeyFields, crudTableName);
|
|
58
|
+
removeMultiplePrimaryKey(data.data, PrimaryKeyFields);
|
|
59
|
+
}
|
|
52
60
|
}
|
|
53
|
-
else
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
else {
|
|
62
|
+
// Caller-provided criteria wins. Strip PK fields from data so the update
|
|
63
|
+
// payload doesn't try to modify the PK column itself.
|
|
64
|
+
if (PrimaryKeyFields && PrimaryKeyFields.length === 1) {
|
|
65
|
+
removePrimaryKey(data.data, PrimaryKeyFields[0]?.FieldName);
|
|
66
|
+
}
|
|
67
|
+
else if (PrimaryKeyFields && PrimaryKeyFields.length > 1) {
|
|
68
|
+
removeMultiplePrimaryKey(data.data, PrimaryKeyFields);
|
|
69
|
+
}
|
|
56
70
|
}
|
|
57
71
|
// Remove blank values
|
|
58
72
|
const filteredData = { ...data.data };
|
|
@@ -186,11 +200,11 @@ export class TabUpdateService {
|
|
|
186
200
|
return throwError(() => error);
|
|
187
201
|
}));
|
|
188
202
|
}
|
|
189
|
-
static { this.ɵfac =
|
|
190
|
-
static { this.ɵprov =
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabUpdateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
204
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabUpdateService, providedIn: 'root' }); }
|
|
191
205
|
}
|
|
192
|
-
(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXVwZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckksT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUs5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRW1CLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLHNC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QUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7aUZBdk9VLGdCQUFnQjt1RUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFESCxNQUFNOztpRkFDbkIsZ0JBQWdCO2NBRDVCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2NyZWVuSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2NyZWVuL3NjcmVlbi5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IFdoZXJlQ2xhdXNlSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL3doZXJlLWNsYXVzZS5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzXCI7XHJcbmltcG9ydCB7IHN5bmNBcHBPYmplY3RGaWVsZHMgfSBmcm9tIFwiLi4vdXRpbHMvdGFiLWFwcC51dGlsXCI7XHJcbmltcG9ydCB7IEFwcE9iamVjdCwgQXBwU2NyZWVuIH0gZnJvbSBcIi4uL21vZGVscy9hcHAtb2JqZWN0LmNsYXNzXCI7XHJcbmltcG9ydCB7IGNyZWF0ZUR5bmFtaWNEYXRhIH0gZnJvbSBcIi4uL3V0aWxzL2pzb24udXRpbFwiO1xyXG5pbXBvcnQgeyBnZXRFZGl0UmVjb3JkSWQsIGdldFByaW1hcnlLZXlGaWVsZHMsIHJlbW92ZU11bHRpcGxlUHJpbWFyeUtleSwgcmVtb3ZlUHJpbWFyeUtleSwgZ2V0SGVhZGVycyB9IGZyb20gXCIuLi91dGlscy9yZXEtcmVzLnV0aWxcIjtcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaWduYWxSU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZS9zaWduYWxyL3NpZ25hbHIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFQSSwgQVBJU2VydmljZXMgfSBmcm9tICcuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVGFiVXBkYXRlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBzY3JlZW5IZWxwZXIgPSBpbmplY3QoU2NyZWVuSGVscGVyKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHdoZXJlQ2xhdXNlSGVscGVyID0gaW5qZWN0KFdoZXJlQ2xhdXNlSGVscGVyKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBzaWduYWxSU2VydmljZSA9IGluamVjdChTaWduYWxSU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtZXRhZGF0YUhlbHBlciA9IGluamVjdChNZXRhZGF0YUhlbHBlcik7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB1c2luZyAvcmVjb3Jkcy91cGRhdGUgZW5kcG9pbnQgd2l0aCBTWU5DL0FTWU5DIHN1cHBvcnRcclxuICAgKiBAcGFyYW0gb2JqZWN0SWQgVGhlIG9iamVjdCBJRFxyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHdpdGggdXBkYXRlIHJlc3VsdFxyXG4gICAqL1xyXG4gIHVwZGF0ZUJ5T2JqZWN0SWQob2JqZWN0SWQ6IHN0cmluZywgZGF0YTogYW55LCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4gfCBudWxsIHtcclxuICAgIGNvbnN0IGZpZWxkczogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IGFwcE9iamVjdE1vZGVsID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRBcHBPYmplY3RCeUlkT3JOYW1lKG9iamVjdElkKTtcclxuICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0ID0gYXBwT2JqZWN0TW9kZWw/LnRvSlNPTigpO1xyXG5cclxuICAgIGlmICghYXBwT2JqZWN0TW9kZWw/LklEKSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgQXBwT2JqZWN0IG5vdCBmb3VuZDogJHtvYmplY3RJZH1gKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwT2JqZWN0TW9kZWwuZmllbGRzKCkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGZpZWxkcy5wdXNoKHsgRmllbGQ6IGVsZW1lbnQgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBjcnVkVGFibGVOYW1lID0gYXBwT2JqZWN0TW9kZWwuU3lzdGVtREJUYWJsZU5hbWU7XHJcbiAgICBzeW5jQXBwT2JqZWN0RmllbGRzKGRhdGEuZGF0YSwgYXBwT2JqZWN0KTtcclxuXHJcbiAgICBjb25zdCBQcmltYXJ5S2V5RmllbGRzOiBhbnkgPSBnZXRQcmltYXJ5S2V5RmllbGRzKGFwcE9iamVjdCk7XHJcblxyXG4gICAgaWYgKCFhcHBPYmplY3QgfHwgIWRhdGEuZGF0YSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZWNvcmRJZCA9IGdldEVkaXRSZWNvcmRJZChkYXRhLmRhdGEsIFByaW1hcnlLZXlGaWVsZHNbMF0/LkZpZWxkTmFtZSk7XHJcbiAgICBkYXRhWydyZWNvcmRJZCddID0gcmVjb3JkSWQ7XHJcblxyXG4gICAgbGV0IHdoZXJlQ2xhdXNlOiBhbnk7XHJcbiAgICBpZiAoUHJpbWFyeUtleUZpZWxkcyAmJiBQcmltYXJ5S2V5RmllbGRzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICByZW1vdmVQcmltYXJ5S2V5KGRhdGEuZGF0YSwgUHJpbWFyeUtleUZpZWxkc1swXT8uRmllbGROYW1lKTtcclxuICAgICAgd2hlcmVDbGF1c2UgPSB0aGlzLndoZXJlQ2xhdXNlSGVscGVyLmJpbmRXaGVyZUNsYXVzZUZvclVwZGF0ZUdyaWQoXHJcbiAgICAgICAgZmllbGRzLFxyXG4gICAgICAgIGRhdGEucmVjb3JkSWQsXHJcbiAgICAgICAgUHJpbWFyeUtleUZpZWxkc1swXS5GaWVsZE5hbWUsXHJcbiAgICAgICAgY3J1ZFRhYmxlTmFtZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChQcmltYXJ5S2V5RmllbGRzICYmIFByaW1hcnlLZXlGaWVsZHMubGVuZ3RoID4gMSkge1xyXG4gICAgICB3aGVyZUNsYXVzZSA9IHRoaXMud2hlcmVDbGF1c2VIZWxwZXIuYmluZFdoZXJlQ2xhdXNlRm9yTXVsdGlwbGVQcmltYXJ5S2V5cyhcclxuICAgICAgICBkYXRhLmRhdGEsXHJcbiAgICAgICAgUHJpbWFyeUtleUZpZWxkcyxcclxuICAgICAgICBjcnVkVGFibGVOYW1lXHJcbiAgICAgICk7XHJcbiAgICAgIHJlbW92ZU11bHRpcGxlUHJpbWFyeUtleShkYXRhLmRhdGEsIFByaW1hcnlLZXlGaWVsZHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZSBibGFuayB2YWx1ZXNcclxuICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IHsgLi4uZGF0YS5kYXRhIH07XHJcblxyXG4gICAgLy8gVHJhbnNmb3JtIHRvIG5ldyBBUEkgZm9ybWF0IHVzaW5nIGNyZWF0ZUR5bmFtaWNEYXRhIHV0aWxpdHlcclxuICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xyXG4gICAgICBlbnRpdHlOYW1lOiBjcnVkVGFibGVOYW1lLFxyXG4gICAgICBmaWVsZHM6IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSksXHJcbiAgICAgIHdoZXJlQ2xhdXNlOiB3aGVyZUNsYXVzZVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG5cclxuICAgIC8vIFBVVCB0byBuZXcgZW5kcG9pbnRcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0VG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5jcnVkU2VydmljZSxcclxuICAgICAgQVBJLnJlY29yZHNVcGRhdGUsXHJcbiAgICAgIHJlcXVlc3RCb2R5LFxyXG4gICAgICBoZWFkZXJcclxuICAgICkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29tbW9uQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlPy5Jc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUYWJVcGRhdGVTZXJ2aWNlXSBVcGRhdGUgZmFpbGVkOicsIHJlc3BvbnNlPy5FcnJvcnMpO1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENBU0UgMTogU1lOQyAtIE9wZXJhdGlvbiBjb21wbGV0ZWQgaW1tZWRpYXRlbHlcclxuICAgICAgICBpZiAocmVzcG9uc2U/LlJlc3VsdD8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gIG9mKHtcclxuICAgICAgICAgICAgLi4ucmVzcG9uc2UsXHJcbiAgICAgICAgICAgIFJlc3VsdDogcmVzcG9uc2U/LlJlc3VsdD8uWzBdXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENBU0UgMjogQVNZTkMgLSBIYXMgY29ycmVsYXRpb25JZFxyXG4gICAgICAgIGVsc2UgaWYgKHJlc3BvbnNlPy5Db3JyZWxhdGlvbklkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVBc3luY1VwZGF0ZShyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDQVNFIDM6IFVua25vd24gcmVzcG9uc2UgZm9ybWF0XHJcbiAgICAgICAgcmV0dXJuIG9mKHJlc3BvbnNlKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignW1RhYlVwZGF0ZVNlcnZpY2VdIFVwZGF0ZSBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBhc3luYyB1cGRhdGUgLSB3YWl0IGZvciBTaWduYWxSIG5vdGlmaWNhdGlvblxyXG4gICAqIEBwYXJhbSByZXNwb25zZSBJbml0aWFsIHJlc3BvbnNlIHdpdGggY29ycmVsYXRpb25JZFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgd2l0aCB1cGRhdGUgcmVzdWx0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVBc3luY1VwZGF0ZShyZXNwb25zZTogQ29tbW9uQXBpUmVzcG9uc2UpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBjb3JyZWxhdGlvbklkID0gcmVzcG9uc2U/LkNvcnJlbGF0aW9uSWQ7XHJcblxyXG4gICAgaWYgKCFjb3JyZWxhdGlvbklkKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUYWJVcGRhdGVTZXJ2aWNlXSBNaXNzaW5nIGNvcnJlbGF0aW9uSWQgaW4gYXN5bmMgcmVzcG9uc2UnKTtcclxuICAgICAgcmV0dXJuIG9mKHJlc3BvbnNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXYWl0IGZvciBTaWduYWxSIG5vdGlmaWNhdGlvbiB3aXRoIG1hdGNoaW5nIGNvcnJlbGF0aW9uSWRcclxuICAgIHJldHVybiB0aGlzLnNpZ25hbFJTZXJ2aWNlLndhaXRGb3JPcGVyYXRpb24oY29ycmVsYXRpb25JZCkucGlwZShcclxuICAgICAgbWFwKChub3RpZmljYXRpb24pID0+IHtcclxuICAgICAgICAvLyBDaGVjayBpZiBvcGVyYXRpb24gc3VjY2VlZGVkXHJcbiAgICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Iobm90aWZpY2F0aW9uLmVycm9yTWVzc2FnZSB8fCAnVXBkYXRlIG9wZXJhdGlvbiBmYWlsZWQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFJldHVybiByZXNwb25zZSB3aXRoIHN1Y2Nlc3NcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4ucmVzcG9uc2UsXHJcbiAgICAgICAgICBSZXN1bHQ6IG5vdGlmaWNhdGlvbi5yZXN1bHQ/LlswXSxcclxuICAgICAgICAgIFJlY29yZEFmZmVjdHRlZDogbm90aWZpY2F0aW9uLmFmZmVjdGVkUmVjb3JkcyB8fCAxXHJcbiAgICAgICAgfTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2UgPT09ICdPcGVyYXRpb24gdGltZWQgb3V0Jykge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAnVXBkYXRlIG9wZXJhdGlvbiB0aW1lZCBvdXQuIFRoZSBvcGVyYXRpb24gbWF5IHN0aWxsIGNvbXBsZXRlIGluIHRoZSBiYWNrZ3JvdW5kLiBQbGVhc2UgcmVmcmVzaCB0byBzZWUgdGhlIHJlc3VsdC4nXHJcbiAgICAgICAgICApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB1c2luZyBzY3JlZW4gSURcclxuICAgKiBAcGFyYW0gc2NyZWVuSWQgVGhlIHNjcmVlbiBJRFxyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBvYmplY3RJZFRvU2F2ZSBPcHRpb25hbCBvYmplY3QgSUQgdG8gc2F2ZVxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHdpdGggdXBkYXRlIHJlc3VsdFxyXG4gICAqL1xyXG4gIHVwZGF0ZVVzaW5nU2NyZWVuSWQoc2NyZWVuSWQ6IHN0cmluZywgZGF0YTogYW55LCBvYmplY3RJZFRvU2F2ZT86IHN0cmluZywgaGVhZGVycz86IGFueSkge1xyXG4gICAgbGV0IG9iamVjdElkOiBzdHJpbmc7XHJcblxyXG4gICAgaWYgKHNjcmVlbklkKSB7XHJcbiAgICAgIGNvbnN0IHNjcmVlbjogQXBwU2NyZWVuID0gdGhpcy5zY3JlZW5IZWxwZXIuZ2V0U2NyZWVuKHNjcmVlbklkKTtcclxuICAgICAgY29uc3Qgc2NyZWVuRGF0YVNvdXJjZSA9IHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0RGF0YVNvdXJjZVF1ZXJ5QnlJZE9yTmFtZShzY3JlZW4uRGF0YVNvdXJjZVF1ZXJ5KTtcclxuICAgICAgb2JqZWN0SWQgPSBzY3JlZW5EYXRhU291cmNlPy5PYmplY3RJRCB8fCAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JqZWN0SWRUb1NhdmUpIHtcclxuICAgICAgb2JqZWN0SWQgPSBvYmplY3RJZFRvU2F2ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy51cGRhdGVCeU9iamVjdElkKG9iamVjdElkISwgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdXNpbmcgRFNRIElEIHdpdGggY3VzdG9tIHRhYmxlIG5hbWUgYW5kIHF1ZXJ5IGZpZWxkc1xyXG4gICAqIFVzZXMgY3VzdG9tIHF1ZXJ5RmllbGRzQXJyYXkgZm9yIHdoZXJlIGNsYXVzZSBpbnN0ZWFkIG9mIHByaW1hcnkga2V5XHJcbiAgICogQHBhcmFtIGRzcUlkIFRoZSBEU1EgSURcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byB1cGRhdGVcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSB0YWJsZSBuYW1lXHJcbiAgICogQHBhcmFtIHF1ZXJ5RmllbGRzQXJyYXkgUXVlcnkgZmllbGRzIGFycmF5IGZvciBjdXN0b20gd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVyc1xyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgd2l0aCB1cGRhdGUgcmVzdWx0XHJcbiAgICovXHJcbiAgdXBkYXRlVXNpbmdEU1EoZHNxSWQ6IHN0cmluZywgZGF0YTogYW55LCB0YWJsZU5hbWU/OiBzdHJpbmcsIHF1ZXJ5RmllbGRzQXJyYXk/OiBhbnksIGhlYWRlcnM/OiBhbnkpIHtcclxuICAgIGNvbnN0IHNjcmVlbkRhdGFTb3VyY2UgPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldERhdGFTb3VyY2VRdWVyeUJ5SWRPck5hbWUoZHNxSWQpO1xyXG4gICAgaWYgKCFzY3JlZW5EYXRhU291cmNlIHx8ICFkYXRhPy5kYXRhKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGFwcE9iamVjdE1vZGVsID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRBcHBPYmplY3RCeUlkT3JOYW1lKHNjcmVlbkRhdGFTb3VyY2UuT2JqZWN0SUQgfHwgJycpO1xyXG4gICAgaWYgKCFhcHBPYmplY3RNb2RlbCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVc2UgcHJvdmlkZWQgdGFibGVOYW1lIG9yIGZhbGxiYWNrIHRvIGFwcE9iamVjdCdzIHRhYmxlIG5hbWVcclxuICAgIGNvbnN0IGVudGl0eU5hbWUgPSB0YWJsZU5hbWUgfHwgYXBwT2JqZWN0TW9kZWwuU3lzdGVtREJUYWJsZU5hbWU7XHJcblxyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSB0aGlzLndoZXJlQ2xhdXNlSGVscGVyLmJpbmRXaGVyZUNsYXVzZUZvclVwZGF0ZShlbnRpdHlOYW1lLCBxdWVyeUZpZWxkc0FycmF5KTtcclxuICAgIGNvbnN0IGRhdGFPYmo6IGFueSA9IGNyZWF0ZUR5bmFtaWNEYXRhKGRhdGEuZGF0YSk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSB7XHJcbiAgICAgIGVudGl0eU5hbWU6IGVudGl0eU5hbWUsXHJcbiAgICAgIGZpZWxkczogZGF0YU9iaixcclxuICAgICAgd2hlcmVDbGF1c2U6IHdoZXJlQ2xhdXNlXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wdXRUb1NlcnZpY2UoXHJcbiAgICAgIEFQSVNlcnZpY2VzLmNydWRTZXJ2aWNlLFxyXG4gICAgICBBUEkucmVjb3Jkc1VwZGF0ZSxcclxuICAgICAgcmVxdWVzdEJvZHksXHJcbiAgICAgIGhlYWRlclxyXG4gICAgKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHJlc3BvbnNlOiBDb21tb25BcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmICghcmVzcG9uc2U/LklzU3VjY2Vzcykge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignW1RhYlVwZGF0ZVNlcnZpY2VdIFVwZGF0ZSB1c2luZyBEU1EgZmFpbGVkOicsIHJlc3BvbnNlPy5FcnJvcnMpO1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZXNwb25zZT8uUmVzdWx0Py5sZW5ndGgpIHtcclxuICAgICAgICAgIHJldHVybiAgb2Yoe1xyXG4gICAgICAgICAgICAuLi5yZXNwb25zZSxcclxuICAgICAgICAgICAgUmVzdWx0OiByZXNwb25zZT8uUmVzdWx0Py5bMF1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2U/LkNvcnJlbGF0aW9uSWQpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUFzeW5jVXBkYXRlKHJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBvZihyZXNwb25zZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUYWJVcGRhdGVTZXJ2aWNlXSBVcGRhdGUgdXNpbmcgRFNRIGVycm9yOicsIGVycm9yKTtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufSJdfQ==
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabUpdateService, decorators: [{
|
|
207
|
+
type: Injectable,
|
|
208
|
+
args: [{ providedIn: 'root' }]
|
|
209
|
+
}] });
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXVwZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLXVwZGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUs5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRW1CLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLHNCQUFpQixHQUFHLE1B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QUFNLEVBQUUsQ0FBQztnQkFDN0IsT0FBUSxFQUFFLENBQUM7b0JBQ1QsR0FBRyxRQUFRO29CQUNYLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUM5QixDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0F6UFUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FESCxNQUFNOzs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTY3JlZW5IZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9zY3JlZW4vc2NyZWVuLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgV2hlcmVDbGF1c2VIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vd2hlcmUtY2xhdXNlLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnNcIjtcclxuaW1wb3J0IHsgc3luY0FwcE9iamVjdEZpZWxkcyB9IGZyb20gXCIuLi91dGlscy90YWItYXBwLnV0aWxcIjtcclxuaW1wb3J0IHsgY3JlYXRlRHluYW1pY0RhdGEgfSBmcm9tIFwiLi4vdXRpbHMvanNvbi51dGlsXCI7XHJcbmltcG9ydCB7IGdldEVkaXRSZWNvcmRJZCwgcmVtb3ZlTXVsdGlwbGVQcmltYXJ5S2V5LCByZW1vdmVQcmltYXJ5S2V5LCBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL3NpZ25hbHIvc2lnbmFsci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVBJLCBBUElTZXJ2aWNlcyB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29tbW9uQXBpUmVzcG9uc2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJVcGRhdGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHNjcmVlbkhlbHBlciA9IGluamVjdChTY3JlZW5IZWxwZXIpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2hlcmVDbGF1c2VIZWxwZXIgPSBpbmplY3QoV2hlcmVDbGF1c2VIZWxwZXIpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHNpZ25hbFJTZXJ2aWNlID0gaW5qZWN0KFNpZ25hbFJTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhSGVscGVyID0gaW5qZWN0KE1ldGFkYXRhSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHVzaW5nIC9yZWNvcmRzL3VwZGF0ZSBlbmRwb2ludCB3aXRoIFNZTkMvQVNZTkMgc3VwcG9ydFxyXG4gICAqIEBwYXJhbSBvYmplY3RJZCBUaGUgb2JqZWN0IElEXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVyc1xyXG4gICAqIEBwYXJhbSBjdXN0b21XaGVyZUNsYXVzZSBPcHRpb25hbCBwcmUtYnVpbHQgd2hlcmVDbGF1c2UgZnJvbSBjYWxsZXItcHJvdmlkZWQgY3JpdGVyaWEuXHJcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gcHJvdmlkZWQsIHNraXBzIHByaW1hcnkta2V5IGV4dHJhY3Rpb24gZnJvbSBkYXRhLlxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgd2l0aCB1cGRhdGUgcmVzdWx0XHJcbiAgICovXHJcbiAgdXBkYXRlQnlPYmplY3RJZChcclxuICAgIG9iamVjdElkOiBzdHJpbmcsXHJcbiAgICBkYXRhOiBhbnksXHJcbiAgICBoZWFkZXJzPzogYW55LFxyXG4gICAgY3VzdG9tV2hlcmVDbGF1c2U/OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB8IG51bGwge1xyXG4gICAgY29uc3QgZmllbGRzOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3QgYXBwT2JqZWN0TW9kZWwgPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldEFwcE9iamVjdEJ5SWRPck5hbWUob2JqZWN0SWQpO1xyXG5cclxuICAgIGlmICghYXBwT2JqZWN0TW9kZWw/LklEKSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgQXBwT2JqZWN0IG5vdCBmb3VuZDogJHtvYmplY3RJZH1gKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwT2JqZWN0TW9kZWwuZmllbGRzKCkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGZpZWxkcy5wdXNoKHsgRmllbGQ6IGVsZW1lbnQgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBjcnVkVGFibGVOYW1lID0gYXBwT2JqZWN0TW9kZWwuU3lzdGVtREJUYWJsZU5hbWU7XHJcbiAgICBzeW5jQXBwT2JqZWN0RmllbGRzKGRhdGEuZGF0YSwgYXBwT2JqZWN0TW9kZWwpO1xyXG5cclxuICAgIGNvbnN0IFByaW1hcnlLZXlGaWVsZHM6IGFueSA9IGFwcE9iamVjdE1vZGVsPy5maW5kRmllbGRzKChmaWVsZCkgPT4gZmllbGQuSXNQcmltYXJ5S2V5KTtcclxuXHJcbiAgICBpZiAoIWRhdGEuZGF0YSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2hlcmVDbGF1c2U6IGFueSA9IGN1c3RvbVdoZXJlQ2xhdXNlO1xyXG5cclxuICAgIC8vIEZhbGxiYWNrOiBleHRyYWN0IHByaW1hcnkga2V5IGZyb20gZGF0YSB3aGVuIGNhbGxlciBkaWRuJ3QgcHJvdmlkZSBjcml0ZXJpYVxyXG4gICAgaWYgKCF3aGVyZUNsYXVzZT8uZmlsdGVycz8ubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IHJlY29yZElkID0gZ2V0RWRpdFJlY29yZElkKGRhdGEuZGF0YSwgUHJpbWFyeUtleUZpZWxkc1swXT8uRmllbGROYW1lKTtcclxuICAgICAgZGF0YVsncmVjb3JkSWQnXSA9IHJlY29yZElkO1xyXG5cclxuICAgICAgaWYgKFByaW1hcnlLZXlGaWVsZHMgJiYgUHJpbWFyeUtleUZpZWxkcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICByZW1vdmVQcmltYXJ5S2V5KGRhdGEuZGF0YSwgUHJpbWFyeUtleUZpZWxkc1swXT8uRmllbGROYW1lKTtcclxuICAgICAgICB3aGVyZUNsYXVzZSA9IHRoaXMud2hlcmVDbGF1c2VIZWxwZXIuYmluZFdoZXJlQ2xhdXNlRm9yVXBkYXRlR3JpZChcclxuICAgICAgICAgIGZpZWxkcyxcclxuICAgICAgICAgIGRhdGEucmVjb3JkSWQsXHJcbiAgICAgICAgICBQcmltYXJ5S2V5RmllbGRzWzBdLkZpZWxkTmFtZSxcclxuICAgICAgICAgIGNydWRUYWJsZU5hbWVcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2UgaWYgKFByaW1hcnlLZXlGaWVsZHMgJiYgUHJpbWFyeUtleUZpZWxkcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgd2hlcmVDbGF1c2UgPSB0aGlzLndoZXJlQ2xhdXNlSGVscGVyLmJpbmRXaGVyZUNsYXVzZUZvck11bHRpcGxlUHJpbWFyeUtleXMoXHJcbiAgICAgICAgICBkYXRhLmRhdGEsXHJcbiAgICAgICAgICBQcmltYXJ5S2V5RmllbGRzLFxyXG4gICAgICAgICAgY3J1ZFRhYmxlTmFtZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmVtb3ZlTXVsdGlwbGVQcmltYXJ5S2V5KGRhdGEuZGF0YSwgUHJpbWFyeUtleUZpZWxkcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIENhbGxlci1wcm92aWRlZCBjcml0ZXJpYSB3aW5zLiBTdHJpcCBQSyBmaWVsZHMgZnJvbSBkYXRhIHNvIHRoZSB1cGRhdGVcclxuICAgICAgLy8gcGF5bG9hZCBkb2Vzbid0IHRyeSB0byBtb2RpZnkgdGhlIFBLIGNvbHVtbiBpdHNlbGYuXHJcbiAgICAgIGlmIChQcmltYXJ5S2V5RmllbGRzICYmIFByaW1hcnlLZXlGaWVsZHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgcmVtb3ZlUHJpbWFyeUtleShkYXRhLmRhdGEsIFByaW1hcnlLZXlGaWVsZHNbMF0/LkZpZWxkTmFtZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoUHJpbWFyeUtleUZpZWxkcyAmJiBQcmltYXJ5S2V5RmllbGRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICByZW1vdmVNdWx0aXBsZVByaW1hcnlLZXkoZGF0YS5kYXRhLCBQcmltYXJ5S2V5RmllbGRzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZSBibGFuayB2YWx1ZXNcclxuICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IHsgLi4uZGF0YS5kYXRhIH07XHJcblxyXG4gICAgLy8gVHJhbnNmb3JtIHRvIG5ldyBBUEkgZm9ybWF0IHVzaW5nIGNyZWF0ZUR5bmFtaWNEYXRhIHV0aWxpdHlcclxuICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xyXG4gICAgICBlbnRpdHlOYW1lOiBjcnVkVGFibGVOYW1lLFxyXG4gICAgICBmaWVsZHM6IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSksXHJcbiAgICAgIHdoZXJlQ2xhdXNlOiB3aGVyZUNsYXVzZVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG5cclxuICAgIC8vIFBVVCB0byBuZXcgZW5kcG9pbnRcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0VG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5jcnVkU2VydmljZSxcclxuICAgICAgQVBJLnJlY29yZHNVcGRhdGUsXHJcbiAgICAgIHJlcXVlc3RCb2R5LFxyXG4gICAgICBoZWFkZXJcclxuICAgICkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29tbW9uQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlPy5Jc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUYWJVcGRhdGVTZXJ2aWNlXSBVcGRhdGUgZmFpbGVkOicsIHJlc3BvbnNlPy5FcnJvcnMpO1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENBU0UgMTogU1lOQyAtIE9wZXJhdGlvbiBjb21wbGV0ZWQgaW1tZWRpYXRlbHlcclxuICAgICAgICBpZiAocmVzcG9uc2U/LlJlc3VsdD8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gIG9mKHtcclxuICAgICAgICAgICAgLi4ucmVzcG9uc2UsXHJcbiAgICAgICAgICAgIFJlc3VsdDogcmVzcG9uc2U/LlJlc3VsdD8uWzBdXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENBU0UgMjogQVNZTkMgLSBIYXMgY29ycmVsYXRpb25JZFxyXG4gICAgICAgIGVsc2UgaWYgKHJlc3BvbnNlPy5Db3JyZWxhdGlvbklkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVBc3luY1VwZGF0ZShyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDQVNFIDM6IFVua25vd24gcmVzcG9uc2UgZm9ybWF0XHJcbiAgICAgICAgcmV0dXJuIG9mKHJlc3BvbnNlKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignW1RhYlVwZGF0ZVNlcnZpY2VdIFVwZGF0ZSBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBhc3luYyB1cGRhdGUgLSB3YWl0IGZvciBTaWduYWxSIG5vdGlmaWNhdGlvblxyXG4gICAqIEBwYXJhbSByZXNwb25zZSBJbml0aWFsIHJlc3BvbnNlIHdpdGggY29ycmVsYXRpb25JZFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgd2l0aCB1cGRhdGUgcmVzdWx0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVBc3luY1VwZGF0ZShyZXNwb25zZTogQ29tbW9uQXBpUmVzcG9uc2UpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBjb3JyZWxhdGlvbklkID0gcmVzcG9uc2U/LkNvcnJlbGF0aW9uSWQ7XHJcblxyXG4gICAgaWYgKCFjb3JyZWxhdGlvbklkKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUYWJVcGRhdGVTZXJ2aWNlXSBNaXNzaW5nIGNvcnJlbGF0aW9uSWQgaW4gYXN5bmMgcmVzcG9uc2UnKTtcclxuICAgICAgcmV0dXJuIG9mKHJlc3BvbnNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXYWl0IGZvciBTaWduYWxSIG5vdGlmaWNhdGlvbiB3aXRoIG1hdGNoaW5nIGNvcnJlbGF0aW9uSWRcclxuICAgIHJldHVybiB0aGlzLnNpZ25hbFJTZXJ2aWNlLndhaXRGb3JPcGVyYXRpb24oY29ycmVsYXRpb25JZCkucGlwZShcclxuICAgICAgbWFwKChub3RpZmljYXRpb24pID0+IHtcclxuICAgICAgICAvLyBDaGVjayBpZiBvcGVyYXRpb24gc3VjY2VlZGVkXHJcbiAgICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Iobm90aWZpY2F0aW9uLmVycm9yTWVzc2FnZSB8fCAnVXBkYXRlIG9wZXJhdGlvbiBmYWlsZWQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFJldHVybiByZXNwb25zZSB3aXRoIHN1Y2Nlc3NcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4ucmVzcG9uc2UsXHJcbiAgICAgICAgICBSZXN1bHQ6IG5vdGlmaWNhdGlvbi5yZXN1bHQ/LlswXSxcclxuICAgICAgICAgIFJlY29yZEFmZmVjdHRlZDogbm90aWZpY2F0aW9uLmFmZmVjdGVkUmVjb3JkcyB8fCAxXHJcbiAgICAgICAgfTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2UgPT09ICdPcGVyYXRpb24gdGltZWQgb3V0Jykge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAnVXBkYXRlIG9wZXJhdGlvbiB0aW1lZCBvdXQuIFRoZSBvcGVyYXRpb24gbWF5IHN0aWxsIGNvbXBsZXRlIGluIHRoZSBiYWNrZ3JvdW5kLiBQbGVhc2UgcmVmcmVzaCB0byBzZWUgdGhlIHJlc3VsdC4nXHJcbiAgICAgICAgICApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB1c2luZyBzY3JlZW4gSURcclxuICAgKiBAcGFyYW0gc2NyZWVuSWQgVGhlIHNjcmVlbiBJRFxyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBvYmplY3RJZFRvU2F2ZSBPcHRpb25hbCBvYmplY3QgSUQgdG8gc2F2ZVxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHdpdGggdXBkYXRlIHJlc3VsdFxyXG4gICAqL1xyXG4gIHVwZGF0ZVVzaW5nU2NyZWVuSWQoc2NyZWVuSWQ6IHN0cmluZywgZGF0YTogYW55LCBvYmplY3RJZFRvU2F2ZT86IHN0cmluZywgaGVhZGVycz86IGFueSkge1xyXG4gICAgbGV0IG9iamVjdElkOiBzdHJpbmc7XHJcblxyXG4gICAgaWYgKHNjcmVlbklkKSB7XHJcbiAgICAgIGNvbnN0IHNjcmVlbiA9IHRoaXMuc2NyZWVuSGVscGVyLmdldFNjcmVlbihzY3JlZW5JZCk7XHJcbiAgICAgIGNvbnN0IHNjcmVlbkRhdGFTb3VyY2UgPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldERhdGFTb3VyY2VRdWVyeUJ5SWRPck5hbWUoc2NyZWVuLkRhdGFTb3VyY2VRdWVyeSk7XHJcbiAgICAgIG9iamVjdElkID0gc2NyZWVuRGF0YVNvdXJjZT8uT2JqZWN0SUQgfHwgJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9iamVjdElkVG9TYXZlKSB7XHJcbiAgICAgIG9iamVjdElkID0gb2JqZWN0SWRUb1NhdmU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudXBkYXRlQnlPYmplY3RJZChvYmplY3RJZCEsIGRhdGEsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHVzaW5nIERTUSBJRCB3aXRoIGN1c3RvbSB0YWJsZSBuYW1lIGFuZCBxdWVyeSBmaWVsZHNcclxuICAgKiBVc2VzIGN1c3RvbSBxdWVyeUZpZWxkc0FycmF5IGZvciB3aGVyZSBjbGF1c2UgaW5zdGVhZCBvZiBwcmltYXJ5IGtleVxyXG4gICAqIEBwYXJhbSBkc3FJZCBUaGUgRFNRIElEXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIHRhYmxlTmFtZSBUaGUgdGFibGUgbmFtZVxyXG4gICAqIEBwYXJhbSBxdWVyeUZpZWxkc0FycmF5IFF1ZXJ5IGZpZWxkcyBhcnJheSBmb3IgY3VzdG9tIHdoZXJlIGNsYXVzZVxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHdpdGggdXBkYXRlIHJlc3VsdFxyXG4gICAqL1xyXG4gIHVwZGF0ZVVzaW5nRFNRKGRzcUlkOiBzdHJpbmcsIGRhdGE6IGFueSwgdGFibGVOYW1lPzogc3RyaW5nLCBxdWVyeUZpZWxkc0FycmF5PzogYW55LCBoZWFkZXJzPzogYW55KSB7XHJcbiAgICBjb25zdCBzY3JlZW5EYXRhU291cmNlID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKGRzcUlkKTtcclxuICAgIGlmICghc2NyZWVuRGF0YVNvdXJjZSB8fCAhZGF0YT8uZGF0YSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhcHBPYmplY3RNb2RlbCA9IHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0QXBwT2JqZWN0QnlJZE9yTmFtZShzY3JlZW5EYXRhU291cmNlLk9iamVjdElEIHx8ICcnKTtcclxuICAgIGlmICghYXBwT2JqZWN0TW9kZWwpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVXNlIHByb3ZpZGVkIHRhYmxlTmFtZSBvciBmYWxsYmFjayB0byBhcHBPYmplY3QncyB0YWJsZSBuYW1lXHJcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gdGFibGVOYW1lIHx8IGFwcE9iamVjdE1vZGVsLlN5c3RlbURCVGFibGVOYW1lO1xyXG5cclxuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gdGhpcy53aGVyZUNsYXVzZUhlbHBlci5iaW5kV2hlcmVDbGF1c2VGb3JVcGRhdGUoZW50aXR5TmFtZSwgcXVlcnlGaWVsZHNBcnJheSk7XHJcbiAgICBjb25zdCBkYXRhT2JqOiBhbnkgPSBjcmVhdGVEeW5hbWljRGF0YShkYXRhLmRhdGEpO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xyXG4gICAgICBlbnRpdHlOYW1lOiBlbnRpdHlOYW1lLFxyXG4gICAgICBmaWVsZHM6IGRhdGFPYmosXHJcbiAgICAgIHdoZXJlQ2xhdXNlOiB3aGVyZUNsYXVzZVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0VG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5jcnVkU2VydmljZSxcclxuICAgICAgQVBJLnJlY29yZHNVcGRhdGUsXHJcbiAgICAgIHJlcXVlc3RCb2R5LFxyXG4gICAgICBoZWFkZXJcclxuICAgICkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29tbW9uQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlPy5Jc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tUYWJVcGRhdGVTZXJ2aWNlXSBVcGRhdGUgdXNpbmcgRFNRIGZhaWxlZDonLCByZXNwb25zZT8uRXJyb3JzKTtcclxuICAgICAgICAgIHJldHVybiBvZihyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocmVzcG9uc2U/LlJlc3VsdD8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXR1cm4gIG9mKHtcclxuICAgICAgICAgICAgLi4ucmVzcG9uc2UsXHJcbiAgICAgICAgICAgIFJlc3VsdDogcmVzcG9uc2U/LlJlc3VsdD8uWzBdXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlPy5Db3JyZWxhdGlvbklkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVBc3luY1VwZGF0ZShyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gb2YocmVzcG9uc2UpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdbVGFiVXBkYXRlU2VydmljZV0gVXBkYXRlIHVzaW5nIERTUSBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -31,11 +31,11 @@ export class TabWorkflowService {
|
|
|
31
31
|
const headers = getHeaders();
|
|
32
32
|
return this.apiService.postByUrl(`${this.workflow_url}${endPoint}`, data, { headers });
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac =
|
|
35
|
-
static { this.ɵprov =
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabWorkflowService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabWorkflowService, providedIn: 'root' }); }
|
|
36
36
|
}
|
|
37
|
-
(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TabWorkflowService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{ providedIn: 'root' }]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXdvcmtmbG93LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvY3J1ZC90YWItd29ya2Zsb3cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFHN0UsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0F1QnREO0lBckJDOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsT0FBa0MsRUFBRSxPQUFhO1FBQ2xFLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUJBQW1CLENBQUMsUUFBZ0IsRUFBRSxJQUFZO1FBQ2hELE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQzsrR0F6QlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgZXhlY3V0ZVRBQldvcmtmbG93UGF5bG9hZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgQVBJX1VSTCwgV29ya2Zsb3dfVVJMIH0gZnJvbSBcIi4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLXVybC50b2tlblwiO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRhYldvcmtmbG93U2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpX3VybCA9IGluamVjdChBUElfVVJMKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93X3VybCA9IGluamVjdChXb3JrZmxvd19VUkwpO1xyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhIFRBQiB3b3JrZmxvdy5cclxuICAgKiBAcGFyYW0gZW5kUG9pbnQgVGhlIGVuZHBvaW50IGZvciB0aGUgd29ya2Zsb3cuXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gc2VuZCB3aXRoIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHdvcmtmbG93IGV4ZWN1dGlvbiByZXN1bHQuXHJcbiAgICovXHJcbiAgZXhlY3V0ZVRBQldvcmtmbG93KHBheWxvYWQ6IGV4ZWN1dGVUQUJXb3JrZmxvd1BheWxvYWQsIGhlYWRlcnM/OiBhbnkpIHtcclxuICAgIGhlYWRlcnMgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0QnlVcmwoYCR7dGhpcy5hcGlfdXJsfSR7QVBJLkV4ZWN1dGVXb3JrZmxvd31gLCBwYXlsb2FkLCB7aGVhZGVyc30pOyAgIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYW4gRUxTQSB3b3JrZmxvdy5cclxuICAgKiBAcGFyYW0gZW5kUG9pbnQgVGhlIGVuZHBvaW50IGZvciB0aGUgd29ya2Zsb3cuXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgdG8gc2VuZCB3aXRoIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHdvcmtmbG93IGV4ZWN1dGlvbiByZXN1bHQuXHJcbiAgICovXHJcbiAgZXhlY3V0ZUVMU0FXb3JrZmxvdyhlbmRQb2ludDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RCeVVybChgJHt0aGlzLndvcmtmbG93X3VybH0ke2VuZFBvaW50fWAsIGRhdGEsIHtoZWFkZXJzfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export var
|
|
2
|
-
(function (
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
})(
|
|
1
|
+
export var ConjunctionClause;
|
|
2
|
+
(function (ConjunctionClause) {
|
|
3
|
+
ConjunctionClause[ConjunctionClause["AND"] = 1] = "AND";
|
|
4
|
+
ConjunctionClause[ConjunctionClause["OR"] = 2] = "OR";
|
|
5
|
+
ConjunctionClause[ConjunctionClause["AND_NOT"] = 3] = "AND_NOT";
|
|
6
|
+
ConjunctionClause[ConjunctionClause["OR_NOT"] = 4] = "OR_NOT";
|
|
7
|
+
})(ConjunctionClause || (ConjunctionClause = {}));
|
|
8
8
|
export var RelationalOperator;
|
|
9
9
|
(function (RelationalOperator) {
|
|
10
10
|
RelationalOperator[RelationalOperator["GreaterThan"] = 1] = "GreaterThan";
|
|
@@ -35,11 +35,11 @@ export var FilterValueType;
|
|
|
35
35
|
FilterValueType[FilterValueType["Property"] = 3] = "Property";
|
|
36
36
|
FilterValueType[FilterValueType["Global"] = 4] = "Global";
|
|
37
37
|
})(FilterValueType || (FilterValueType = {}));
|
|
38
|
-
export var
|
|
39
|
-
(function (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
})(
|
|
38
|
+
export var SortDirection;
|
|
39
|
+
(function (SortDirection) {
|
|
40
|
+
SortDirection[SortDirection["Asc"] = 1] = "Asc";
|
|
41
|
+
SortDirection[SortDirection["Desc"] = 2] = "Desc";
|
|
42
|
+
})(SortDirection || (SortDirection = {}));
|
|
43
43
|
export var ObjectCreationType;
|
|
44
44
|
(function (ObjectCreationType) {
|
|
45
45
|
ObjectCreationType[ObjectCreationType["Standard"] = 1] = "Standard";
|
|
@@ -61,4 +61,4 @@ export var DataSourceQueryFilterFieldType;
|
|
|
61
61
|
DataSourceQueryFilterFieldType[DataSourceQueryFilterFieldType["GlobalField"] = 3] = "GlobalField";
|
|
62
62
|
DataSourceQueryFilterFieldType[DataSourceQueryFilterFieldType["AggregateField"] = 4] = "AggregateField";
|
|
63
63
|
})(DataSourceQueryFilterFieldType || (DataSourceQueryFilterFieldType = {}));
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNxLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvZHNxLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQix1REFBTyxDQUFBO0lBQ1AscURBQU0sQ0FBQTtJQUNOLCtEQUFXLENBQUE7SUFDWCw2REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFxQlg7QUFyQkQsV0FBWSxrQkFBa0I7SUFDNUIseUVBQWUsQ0FBQTtJQUNmLG1FQUFZLENBQUE7SUFDWixpRUFBVyxDQUFBO0lBQ1gsdURBQU0sQ0FBQTtJQUNOLDZEQUFTLENBQUE7SUFDVCwrREFBVSxDQUFBO0lBQ1YscUVBQWEsQ0FBQTtJQUNiLHVFQUFjLENBQUE7SUFDZCwyRkFBd0IsQ0FBQTtJQUN4QixzRkFBc0IsQ0FBQTtJQUN0QixvRUFBYSxDQUFBO0lBQ2IsMEVBQWdCLENBQUE7SUFDaEIsd0VBQWUsQ0FBQTtJQUNmLDhFQUFrQixDQUFBO0lBQ2xCLG9FQUFhLENBQUE7SUFDYiwwRUFBZ0IsQ0FBQTtJQUNoQixrRUFBWSxDQUFBO0lBQ1osd0VBQWUsQ0FBQTtJQUNmLDhFQUFrQixDQUFBO0lBQ2xCLG9GQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFyQlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQXFCN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBQ3pCLDJEQUFXLENBQUE7SUFDWCwrREFBYSxDQUFBO0lBQ2IsNkRBQVksQ0FBQTtJQUNaLHlEQUFVLENBQUE7QUFDWixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLCtDQUFPLENBQUE7SUFDUCxpREFBUSxDQUFBO0FBQ1YsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1QixtRUFBWSxDQUFBO0lBQ1osK0RBQVUsQ0FBQTtBQUNaLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBT1g7QUFQRCxXQUFZLHdCQUF3QjtJQUNsQyxxRkFBZSxDQUFBO0lBQ2YscUZBQWUsQ0FBQTtJQUNmLHFGQUFlLENBQUE7SUFDZiwrRUFBWSxDQUFBO0lBQ1oscUZBQWUsQ0FBQTtJQUNmLDJHQUEwQixDQUFBO0FBQzVCLENBQUMsRUFQVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBT25DO0FBRUQsTUFBTSxDQUFOLElBQVksOEJBS1g7QUFMRCxXQUFZLDhCQUE4QjtJQUN4QyxpR0FBZSxDQUFBO0lBQ2YsaUdBQWUsQ0FBQTtJQUNmLGlHQUFlLENBQUE7SUFDZix1R0FBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTFcsOEJBQThCLEtBQTlCLDhCQUE4QixRQUt6QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbmp1bmN0aW9uQ2xhdXNlIHtcclxuICBBTkQgPSAxLFxyXG4gIE9SID0gMixcclxuICBBTkRfTk9UID0gMyxcclxuICBPUl9OT1QgPSA0LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBSZWxhdGlvbmFsT3BlcmF0b3Ige1xyXG4gIEdyZWF0ZXJUaGFuID0gMSxcclxuICBMZXNzVGhhbiA9IDIsXHJcbiAgRXF1YWxUbyA9IDMsXHJcbiAgSU4gPSA0LFxyXG4gIE5PVElOID0gNSxcclxuICBJc05VTEwgPSA2LFxyXG4gIElzTm90TlVMTCA9IDcsXHJcbiAgTm90RXF1YWxUbyA9IDgsXHJcbiAgR3JlYXRlclRoYW5PUkVxdWFsVG8gPSA5LFxyXG4gIExlc3NUaGFuT1JFcXVhbFRvID0gMTAsXHJcbiAgQ29udGFpbnMgPSAxMSxcclxuICBOb3RDb250YWlucyA9IDEyLFxyXG4gIFN0YXJ0c1dpdGggPSAxMyxcclxuICBOb3RTdGFydHNXaXRoID0gMTQsXHJcbiAgRW5kc1dpdGggPSAxNSxcclxuICBOb3RFbmRzV2l0aCA9IDE2LFxyXG4gIEJldHdlZW4gPSAxNyxcclxuICBOb3RCZXR3ZWVuID0gMTgsXHJcbiAgU3BsaXRDb250YWlucyA9IDE5LFxyXG4gIE5vdFNwbGl0Q29udGFpbnMgPSAyMCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRmlsdGVyVmFsdWVUeXBlIHtcclxuICBMaXRlcmFsID0gMSxcclxuICBQYXJhbWV0ZXIgPSAyLFxyXG4gIFByb3BlcnR5ID0gMyxcclxuICBHbG9iYWwgPSA0LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTb3J0RGlyZWN0aW9uIHtcclxuICBBc2MgPSAxLFxyXG4gIERlc2MgPSAyLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBPYmplY3RDcmVhdGlvblR5cGUge1xyXG4gIFN0YW5kYXJkID0gMSxcclxuICBDdXN0b20gPSAyLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGUge1xyXG4gIEVudGl0eUZpZWxkID0gMSxcclxuICBMb29rdXBGaWVsZCA9IDIsXHJcbiAgQWN0aW9uRmllbGQgPSAzLFxyXG4gIFNRTEZpZWxkID0gNCxcclxuICBDU2hhcnBGaWVsZCA9IDUsXHJcbiAgQ2hpbGRSZWxhdGlvbnNoaXBGaWVsZCA9IDZcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGF0YVNvdXJjZVF1ZXJ5RmlsdGVyRmllbGRUeXBlIHtcclxuICBFbnRpdHlGaWVsZCA9IDEsXHJcbiAgTG9va3VwRmllbGQgPSAyLFxyXG4gIEdsb2JhbEZpZWxkID0gMyxcclxuICBBZ2dyZWdhdGVGaWVsZCA9IDRcclxufSJdfQ==
|
|
@@ -36,21 +36,46 @@ export class AuthResponseAdapter {
|
|
|
36
36
|
DefaultAppId: result.defaultAppId ?? null,
|
|
37
37
|
Roles: AuthResponseAdapter.transformRoles(result.roles),
|
|
38
38
|
Teams: null,
|
|
39
|
-
PersonData:
|
|
39
|
+
PersonData: AuthResponseAdapter.transformPersonData(result.personData, result.attributes),
|
|
40
40
|
MailingAddress: null,
|
|
41
41
|
Locale: null,
|
|
42
|
-
Attributes:
|
|
42
|
+
Attributes: AuthResponseAdapter.transformAttributes(result.attributes, result.userName, result.email),
|
|
43
43
|
},
|
|
44
44
|
Token: result.accessToken ?? null,
|
|
45
45
|
RefreshToken: result.refreshToken ?? null,
|
|
46
|
-
RefreshTokenExpiry:
|
|
47
|
-
? new Date(Date.now() + result.expiresIn * 1000).toISOString()
|
|
48
|
-
: null,
|
|
46
|
+
RefreshTokenExpiry: null,
|
|
49
47
|
Success: result.succeeded ?? false,
|
|
50
48
|
Errors: result.error ?? null,
|
|
51
49
|
};
|
|
52
50
|
return response;
|
|
53
51
|
}
|
|
52
|
+
static transformPersonData(personData, attributes) {
|
|
53
|
+
if (!personData && !attributes)
|
|
54
|
+
return null;
|
|
55
|
+
return {
|
|
56
|
+
Id: attributes?.personId ?? null,
|
|
57
|
+
FirstName: personData?.firstName ?? null,
|
|
58
|
+
MiddleName: personData?.middleName ?? null,
|
|
59
|
+
LastName: personData?.lastName ?? null,
|
|
60
|
+
ProfileImageURL: personData?.profileImageURL ?? null,
|
|
61
|
+
EmailID: null,
|
|
62
|
+
Contacts: null,
|
|
63
|
+
NotificationDetails: null,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
static transformAttributes(attributes, userName, email) {
|
|
67
|
+
if (!attributes)
|
|
68
|
+
return null;
|
|
69
|
+
return {
|
|
70
|
+
Id: attributes.id ?? null,
|
|
71
|
+
PersonId: attributes.personId ?? null,
|
|
72
|
+
IsEnabled: attributes.isEnabled != null ? String(attributes.isEnabled) : null,
|
|
73
|
+
LastLoginTime: attributes.lastLoginTime ?? null,
|
|
74
|
+
UserName: userName ?? email ?? null,
|
|
75
|
+
Email: email ?? null,
|
|
76
|
+
LocaleSettings: null,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
54
79
|
/**
|
|
55
80
|
* Transforms roles from new camelCase format to old PascalCase format.
|
|
56
81
|
* Structure: { tenantId: { appId: { envId: [{ id, roleName, description }] } } }
|
|
@@ -76,4 +101,4 @@ export class AuthResponseAdapter {
|
|
|
76
101
|
return transformed;
|
|
77
102
|
}
|
|
78
103
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yZXNwb25zZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvYXV0aC1yZXNwb25zZS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUU5Qjs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQTJCO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUM7UUFFaEMsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0MsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCxRQUFRLENBQUMsTUFBTSxHQUFHO1lBQ2hCLElBQUksRUFBRTtnQkFDSixFQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJO2dCQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUk7Z0JBQ2pELGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxJQUFJLElBQUk7Z0JBQy9DLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUk7Z0JBQ3pDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDdkQsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixNQUFNLEVBQUUsSUFBSTtnQkFDWixVQUFVLEVBQUUsSUFBSTthQUNqQjtZQUNELEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDakMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSTtZQUN6QyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsU0FBUztnQkFDbEMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTtnQkFDOUQsQ0FBQyxDQUFDLElBQUk7WUFDUixPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxLQUFLO1lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUk7U0FDN0IsQ0FBQztRQUVGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEIsTUFBTSxXQUFXLEdBQVEsRUFBRSxDQUFDO1FBRTVCLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0QsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUUzQixLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDakUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFFbEMsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBYyxDQUFDLEVBQUUsQ0FBQztvQkFDL0QsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFJLFFBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDckUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUU7d0JBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRO3dCQUN4QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVztxQkFDbEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5pbXBvcnQgeyBDb21tb25BcGlSZXNwb25zZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29tbW9uLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogQXV0aFJlc3BvbnNlQWRhcHRlciAtIFRyYW5zZm9ybXMgbmV3IGF1dGggQVBJIHJlc3BvbnNlIHRvIGxlZ2FjeSBmb3JtYXRcclxuICpcclxuICogVGhlIG5ldyBpZGVudGl0eSBzZXJ2aWNlIHJldHVybnMgYSBmbGF0IHJlc3BvbnNlIHN0cnVjdHVyZSB3aXRoIGNhbWVsQ2FzZSBmaWVsZHMuXHJcbiAqIFRoaXMgYWRhcHRlciBjb252ZXJ0cyBpdCB0byB0aGUgb2xkIG5lc3RlZCBzdHJ1Y3R1cmUgZXhwZWN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxyXG4gKlxyXG4gKiBOZXcgZm9ybWF0IChmbGF0KTpcclxuICogICB7IHVzZXJJZCwgZW1haWwsIHVzZXJOYW1lLCBhY2Nlc3NUb2tlbiwgcmVmcmVzaFRva2VuLCBleHBpcmVzSW4sIHJvbGVzLCAuLi4gfVxyXG4gKlxyXG4gKiBPbGQgZm9ybWF0IChuZXN0ZWQpOlxyXG4gKiAgIHsgdXNlcjogeyBJZCwgVXNlck5hbWUsIFJvbGVzLCBQZXJzb25EYXRhLCBBdHRyaWJ1dGVzLCAuLi4gfSwgVG9rZW4sIFJlZnJlc2hUb2tlbiwgUmVmcmVzaFRva2VuRXhwaXJ5IH1cclxuICpcclxuICogTm90ZTogQSBkdXBsaWNhdGUgTG9naW5SZXNwb25zZUFkYXB0ZXIgZXhpc3RzIG9uIGJyYW5jaCBURS00Mi04NDIyL0FwaS1SZXdyaXRlLlxyXG4gKiBPbiBtZXJnZSwgZGlzY2FyZCBvbmUgYW5kIGtlZXAgdGhpcyBmaWxlLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEF1dGhSZXNwb25zZUFkYXB0ZXIge1xyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm1zIHRoZSBub3JtYWxpemVkIENvbW1vbkFwaVJlc3BvbnNlJ3MgUmVzdWx0IGZyb20gbmV3IGZsYXQgZm9ybWF0IHRvIG9sZCBuZXN0ZWQgZm9ybWF0LlxyXG4gICAqIElmIHRoZSBSZXN1bHQgaXMgYWxyZWFkeSBpbiBvbGQgZm9ybWF0IChoYXMgLnVzZXIgb3IgLlRva2VuKSwgcmV0dXJucyBhcy1pcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSBDb21tb25BcGlSZXNwb25zZSAoYWxyZWFkeSB0b3AtbGV2ZWwgbm9ybWFsaXplZCBieSBSZXNwb25zZUFkYXB0ZXIpXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIHdpdGggUmVzdWx0IHRyYW5zZm9ybWVkIHRvIGxlZ2FjeSBuZXN0ZWQgZm9ybWF0XHJcbiAgICovXHJcbiAgc3RhdGljIG5vcm1hbGl6ZShyZXNwb25zZTogQ29tbW9uQXBpUmVzcG9uc2UpOiBDb21tb25BcGlSZXNwb25zZSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSByZXNwb25zZT8uUmVzdWx0O1xyXG5cclxuICAgIC8vIElmIG51bGwsIGFscmVhZHkgb2xkIGZvcm1hdCAoaGFzIC51c2VyIHdyYXBwZXIgb3IgLlRva2VuKSwgcmV0dXJuIGFzLWlzXHJcbiAgICBpZiAoIXJlc3VsdCB8fCByZXN1bHQudXNlciB8fCByZXN1bHQuVG9rZW4pIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRyYW5zZm9ybSBuZXcgZmxhdCBmb3JtYXQgdG8gb2xkIG5lc3RlZCBmb3JtYXRcclxuICAgIHJlc3BvbnNlLlJlc3VsdCA9IHtcclxuICAgICAgdXNlcjoge1xyXG4gICAgICAgIElkOiByZXN1bHQudXNlcklkID8/IG51bGwsXHJcbiAgICAgICAgVXNlck5hbWU6IHJlc3VsdC5lbWFpbCA/PyByZXN1bHQudXNlck5hbWUgPz8gbnVsbCxcclxuICAgICAgICBEZWZhdWx0VGVuYW50SWQ6IHJlc3VsdC5kZWZhdWx0VGVuYW50SWQgPz8gbnVsbCxcclxuICAgICAgICBEZWZhdWx0QXBwSWQ6IHJlc3VsdC5kZWZhdWx0QXBwSWQgPz8gbnVsbCxcclxuICAgICAgICBSb2xlczogQXV0aFJlc3BvbnNlQWRhcHRlci50cmFuc2Zvcm1Sb2xlcyhyZXN1bHQucm9sZXMpLFxyXG4gICAgICAgIFRlYW1zOiBudWxsLFxyXG4gICAgICAgIFBlcnNvbkRhdGE6IG51bGwsXHJcbiAgICAgICAgTWFpbGluZ0FkZHJlc3M6IG51bGwsXHJcbiAgICAgICAgTG9jYWxlOiBudWxsLFxyXG4gICAgICAgIEF0dHJpYnV0ZXM6IG51bGwsXHJcbiAgICAgIH0sXHJcbiAgICAgIFRva2VuOiByZXN1bHQuYWNjZXNzVG9rZW4gPz8gbnVsbCxcclxuICAgICAgUmVmcmVzaFRva2VuOiByZXN1bHQucmVmcmVzaFRva2VuID8/IG51bGwsXHJcbiAgICAgIFJlZnJlc2hUb2tlbkV4cGlyeTogcmVzdWx0LmV4cGlyZXNJblxyXG4gICAgICAgID8gbmV3IERhdGUoRGF0ZS5ub3coKSArIHJlc3VsdC5leHBpcmVzSW4gKiAxMDAwKS50b0lTT1N0cmluZygpXHJcbiAgICAgICAgOiBudWxsLFxyXG4gICAgICBTdWNjZXNzOiByZXN1bHQuc3VjY2VlZGVkID8/IGZhbHNlLFxyXG4gICAgICBFcnJvcnM6IHJlc3VsdC5lcnJvciA/PyBudWxsLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm1zIHJvbGVzIGZyb20gbmV3IGNhbWVsQ2FzZSBmb3JtYXQgdG8gb2xkIFBhc2NhbENhc2UgZm9ybWF0LlxyXG4gICAqIFN0cnVjdHVyZTogeyB0ZW5hbnRJZDogeyBhcHBJZDogeyBlbnZJZDogW3sgaWQsIHJvbGVOYW1lLCBkZXNjcmlwdGlvbiB9XSB9IH0gfVxyXG4gICAqIGJlY29tZXM6ICAgeyB0ZW5hbnRJZDogeyBhcHBJZDogeyBlbnZJZDogW3sgSUQsIFJvbGVOYW1lLCBEZXNjcmlwdGlvbiB9XSB9IH0gfVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHRyYW5zZm9ybVJvbGVzKHJvbGVzOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCFyb2xlcykgcmV0dXJuIHt9O1xyXG5cclxuICAgIGNvbnN0IHRyYW5zZm9ybWVkOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IFt0ZW5hbnRJZCwgdGVuYW50RGF0YV0gb2YgT2JqZWN0LmVudHJpZXMocm9sZXMpKSB7XHJcbiAgICAgIHRyYW5zZm9ybWVkW3RlbmFudElkXSA9IHt9O1xyXG5cclxuICAgICAgZm9yIChjb25zdCBbYXBwSWQsIGFwcERhdGFdIG9mIE9iamVjdC5lbnRyaWVzKHRlbmFudERhdGEgYXMgYW55KSkge1xyXG4gICAgICAgIHRyYW5zZm9ybWVkW3RlbmFudElkXVthcHBJZF0gPSB7fTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBbZW52SWQsIGVudlJvbGVzXSBvZiBPYmplY3QuZW50cmllcyhhcHBEYXRhIGFzIGFueSkpIHtcclxuICAgICAgICAgIHRyYW5zZm9ybWVkW3RlbmFudElkXVthcHBJZF1bZW52SWRdID0gKGVudlJvbGVzIGFzIGFueVtdKS5tYXAocm9sZSA9PiAoe1xyXG4gICAgICAgICAgICBJRDogcm9sZS5pZCA/PyByb2xlLklELFxyXG4gICAgICAgICAgICBSb2xlTmFtZTogcm9sZS5yb2xlTmFtZSA/PyByb2xlLlJvbGVOYW1lLFxyXG4gICAgICAgICAgICBEZXNjcmlwdGlvbjogcm9sZS5kZXNjcmlwdGlvbiA/PyByb2xlLkRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cmFuc2Zvcm1lZDtcclxuICB9XHJcbn0iXX0=
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yZXNwb25zZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvYXV0aC1yZXNwb25zZS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUU5Qjs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQTJCO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUM7UUFFaEMsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0MsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCxRQUFRLENBQUMsTUFBTSxHQUFHO1lBQ2hCLElBQUksRUFBRTtnQkFDSixFQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJO2dCQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUk7Z0JBQ2pELGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxJQUFJLElBQUk7Z0JBQy9DLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUk7Z0JBQ3pDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDdkQsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsVUFBVSxFQUFFLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQztnQkFDekYsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLE1BQU0sRUFBRSxJQUFJO2dC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QUMsRUFBRTt3QkFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7d0JBQ3hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXO3FCQUNsRCxDQUFDLENBQUMsQ0FBQztnQkFDTixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBBdXRoUmVzcG9uc2VBZGFwdGVyIC0gVHJhbnNmb3JtcyBuZXcgYXV0aCBBUEkgcmVzcG9uc2UgdG8gbGVnYWN5IGZvcm1hdFxyXG4gKlxyXG4gKiBUaGUgbmV3IGlkZW50aXR5IHNlcnZpY2UgcmV0dXJucyBhIGZsYXQgcmVzcG9uc2Ugc3RydWN0dXJlIHdpdGggY2FtZWxDYXNlIGZpZWxkcy5cclxuICogVGhpcyBhZGFwdGVyIGNvbnZlcnRzIGl0IHRvIHRoZSBvbGQgbmVzdGVkIHN0cnVjdHVyZSBleHBlY3RlZCBieSB0aGUgYXBwbGljYXRpb24uXHJcbiAqXHJcbiAqIE5ldyBmb3JtYXQgKGZsYXQpOlxyXG4gKiAgIHsgdXNlcklkLCBlbWFpbCwgdXNlck5hbWUsIGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4sIGV4cGlyZXNJbiwgcm9sZXMsIC4uLiB9XHJcbiAqXHJcbiAqIE9sZCBmb3JtYXQgKG5lc3RlZCk6XHJcbiAqICAgeyB1c2VyOiB7IElkLCBVc2VyTmFtZSwgUm9sZXMsIFBlcnNvbkRhdGEsIEF0dHJpYnV0ZXMsIC4uLiB9LCBUb2tlbiwgUmVmcmVzaFRva2VuLCBSZWZyZXNoVG9rZW5FeHBpcnkgfVxyXG4gKlxyXG4gKiBOb3RlOiBBIGR1cGxpY2F0ZSBMb2dpblJlc3BvbnNlQWRhcHRlciBleGlzdHMgb24gYnJhbmNoIFRFLTQyLTg0MjIvQXBpLVJld3JpdGUuXHJcbiAqIE9uIG1lcmdlLCBkaXNjYXJkIG9uZSBhbmQga2VlcCB0aGlzIGZpbGUuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQXV0aFJlc3BvbnNlQWRhcHRlciB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYW5zZm9ybXMgdGhlIG5vcm1hbGl6ZWQgQ29tbW9uQXBpUmVzcG9uc2UncyBSZXN1bHQgZnJvbSBuZXcgZmxhdCBmb3JtYXQgdG8gb2xkIG5lc3RlZCBmb3JtYXQuXHJcbiAgICogSWYgdGhlIFJlc3VsdCBpcyBhbHJlYWR5IGluIG9sZCBmb3JtYXQgKGhhcyAudXNlciBvciAuVG9rZW4pLCByZXR1cm5zIGFzLWlzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIENvbW1vbkFwaVJlc3BvbnNlIChhbHJlYWR5IHRvcC1sZXZlbCBub3JtYWxpemVkIGJ5IFJlc3BvbnNlQWRhcHRlcilcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzcG9uc2Ugd2l0aCBSZXN1bHQgdHJhbnNmb3JtZWQgdG8gbGVnYWN5IG5lc3RlZCBmb3JtYXRcclxuICAgKi9cclxuICBzdGF0aWMgbm9ybWFsaXplKHJlc3BvbnNlOiBDb21tb25BcGlSZXNwb25zZSk6IENvbW1vbkFwaVJlc3BvbnNlIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHJlc3BvbnNlPy5SZXN1bHQ7XHJcblxyXG4gICAgLy8gSWYgbnVsbCwgYWxyZWFkeSBvbGQgZm9ybWF0IChoYXMgLnVzZXIgd3JhcHBlciBvciAuVG9rZW4pLCByZXR1cm4gYXMtaXNcclxuICAgIGlmICghcmVzdWx0IHx8IHJlc3VsdC51c2VyIHx8IHJlc3VsdC5Ub2tlbikge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHJhbnNmb3JtIG5ldyBmbGF0IGZvcm1hdCB0byBvbGQgbmVzdGVkIGZvcm1hdFxyXG4gICAgcmVzcG9uc2UuUmVzdWx0ID0ge1xyXG4gICAgICB1c2VyOiB7XHJcbiAgICAgICAgSWQ6IHJlc3VsdC51c2VySWQgPz8gbnVsbCxcclxuICAgICAgICBVc2VyTmFtZTogcmVzdWx0LmVtYWlsID8/IHJlc3VsdC51c2VyTmFtZSA/PyBudWxsLFxyXG4gICAgICAgIERlZmF1bHRUZW5hbnRJZDogcmVzdWx0LmRlZmF1bHRUZW5hbnRJZCA/PyBudWxsLFxyXG4gICAgICAgIERlZmF1bHRBcHBJZDogcmVzdWx0LmRlZmF1bHRBcHBJZCA/PyBudWxsLFxyXG4gICAgICAgIFJvbGVzOiBBdXRoUmVzcG9uc2VBZGFwdGVyLnRyYW5zZm9ybVJvbGVzKHJlc3VsdC5yb2xlcyksXHJcbiAgICAgICAgVGVhbXM6IG51bGwsXHJcbiAgICAgICAgUGVyc29uRGF0YTogQXV0aFJlc3BvbnNlQWRhcHRlci50cmFuc2Zvcm1QZXJzb25EYXRhKHJlc3VsdC5wZXJzb25EYXRhLCByZXN1bHQuYXR0cmlidXRlcyksXHJcbiAgICAgICAgTWFpbGluZ0FkZHJlc3M6IG51bGwsXHJcbiAgICAgICAgTG9jYWxlOiBudWxsLFxyXG4gICAgICAgIEF0dHJpYnV0ZXM6IEF1dGhSZXNwb25zZUFkYXB0ZXIudHJhbnNmb3JtQXR0cmlidXRlcyhyZXN1bHQuYXR0cmlidXRlcywgcmVzdWx0LnVzZXJOYW1lLCByZXN1bHQuZW1haWwpLFxyXG4gICAgICB9LFxyXG4gICAgICBUb2tlbjogcmVzdWx0LmFjY2Vzc1Rva2VuID8/IG51bGwsXHJcbiAgICAgIFJlZnJlc2hUb2tlbjogcmVzdWx0LnJlZnJlc2hUb2tlbiA/PyBudWxsLFxyXG4gICAgICBSZWZyZXNoVG9rZW5FeHBpcnk6IG51bGwsXHJcbiAgICAgIFN1Y2Nlc3M6IHJlc3VsdC5zdWNjZWVkZWQgPz8gZmFsc2UsXHJcbiAgICAgIEVycm9yczogcmVzdWx0LmVycm9yID8/IG51bGwsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIHRyYW5zZm9ybVBlcnNvbkRhdGEocGVyc29uRGF0YTogYW55LCBhdHRyaWJ1dGVzOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKCFwZXJzb25EYXRhICYmICFhdHRyaWJ1dGVzKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIElkOiBhdHRyaWJ1dGVzPy5wZXJzb25JZCA/PyBudWxsLFxyXG4gICAgICBGaXJzdE5hbWU6IHBlcnNvbkRhdGE/LmZpcnN0TmFtZSA/PyBudWxsLFxyXG4gICAgICBNaWRkbGVOYW1lOiBwZXJzb25EYXRhPy5taWRkbGVOYW1lID8/IG51bGwsXHJcbiAgICAgIExhc3ROYW1lOiBwZXJzb25EYXRhPy5sYXN0TmFtZSA/PyBudWxsLFxyXG4gICAgICBQcm9maWxlSW1hZ2VVUkw6IHBlcnNvbkRhdGE/LnByb2ZpbGVJbWFnZVVSTCA/PyBudWxsLFxyXG4gICAgICBFbWFpbElEOiBudWxsLFxyXG4gICAgICBDb250YWN0czogbnVsbCxcclxuICAgICAgTm90aWZpY2F0aW9uRGV0YWlsczogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyB0cmFuc2Zvcm1BdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IGFueSwgdXNlck5hbWU6IGFueSwgZW1haWw6IGFueSk6IGFueSB7XHJcbiAgICBpZiAoIWF0dHJpYnV0ZXMpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgSWQ6IGF0dHJpYnV0ZXMuaWQgPz8gbnVsbCxcclxuICAgICAgUGVyc29uSWQ6IGF0dHJpYnV0ZXMucGVyc29uSWQgPz8gbnVsbCxcclxuICAgICAgSXNFbmFibGVkOiBhdHRyaWJ1dGVzLmlzRW5hYmxlZCAhPSBudWxsID8gU3RyaW5nKGF0dHJpYnV0ZXMuaXNFbmFibGVkKSA6IG51bGwsXHJcbiAgICAgIExhc3RMb2dpblRpbWU6IGF0dHJpYnV0ZXMubGFzdExvZ2luVGltZSA/PyBudWxsLFxyXG4gICAgICBVc2VyTmFtZTogdXNlck5hbWUgPz8gZW1haWwgPz8gbnVsbCxcclxuICAgICAgRW1haWw6IGVtYWlsID8/IG51bGwsXHJcbiAgICAgIExvY2FsZVNldHRpbmdzOiBudWxsLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYW5zZm9ybXMgcm9sZXMgZnJvbSBuZXcgY2FtZWxDYXNlIGZvcm1hdCB0byBvbGQgUGFzY2FsQ2FzZSBmb3JtYXQuXHJcbiAgICogU3RydWN0dXJlOiB7IHRlbmFudElkOiB7IGFwcElkOiB7IGVudklkOiBbeyBpZCwgcm9sZU5hbWUsIGRlc2NyaXB0aW9uIH1dIH0gfSB9XHJcbiAgICogYmVjb21lczogICB7IHRlbmFudElkOiB7IGFwcElkOiB7IGVudklkOiBbeyBJRCwgUm9sZU5hbWUsIERlc2NyaXB0aW9uIH1dIH0gfSB9XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgdHJhbnNmb3JtUm9sZXMocm9sZXM6IGFueSk6IGFueSB7XHJcbiAgICBpZiAoIXJvbGVzKSByZXR1cm4ge307XHJcblxyXG4gICAgY29uc3QgdHJhbnNmb3JtZWQ6IGFueSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgW3RlbmFudElkLCB0ZW5hbnREYXRhXSBvZiBPYmplY3QuZW50cmllcyhyb2xlcykpIHtcclxuICAgICAgdHJhbnNmb3JtZWRbdGVuYW50SWRdID0ge307XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IFthcHBJZCwgYXBwRGF0YV0gb2YgT2JqZWN0LmVudHJpZXModGVuYW50RGF0YSBhcyBhbnkpKSB7XHJcbiAgICAgICAgdHJhbnNmb3JtZWRbdGVuYW50SWRdW2FwcElkXSA9IHt9O1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IFtlbnZJZCwgZW52Um9sZXNdIG9mIE9iamVjdC5lbnRyaWVzKGFwcERhdGEgYXMgYW55KSkge1xyXG4gICAgICAgICAgdHJhbnNmb3JtZWRbdGVuYW50SWRdW2FwcElkXVtlbnZJZF0gPSAoZW52Um9sZXMgYXMgYW55W10pLm1hcChyb2xlID0+ICh7XHJcbiAgICAgICAgICAgIElEOiByb2xlLmlkID8/IHJvbGUuSUQsXHJcbiAgICAgICAgICAgIFJvbGVOYW1lOiByb2xlLnJvbGVOYW1lID8/IHJvbGUuUm9sZU5hbWUsXHJcbiAgICAgICAgICAgIERlc2NyaXB0aW9uOiByb2xlLmRlc2NyaXB0aW9uID8/IHJvbGUuRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -4,23 +4,22 @@ import { ApiService } from '../../../core/http-client/api.service';
|
|
|
4
4
|
import { getHeaders } from '../../utils/req-res.util';
|
|
5
5
|
import { API, APIServices } from '../../constants/api-constants';
|
|
6
6
|
import { map } from 'rxjs';
|
|
7
|
-
import { MetadataHelper } from './meta-data.helpers';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
export class AppHelper {
|
|
10
9
|
constructor() {
|
|
11
10
|
this.apiService = inject(ApiService);
|
|
12
|
-
this.metadataHelper = inject(MetadataHelper);
|
|
13
11
|
}
|
|
14
12
|
/**
|
|
15
13
|
* Rebuilds the application.
|
|
14
|
+
*
|
|
15
|
+
* Cache invalidation is handled automatically when the caller subsequently
|
|
16
|
+
* reassigns Common.tabJson with the fresh schema (see Common.onSchemaChange).
|
|
17
|
+
*
|
|
16
18
|
* @returns Result of the rebuild operation
|
|
17
19
|
*/
|
|
18
20
|
rebuildApp(payload = {}, headers) {
|
|
19
21
|
headers = getHeaders(headers);
|
|
20
|
-
return this.apiService.post(API.buildApp, payload, headers)
|
|
21
|
-
this.metadataHelper.clearCache();
|
|
22
|
-
return res;
|
|
23
|
-
}));
|
|
22
|
+
return this.apiService.post(API.buildApp, payload, headers);
|
|
24
23
|
}
|
|
25
24
|
// /**
|
|
26
25
|
// * Publishes the application.
|
|
@@ -237,11 +236,11 @@ export class AppHelper {
|
|
|
237
236
|
const header = getHeaders(headers);
|
|
238
237
|
return this.apiService.get(`${API.GetDocumentById}/${id}`, undefined, header);
|
|
239
238
|
}
|
|
240
|
-
static { this.ɵfac =
|
|
241
|
-
static { this.ɵprov =
|
|
239
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: AppHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
240
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: AppHelper, providedIn: 'root' }); }
|
|
242
241
|
}
|
|
243
|
-
(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vYXBwLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHckQsTUFBTSxPQUFPLFNBQVM7SUFEdEI7UUFFbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQXNSMUQ7SUFuUkM7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLFVBQWUsRUFBRSxFQUFFLE9BQWE7UUFDekMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUQsR0FBRyxDQUFDLENBQUMsR0FBc0IsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSCxDQUFD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QUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlDQUFpQyxDQUFDLElBQThCLEVBQUUsYUFBbUI7UUFDbkYsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxPQUFhO1FBQzNCLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxFQUFVLEVBQUUsT0FBYTtRQUN2QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxlQUFlLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7MEVBdlJVLFNBQVM7dUVBQVQsU0FBUyxXQUFULFNBQVMsbUJBREksTUFBTTs7aUZBQ25CLFNBQVM7Y0FEckIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tICcuLi8uLi91dGlscy9yZXEtcmVzLnV0aWwnO1xyXG5pbXBvcnQgeyBBUEksIEFQSVNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2xvbmVEc3FQYXlsb2FkLCBDb21tb25BcGlSZXNwb25zZSwgR2V0RGF0YUpzb25CeVR5cGVQYXlsb2FkLCBQZXJmb3JtYW5jZUFuYWx5dGljc1BheWxvYWQsIFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhUGF5bG9hZCwgUmVmcmVzaFJlY29yZEluZm9EYXRhUGF5bG9hZCwgUmVnaXN0ZXJBcHBPYmplY3RzUGF5bG9hZCwgUmVwb3J0UGF5bG9hZCwgU2NyZWVuUGVyZm9ybWFuY2VQYXlsb2FkLCBTeW5jQXBwRmllbGRzUGF5bG9hZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29tbW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSAnLi9tZXRhLWRhdGEuaGVscGVycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQXBwSGVscGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtZXRhZGF0YUhlbHBlciA9IGluamVjdChNZXRhZGF0YUhlbHBlcik7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZWJ1aWxkcyB0aGUgYXBwbGljYXRpb24uXHJcbiAgICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSByZWJ1aWxkIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHJlYnVpbGRBcHAocGF5bG9hZDogYW55ID0ge30sIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBoZWFkZXJzID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuYnVpbGRBcHAsIHBheWxvYWQsIGhlYWRlcnMpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzOiBDb21tb25BcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMubWV0YWRhdGFIZWxwZXIuY2xlYXJDYWNoZSgpO1xyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogUHVibGlzaGVzIHRoZSBhcHBsaWNhdGlvbi5cclxuICAvLyAgKiBAcGFyYW0gcGFyYW1zIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHB1Ymxpc2hpbmcgdGhlIGFwcGxpY2F0aW9uXHJcbiAgLy8gICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSBwdWJsaXNoIG9wZXJhdGlvblxyXG4gIC8vICAqL1xyXG4gIC8vIHB1Ymxpc2hBcHAocGFyYW1zPzogYW55KSB7XHJcbiAgLy8gICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gIC8vICAgaWYgKGhlYWRlcnMpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoQVBJLnB1Ymxpc2hBcHAsIHBhcmFtcywgaGVhZGVycyk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbnVsbDtcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBzY2hlbWEgZGF0YSBmcm9tIHRoZSBuZXcgbWV0YWRhdGEgQVBJLlxyXG4gICAqIFVzZXMgbWV0YWRhdGFTZXJ2aWNlIG1pY3Jvc2VydmljZSBlbmRwb2ludFxyXG4gICAqIEByZXR1cm5zIFN1YnNjcmlwdGlvbiBmb3IgZ2V0dGluZyBzY2hlbWEgZGF0YSAocmVzdWx0IGlzIG9iamVjdCwgbm90IHN0cmluZ2lmaWVkIEpTT04pXHJcbiAgICovXHJcbiAgZ2V0U2NoZW1hKCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldEZyb21TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5tZXRhZGF0YVNlcnZpY2UsXHJcbiAgICAgIEFQSS5tZXRhZGF0YVNjaGVtYSxcclxuICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICBoZWFkZXJzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gc3RvcmVTY2hlbWFJbnRvSURCKCl7XHJcbiAgLy8gICAvLyB0aGlzLmlkYlNlcnZpY2UuY2xlYXJJbmRleGVkREIoKVxyXG4gIC8vICAgdGhpcy5nZXRTY2hlbWEoKT8uc3Vic2NyaWJlKHtcclxuICAvLyAgICAgbmV4dDogKHZhbHVlOiBTY2hlbWFSZXNwb25zZSkgPT4ge1xyXG4gIC8vICAgICAgICAgQ29tbW9uLnRhYkpzb24gPSBKU09OLnBhcnNlKHZhbHVlLlJlc3VsdCk7XHJcbiAgLy8gICAgICAgICB0aGlzLmlkYlNlcnZpY2Uuc2V0SXRlbShTdG9yYWdlQ29uc3RhbnRzLnRhYkRhdGEsIEpTT04ucGFyc2UodmFsdWUuUmVzdWx0KSlcclxuICAvLyAgICAgfSxcclxuICAvLyAgICAgZXJyb3I6IChyZXNwb25zZTogRXJyb3IpID0+IHtcclxuICAvLyAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKVxyXG4gIC8vICAgICB9XHJcbiAgLy8gfSlcclxuICAvLyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBwZXJtaXNzaW9uIGRhdGEuXHJcbiAgICogQHJldHVybnMgU3Vic2NyaXB0aW9uIGZvciBnZXR0aW5nIHBlcm1pc3Npb24gZGF0YVxyXG4gICAqL1xyXG4gIGdldFBlcm1pc3Npb24oKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0RnJvbVNlcnZpY2UoQVBJU2VydmljZXMuY3J1ZFNlcnZpY2UsIEFQSS5wZXJtaXNzaW9ucywgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJBY2Nlc3MoKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0RnJvbVNlcnZpY2UoQVBJU2VydmljZXMuY3J1ZFNlcnZpY2UsIEFQSS5nZXRVc2VyQWNjZXNzLCB1bmRlZmluZWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXJzIGFwcGxpY2F0aW9uIG9iamVjdHMuXHJcbiAgICogQHBhcmFtIHBheWxvYWQgUGFyYW1ldGVycyBmb3IgcmVnaXN0ZXJpbmcgYXBwbGljYXRpb24gb2JqZWN0c1xyXG4gICAqIEByZXR1cm5zIFJlc3VsdCBvZiB0aGUgcmVnaXN0cmF0aW9uIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyQXBwT2JqZWN0cyhwYXlsb2FkOiBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0VG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5tZXRhZGF0YVNlcnZpY2UsXHJcbiAgICAgIEFQSS5hcHBsaWNhdGlvblJlZ2lzdGVyQXBwT2JqZWN0cyxcclxuICAgICAgcGF5bG9hZFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb25lcyBhIERhdGFTb3VyY2VRdWVyeSAoRFNRKSB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIHBhcmFtZXRlcnMgZm9yIGNsb25pbmcgdGhlIERTUVxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGNsb25pbmcgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgY2xvbmVEc3EocGF5bG9hZDogQ2xvbmVEc3FQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuY2xvbmVEc3EsIHBheWxvYWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGRhdGEgaW4gSlNPTiBmb3JtYXQgYmFzZWQgb24gdGhlIGdpdmVuIEpTT04gdHlwZSBhbmQgcmVxdWVzdCB0b2tlbnMuXHJcbiAgICogQHBhcmFtIHBheWxvYWQgUGF5bG9hZCBjb250YWluaW5nIHRoZSBKU09OIHR5cGUgYW5kIHJlcXVlc3QgdG9rZW5zXHJcbiAgICogQHJldHVybnMgVGhlIEpTT04gZGF0YSByZXRyaWV2ZWRcclxuICAgKi9cclxuICBnZXREYXRhSnNvbkJ5VHlwZShwYXlsb2FkOiBHZXREYXRhSnNvbkJ5VHlwZVBheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5HZXREYXRhSnNvbkJ5VHlwZSwgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTeW5jcyB0aGUgZmllbGRzIG9mIHRoZSBhcHBsaWNhdGlvbiBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciBzeW5jaW5nIHRoZSBmaWVsZHNcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBzeW5jaHJvbml6YXRpb24gb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgc3luY0FwcEZpZWxkcyhwYXlsb2FkOiBTeW5jQXBwRmllbGRzUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdFRvU2VydmljZShcclxuICAgICAgQVBJU2VydmljZXMubWV0YWRhdGFTZXJ2aWNlLFxyXG4gICAgICBBUEkuYXBwbGljYXRpb25TeW5jQXBwRmllbGRzLFxyXG4gICAgICBwYXlsb2FkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgdGFiIGNvbXBvbmVudHMgZm9yIHRoZSBnaXZlbiB0ZW5hbnRcclxuICAgKiBAcGFyYW0gY29ubmVjdGlvbklkIFRoZSBJRCBvZiB0aGUgY29ubmVjdGlvblxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHNldFRhYkNvbXBvbmVudHMoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5zZXRUYWJDb21wb25lbnRzfS8ke2Nvbm5lY3Rpb25JZH1gLCB7fSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSByZXN1bHQgb2YgdGhlIHZhbGlkYXRpb24gZm9yIHRoZSBnaXZlbiBjb25uZWN0aW9uXHJcbiAgICogQHBhcmFtIGNvbm5lY3Rpb25JZCBUaGUgSUQgb2YgdGhlIGNvbm5lY3Rpb25cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBwZXJmb3JtVmFsaWRhdGlvbihjb25uZWN0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChgJHtBUEkucGVyZm9ybVZhbGlkYXRpb259LyR7Y29ubmVjdGlvbklkfWAsIHVuZGVmaW5lZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUZXN0cyB0aGUgY29ubmVjdGlvbiBmb3IgdGhlIGdpdmVuIGNvbm5lY3Rpb24gSUQuXHJcbiAgICogQHBhcmFtIGNvbm5lY3Rpb25JZCBUaGUgSUQgb2YgdGhlIGNvbm5lY3Rpb25cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICB0ZXN0Q29ubmVjdGlvbihjb25uZWN0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChgJHtBUEkudGVzdENvbm5lY3Rpb259LyR7Y29ubmVjdGlvbklkfWAsIHVuZGVmaW5lZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWZyZXNoZXMgdGhlIGdsb2JhbCBzZWFyY2ggZGF0YSB1c2luZyB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cclxuICAgKiBAcGFyYW0gZGF0YSBQYXlsb2FkIGNvbnRhaW5pbmcgdGhlIHF1ZXJ5IG9iamVjdCBJRCBmb3IgcmVmcmVzaGluZyBzZWFyY2ggZGF0YVxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIEFQSSByZXNwb25zZVxyXG4gICAqL1xyXG4gIHJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhKGRhdGE6IFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLlJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhfWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVmcmVzaGVzIHRoZSByZWNvcmQgaW5mb3JtYXRpb24gZGF0YSB1c2luZyB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cclxuICAgKiBAcGFyYW0gZGF0YSBQYXlsb2FkIGNvbnRhaW5pbmcgdGhlIHF1ZXJ5IG9iamVjdCBJRCBmb3IgcmVmcmVzaGluZyByZWNvcmQgaW5mb3JtYXRpb24gZGF0YVxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIEFQSSByZXNwb25zZVxyXG4gICAqL1xyXG4gIHJlZnJlc2hSZWNvcmRJbmZvRGF0YShkYXRhOiBSZWZyZXNoUmVjb3JkSW5mb0RhdGFQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuUmVmcmVzaFJlY29yZEluZm9EYXRhfWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhwb3J0cyBhIHJlcG9ydCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBVc2VzIFJlcG9ydCBtaWNyb3NlcnZpY2Ugd2l0aCBjYW1lbENhc2UgcGF5bG9hZFxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIFBhcmFtZXRlcnMgZm9yIGV4cG9ydGluZyB0aGUgcmVwb3J0XHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZXhwb3J0IG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIGV4cG9ydFJlcG9ydChwYXlsb2FkOiBSZXBvcnRQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIC8vIENvbnZlcnQgcGF5bG9hZCB0byBjYW1lbENhc2UgZm9yIG5ldyBBUElcclxuICAgIGNvbnN0IG5ld1BheWxvYWQgPSB7XHJcbiAgICAgIGRhdGFSZXBvcnRJZDogcGF5bG9hZC5EYXRhUmVwb3J0SWQsXHJcbiAgICAgIHJlcVRva2VuczogcGF5bG9hZC5SZXF0b2tlbnNcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RUb1NlcnZpY2UoXHJcbiAgICAgIEFQSVNlcnZpY2VzLnJlcG9ydFNlcnZpY2UsXHJcbiAgICAgIEFQSS5yZXBvcnRFeHBvcnQsXHJcbiAgICAgIG5ld1BheWxvYWQsXHJcbiAgICAgIGhlYWRlcnNcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChyZXM6IENvbW1vbkFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgLy8gQ29udmVydCByZXN1bHQgYmFjayB0byBvcmlnaW5hbCBmb3JtYXQgaWYgbmVlZGVkXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIFJlc3VsdDogcmVzPy5SZXN1bHQ/LmNvbnRlbnRcclxuICAgICAgICB9O1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERvd25sb2FkcyBhIHJlcG9ydCBmaWxlIGJhc2VkIG9uIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIFVzZXMgUmVwb3J0IG1pY3Jvc2VydmljZSB3aXRoIGNhbWVsQ2FzZSBwYXlsb2FkXHJcbiAgICogQHBhcmFtIHBheWxvYWQgUGFyYW1ldGVycyBmb3IgZG93bmxvYWRpbmcgdGhlIHJlcG9ydCBmaWxlXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZG93bmxvYWQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgZG93bmxvYWRSZXBvcnQocGF5bG9hZDogUmVwb3J0UGF5bG9hZCk6IE9ic2VydmFibGU8QmxvYj4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIC8vIENvbnZlcnQgcGF5bG9hZCB0byBjYW1lbENhc2UgZm9yIG5ldyBBUElcclxuICAgIGNvbnN0IG5ld1BheWxvYWQgPSB7XHJcbiAgICAgIGRhdGFSZXBvcnRJZDogcGF5bG9hZC5EYXRhUmVwb3J0SWQsXHJcbiAgICAgIHJlcVRva2VuczogcGF5bG9hZC5SZXF0b2tlbnNcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RCbG9iVG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5yZXBvcnRTZXJ2aWNlLFxyXG4gICAgICBBUEkucmVwb3J0RG93bmxvYWQsXHJcbiAgICAgIG5ld1BheWxvYWQsXHJcbiAgICAgIGhlYWRlcnNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kcyBhIHJlcG9ydCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciBzZW5kaW5nIHRoZSByZXBvcnRcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBzZW5kIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIHNlbmRSZXBvcnQocGF5bG9hZDogUmVwb3J0UGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLnNlbmRSZXBvcnQsIHBheWxvYWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBkZXRhaWxlZCBhbmFseXRpY3Mgb2YgYSBzY3JlZW4ncyBwZXJmb3JtYW5jZS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBQZXJmb3JtYW5jZUFuYWx5dGljc1BheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5HZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzLCBkYXRhLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBzdW1tYXJ5IG9mIHBlcmZvcm1hbmNlIGFuYWx5dGljc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBiZSBzZW50IHRvIHRoZSBBUElcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBnZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBQZXJmb3JtYW5jZUFuYWx5dGljc1BheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcywgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcnQgU2NyZWVuIFBlcmZvcm1hbmNlIFN0YXRpc3RpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gaW5zZXJ0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgaW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VTdGF0aXN0aWNzKGRhdGE6IFNjcmVlblBlcmZvcm1hbmNlUGF5bG9hZCwgY3VzdG9tSGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKGN1c3RvbUhlYWRlcnMpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5JbnNlcnRTY3JlZW5QZXJmb3JtYW5jZUFuYWx5dGljcywgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYWxsIGRvY3VtZW50cy5cclxuICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkuXHJcbiAgICovXHJcbiAgZ2V0QWxsRG9jdW1uZXRzKGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoQVBJLkdldEFsbERvY3VtbmV0cywgdW5kZWZpbmVkLCBoZWFkZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZG9jdW1lbnQgYnkgaXRzIElELlxyXG4gICAqIEBwYXJhbSBpZCBUaGUgSUQgb2YgdGhlIGRvY3VtZW50IHRvIHJldHJpZXZlLlxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cclxuICAgKi9cclxuICBnZXREb2N1bWVudEJ5SWQoaWQ6IHN0cmluZywgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChgJHtBUEkuR2V0RG9jdW1lbnRCeUlkfS8ke2lkfWAsIHVuZGVmaW5lZCwgaGVhZGVyKTtcclxuICB9XHJcbn0iXX0=
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: AppHelper, decorators: [{
|
|
243
|
+
type: Injectable,
|
|
244
|
+
args: [{ providedIn: 'root' }]
|
|
245
|
+
}] });
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vYXBwLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUl2QyxNQUFNLE9BQU8sU0FBUztJQUR0QjtRQUVtQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBcVJsRDtJQWxSQzs7Ozs7OztPQU9HO0lBQ0gsVUFBVSxDQUFDLFVBQWUsRUFBRSxFQUFFLE9BQWE7UUFDekMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNO0lBQ04sZ0NBQWdDO0lBQ2hDLHNFQUFzRTtJQUN0RSw4Q0FBOEM7SUFDOUMsTUFBTTtJQUNOLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMsbUJBQW1CO0lBQ25CLG1FQUFtRTtJQUNuRSxNQUFNO0lBQ04saUJBQWlCO0lBQ2pCLElBQUk7SUFFSjs7OztPQUlHO0lBQ0gsU0FBUztRQUNQLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxD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LENBQUM7SUFDbkYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsT0FBYTtRQUMzQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsRUFBVSxFQUFFLE9BQWE7UUFDdkMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsZUFBZSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRixDQUFDOytHQXJSVSxTQUFTO21IQUFULFNBQVMsY0FESSxNQUFNOzs0RkFDbkIsU0FBUztrQkFEckIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVxLXJlcy51dGlsJztcclxuaW1wb3J0IHsgQVBJLCBBUElTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENsb25lRHNxUGF5bG9hZCwgQ29tbW9uQXBpUmVzcG9uc2UsIEdldERhdGFKc29uQnlUeXBlUGF5bG9hZCwgUGVyZm9ybWFuY2VBbmFseXRpY3NQYXlsb2FkLCBSZWZyZXNoR2xvYmFsU2VhcmNoRGF0YVBheWxvYWQsIFJlZnJlc2hSZWNvcmRJbmZvRGF0YVBheWxvYWQsIFJlZ2lzdGVyQXBwT2JqZWN0c1BheWxvYWQsIFJlcG9ydFBheWxvYWQsIFNjcmVlblBlcmZvcm1hbmNlUGF5bG9hZCwgU3luY0FwcEZpZWxkc1BheWxvYWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFwcEhlbHBlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogUmVidWlsZHMgdGhlIGFwcGxpY2F0aW9uLlxyXG4gICAqXHJcbiAgICogQ2FjaGUgaW52YWxpZGF0aW9uIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSB3aGVuIHRoZSBjYWxsZXIgc3Vic2VxdWVudGx5XHJcbiAgICogcmVhc3NpZ25zIENvbW1vbi50YWJKc29uIHdpdGggdGhlIGZyZXNoIHNjaGVtYSAoc2VlIENvbW1vbi5vblNjaGVtYUNoYW5nZSkuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIHJlYnVpbGQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgcmVidWlsZEFwcChwYXlsb2FkOiBhbnkgPSB7fSwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGhlYWRlcnMgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5idWlsZEFwcCwgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBQdWJsaXNoZXMgdGhlIGFwcGxpY2F0aW9uLlxyXG4gIC8vICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgcHVibGlzaGluZyB0aGUgYXBwbGljYXRpb25cclxuICAvLyAgKiBAcmV0dXJucyBSZXN1bHQgb2YgdGhlIHB1Ymxpc2ggb3BlcmF0aW9uXHJcbiAgLy8gICovXHJcbiAgLy8gcHVibGlzaEFwcChwYXJhbXM/OiBhbnkpIHtcclxuICAvLyAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgLy8gICBpZiAoaGVhZGVycykge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChBUEkucHVibGlzaEFwcCwgcGFyYW1zLCBoZWFkZXJzKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHNjaGVtYSBkYXRhIGZyb20gdGhlIG5ldyBtZXRhZGF0YSBBUEkuXHJcbiAgICogVXNlcyBtZXRhZGF0YVNlcnZpY2UgbWljcm9zZXJ2aWNlIGVuZHBvaW50XHJcbiAgICogQHJldHVybnMgU3Vic2NyaXB0aW9uIGZvciBnZXR0aW5nIHNjaGVtYSBkYXRhIChyZXN1bHQgaXMgb2JqZWN0LCBub3Qgc3RyaW5naWZpZWQgSlNPTilcclxuICAgKi9cclxuICBnZXRTY2hlbWEoKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0RnJvbVNlcnZpY2UoXHJcbiAgICAgIEFQSVNlcnZpY2VzLm1ldGFkYXRhU2VydmljZSxcclxuICAgICAgQVBJLm1ldGFkYXRhU2NoZW1hLFxyXG4gICAgICB1bmRlZmluZWQsXHJcbiAgICAgIGhlYWRlcnNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBzdG9yZVNjaGVtYUludG9JREIoKXtcclxuICAvLyAgIC8vIHRoaXMuaWRiU2VydmljZS5jbGVhckluZGV4ZWREQigpXHJcbiAgLy8gICB0aGlzLmdldFNjaGVtYSgpPy5zdWJzY3JpYmUoe1xyXG4gIC8vICAgICBuZXh0OiAodmFsdWU6IFNjaGVtYVJlc3BvbnNlKSA9PiB7XHJcbiAgLy8gICAgICAgICBDb21tb24udGFiSnNvbiA9IEpTT04ucGFyc2UodmFsdWUuUmVzdWx0KTtcclxuICAvLyAgICAgICAgIHRoaXMuaWRiU2VydmljZS5zZXRJdGVtKFN0b3JhZ2VDb25zdGFudHMudGFiRGF0YSwgSlNPTi5wYXJzZSh2YWx1ZS5SZXN1bHQpKVxyXG4gIC8vICAgICB9LFxyXG4gIC8vICAgICBlcnJvcjogKHJlc3BvbnNlOiBFcnJvcikgPT4ge1xyXG4gIC8vICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpXHJcbiAgLy8gICAgIH1cclxuICAvLyB9KVxyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHBlcm1pc3Npb24gZGF0YS5cclxuICAgKiBAcmV0dXJucyBTdWJzY3JpcHRpb24gZm9yIGdldHRpbmcgcGVybWlzc2lvbiBkYXRhXHJcbiAgICovXHJcbiAgZ2V0UGVybWlzc2lvbigpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRGcm9tU2VydmljZShBUElTZXJ2aWNlcy5jcnVkU2VydmljZSwgQVBJLnBlcm1pc3Npb25zLCB1bmRlZmluZWQsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckFjY2VzcygpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRGcm9tU2VydmljZShBUElTZXJ2aWNlcy5jcnVkU2VydmljZSwgQVBJLmdldFVzZXJBY2Nlc3MsIHVuZGVmaW5lZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RlcnMgYXBwbGljYXRpb24gb2JqZWN0cy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciByZWdpc3RlcmluZyBhcHBsaWNhdGlvbiBvYmplY3RzXHJcbiAgICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSByZWdpc3RyYXRpb24gb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJBcHBPYmplY3RzKHBheWxvYWQ6IFJlZ2lzdGVyQXBwT2JqZWN0c1BheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3RUb1NlcnZpY2UoXHJcbiAgICAgIEFQSVNlcnZpY2VzLm1ldGFkYXRhU2VydmljZSxcclxuICAgICAgQVBJLmFwcGxpY2F0aW9uUmVnaXN0ZXJBcHBPYmplY3RzLFxyXG4gICAgICBwYXlsb2FkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvbmVzIGEgRGF0YVNvdXJjZVF1ZXJ5IChEU1EpIHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIHBheWxvYWQgcGFyYW1ldGVycyBmb3IgY2xvbmluZyB0aGUgRFNRXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgY2xvbmluZyBvcGVyYXRpb25cclxuICAgKi9cclxuICBjbG9uZURzcShwYXlsb2FkOiBDbG9uZURzcVBheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5jbG9uZURzcSwgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgZGF0YSBpbiBKU09OIGZvcm1hdCBiYXNlZCBvbiB0aGUgZ2l2ZW4gSlNPTiB0eXBlIGFuZCByZXF1ZXN0IHRva2Vucy5cclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXlsb2FkIGNvbnRhaW5pbmcgdGhlIEpTT04gdHlwZSBhbmQgcmVxdWVzdCB0b2tlbnNcclxuICAgKiBAcmV0dXJucyBUaGUgSlNPTiBkYXRhIHJldHJpZXZlZFxyXG4gICAqL1xyXG4gIGdldERhdGFKc29uQnlUeXBlKHBheWxvYWQ6IEdldERhdGFKc29uQnlUeXBlUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkdldERhdGFKc29uQnlUeXBlLCBwYXlsb2FkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN5bmNzIHRoZSBmaWVsZHMgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIFBhcmFtZXRlcnMgZm9yIHN5bmNpbmcgdGhlIGZpZWxkc1xyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIHN5bmNocm9uaXphdGlvbiBvcGVyYXRpb25cclxuICAgKi9cclxuICBzeW5jQXBwRmllbGRzKHBheWxvYWQ6IFN5bmNBcHBGaWVsZHNQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0VG9TZXJ2aWNlKFxyXG4gICAgICBBUElTZXJ2aWNlcy5tZXRhZGF0YVNlcnZpY2UsXHJcbiAgICAgIEFQSS5hcHBsaWNhdGlvblN5bmNBcHBGaWVsZHMsXHJcbiAgICAgIHBheWxvYWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIGdpdmVuIHRlbmFudFxyXG4gICAqIEBwYXJhbSBjb25uZWN0aW9uSWQgVGhlIElEIG9mIHRoZSBjb25uZWN0aW9uXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgc2V0VGFiQ29tcG9uZW50cyhjb25uZWN0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnNldFRhYkNvbXBvbmVudHN9LyR7Y29ubmVjdGlvbklkfWAsIHt9LCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIHJlc3VsdCBvZiB0aGUgdmFsaWRhdGlvbiBmb3IgdGhlIGdpdmVuIGNvbm5lY3Rpb25cclxuICAgKiBAcGFyYW0gY29ubmVjdGlvbklkIFRoZSBJRCBvZiB0aGUgY29ubmVjdGlvblxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHBlcmZvcm1WYWxpZGF0aW9uKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KGAke0FQSS5wZXJmb3JtVmFsaWRhdGlvbn0vJHtjb25uZWN0aW9uSWR9YCwgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRlc3RzIHRoZSBjb25uZWN0aW9uIGZvciB0aGUgZ2l2ZW4gY29ubmVjdGlvbiBJRC5cclxuICAgKiBAcGFyYW0gY29ubmVjdGlvbklkIFRoZSBJRCBvZiB0aGUgY29ubmVjdGlvblxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHRlc3RDb25uZWN0aW9uKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KGAke0FQSS50ZXN0Q29ubmVjdGlvbn0vJHtjb25uZWN0aW9uSWR9YCwgdW5kZWZpbmVkLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZnJlc2hlcyB0aGUgZ2xvYmFsIHNlYXJjaCBkYXRhIHVzaW5nIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxyXG4gICAqIEBwYXJhbSBkYXRhIFBheWxvYWQgY29udGFpbmluZyB0aGUgcXVlcnkgb2JqZWN0IElEIGZvciByZWZyZXNoaW5nIHNlYXJjaCBkYXRhXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgQVBJIHJlc3BvbnNlXHJcbiAgICovXHJcbiAgcmVmcmVzaEdsb2JhbFNlYXJjaERhdGEoZGF0YTogUmVmcmVzaEdsb2JhbFNlYXJjaERhdGFQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuUmVmcmVzaEdsb2JhbFNlYXJjaERhdGF9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWZyZXNoZXMgdGhlIHJlY29yZCBpbmZvcm1hdGlvbiBkYXRhIHVzaW5nIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxyXG4gICAqIEBwYXJhbSBkYXRhIFBheWxvYWQgY29udGFpbmluZyB0aGUgcXVlcnkgb2JqZWN0IElEIGZvciByZWZyZXNoaW5nIHJlY29yZCBpbmZvcm1hdGlvbiBkYXRhXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgQVBJIHJlc3BvbnNlXHJcbiAgICovXHJcbiAgcmVmcmVzaFJlY29yZEluZm9EYXRhKGRhdGE6IFJlZnJlc2hSZWNvcmRJbmZvRGF0YVBheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5SZWZyZXNoUmVjb3JkSW5mb0RhdGF9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeHBvcnRzIGEgcmVwb3J0IGJhc2VkIG9uIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIFVzZXMgUmVwb3J0IG1pY3Jvc2VydmljZSB3aXRoIGNhbWVsQ2FzZSBwYXlsb2FkXHJcbiAgICogQHBhcmFtIHBheWxvYWQgUGFyYW1ldGVycyBmb3IgZXhwb3J0aW5nIHRoZSByZXBvcnRcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBleHBvcnQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgZXhwb3J0UmVwb3J0KHBheWxvYWQ6IFJlcG9ydFBheWxvYWQpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgLy8gQ29udmVydCBwYXlsb2FkIHRvIGNhbWVsQ2FzZSBmb3IgbmV3IEFQSVxyXG4gICAgY29uc3QgbmV3UGF5bG9hZCA9IHtcclxuICAgICAgZGF0YVJlcG9ydElkOiBwYXlsb2FkLkRhdGFSZXBvcnRJZCxcclxuICAgICAgcmVxVG9rZW5zOiBwYXlsb2FkLlJlcXRva2Vuc1xyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdFRvU2VydmljZShcclxuICAgICAgQVBJU2VydmljZXMucmVwb3J0U2VydmljZSxcclxuICAgICAgQVBJLnJlcG9ydEV4cG9ydCxcclxuICAgICAgbmV3UGF5bG9hZCxcclxuICAgICAgaGVhZGVyc1xyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKHJlczogQ29tbW9uQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAvLyBDb252ZXJ0IHJlc3VsdCBiYWNrIHRvIG9yaWdpbmFsIGZvcm1hdCBpZiBuZWVkZWRcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgUmVzdWx0OiByZXM/LlJlc3VsdD8uY29udGVudFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG93bmxvYWRzIGEgcmVwb3J0IGZpbGUgYmFzZWQgb24gdGhlIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogVXNlcyBSZXBvcnQgbWljcm9zZXJ2aWNlIHdpdGggY2FtZWxDYXNlIHBheWxvYWRcclxuICAgKiBAcGFyYW0gcGF5bG9hZCBQYXJhbWV0ZXJzIGZvciBkb3dubG9hZGluZyB0aGUgcmVwb3J0IGZpbGVcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBkb3dubG9hZCBvcGVyYXRpb25cclxuICAgKi9cclxuICBkb3dubG9hZFJlcG9ydChwYXlsb2FkOiBSZXBvcnRQYXlsb2FkKTogT2JzZXJ2YWJsZTxCbG9iPiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgLy8gQ29udmVydCBwYXlsb2FkIHRvIGNhbWVsQ2FzZSBmb3IgbmV3IEFQSVxyXG4gICAgY29uc3QgbmV3UGF5bG9hZCA9IHtcclxuICAgICAgZGF0YVJlcG9ydElkOiBwYXlsb2FkLkRhdGFSZXBvcnRJZCxcclxuICAgICAgcmVxVG9rZW5zOiBwYXlsb2FkLlJlcXRva2Vuc1xyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdEJsb2JUb1NlcnZpY2UoXHJcbiAgICAgIEFQSVNlcnZpY2VzLnJlcG9ydFNlcnZpY2UsXHJcbiAgICAgIEFQSS5yZXBvcnREb3dubG9hZCxcclxuICAgICAgbmV3UGF5bG9hZCxcclxuICAgICAgaGVhZGVyc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgcmVwb3J0IGJhc2VkIG9uIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIFBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgdGhlIHJlcG9ydFxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIHNlbmQgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgc2VuZFJlcG9ydChwYXlsb2FkOiBSZXBvcnRQYXlsb2FkKTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuc2VuZFJlcG9ydCwgcGF5bG9hZCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGRldGFpbGVkIGFuYWx5dGljcyBvZiBhIHNjcmVlbidzIHBlcmZvcm1hbmNlLlxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBiZSBzZW50IHRvIHRoZSBBUElcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBnZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzKGRhdGE6IFBlcmZvcm1hbmNlQW5hbHl0aWNzUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkdldERldGFpbE9mUGVyZm9ybWFuY2VBbmFseXRpY3MsIGRhdGEsIGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHN1bW1hcnkgb2YgcGVyZm9ybWFuY2UgYW5hbHl0aWNzXHJcbiAgICogQHBhcmFtIGRhdGEgLSBEYXRhIHRvIGJlIHNlbnQgdG8gdGhlIEFQSVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzKGRhdGE6IFBlcmZvcm1hbmNlQW5hbHl0aWNzUGF5bG9hZCk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkdldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzLCBkYXRhLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBTY3JlZW4gUGVyZm9ybWFuY2UgU3RhdGlzdGljc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBpbnNlcnRcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBpbnNlcnRTY3JlZW5QZXJmb3JtYW5jZVN0YXRpc3RpY3MoZGF0YTogU2NyZWVuUGVyZm9ybWFuY2VQYXlsb2FkLCBjdXN0b21IZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoY3VzdG9tSGVhZGVycyk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkluc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzLCBkYXRhLCBoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbGwgZG9jdW1lbnRzLlxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cclxuICAgKi9cclxuICBnZXRBbGxEb2N1bW5ldHMoaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IGdldEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChBUEkuR2V0QWxsRG9jdW1uZXRzLCB1bmRlZmluZWQsIGhlYWRlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBkb2N1bWVudCBieSBpdHMgSUQuXHJcbiAgICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZG9jdW1lbnQgdG8gcmV0cmlldmUuXHJcbiAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxyXG4gICAqL1xyXG4gIGdldERvY3VtZW50QnlJZChpZDogc3RyaW5nLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xyXG4gICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KGAke0FQSS5HZXREb2N1bWVudEJ5SWR9LyR7aWR9YCwgdW5kZWZpbmVkLCBoZWFkZXIpO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -57,11 +57,11 @@ export class DSQHelper {
|
|
|
57
57
|
}
|
|
58
58
|
return false;
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac =
|
|
61
|
-
static { this.ɵprov =
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: DSQHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: DSQHelper, providedIn: 'root' }); }
|
|
62
62
|
}
|
|
63
|
-
(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: DSQHelper, decorators: [{
|
|
64
|
+
type: Injectable,
|
|
65
|
+
args: [{ providedIn: 'root' }]
|
|
66
|
+
}] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNxLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vZHNxLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFjLE1BQU0sNkJBQTZCLENBQUM7O0FBRzNFLE1BQU0sT0FBTyxTQUFTO0lBRHRCO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0ErRDFEO0lBN0RDOzs7Ozs7O09BT0c7SUFDSCxZQUFZLENBQUMsSUFBUyxFQUFFLFNBQW9CLEVBQUUsT0FBYTtRQUN6RCxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLEtBQUssU0FBUyxDQUFDLFVBQVU7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RCxLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQ7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFNBQVMsQ0FBQyxJQUFTLEVBQUUsWUFBb0IsRUFBRSxPQUFhO1FBQzlELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILG9CQUFvQixDQUNsQixLQUFhLEVBQ2IsVUFBc0IsRUFDdEIsS0FBdUI7UUFFdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsZUFBZSxDQUFDO1FBRXZDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLFVBQVUsR0FBVSxTQUFTLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQ3JFLEtBQUssQ0FBQyxJQUFJLENBQ1IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JELE1BQU0sQ0FBQyxTQUFTLENBQ25CLENBQ0YsSUFBSSxFQUFFLENBQUM7WUFFUixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQ3BCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxDQUN4RCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0FoRVUsU0FBUzttSEFBVCxTQUFTLGNBREksTUFBTTs7NEZBQ25CLFNBQVM7a0JBRHJCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSAnLi9tZXRhLWRhdGEuaGVscGVycyc7XHJcbmltcG9ydCB7IEFjY2Vzc1Blcm1pc3Npb24sIEFjY2Vzc1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIERTUUhlbHBlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWV0YWRhdGFIZWxwZXIgPSBpbmplY3QoTWV0YWRhdGFIZWxwZXIpO1xyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhIHF1ZXJ5IGJhc2VkIG9uIHRoZSBxdWVyeSB0eXBlXHJcbiAgICogTk9URTogSU5TRVJULCBVUERBVEUsIGFuZCBERUxFVEUgbm93IHVzZSBuZXcgL3JlY29yZHMvKiBlbmRwb2ludHNcclxuICAgKiBUaGlzIGhlbHBlciBub3cgb25seSBoYW5kbGVzIGxlZ2FjeSBlbmRwb2ludHM6IEJ1bGtJbnNlcnQgYW5kIFNlbGVjdFxyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIGJlIGV4ZWN1dGVkXHJcbiAgICogQHBhcmFtIHF1ZXJ5VHlwZSBUaGUgdHlwZSBvZiBxdWVyeSB0byBiZSBleGVjdXRlZFxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIHF1ZXJ5IGV4ZWN1dGlvblxyXG4gICAqL1xyXG4gIGV4ZWN1dGVRdWVyeShkYXRhOiBhbnksIHF1ZXJ5VHlwZTogUXVlcnlUeXBlLCBoZWFkZXJzPzogYW55KSB7XHJcbiAgICBzd2l0Y2ggKHF1ZXJ5VHlwZSkge1xyXG4gICAgICBjYXNlIFF1ZXJ5VHlwZS5CdWxrSW5zZXJ0OlxyXG4gICAgICAgIHJldHVybiB0aGlzLmV4ZWN1dGlvbihkYXRhLCBBUEkuYnVsa0luc2VydCwgaGVhZGVycyk7XHJcbiAgICAgIGNhc2UgUXVlcnlUeXBlLlNlbGVjdDpcclxuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb24oZGF0YSwgQVBJLnNlbGVjdCwgaGVhZGVycyk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhbiBIVFRQIFBPU1QgcmVxdWVzdCB3aXRoIHRoZSBwcm92aWRlZCBkYXRhIGFuZCBVUkxcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSB0byBiZSBzZW50IGluIHRoZSBQT1NUIHJlcXVlc3RcclxuICAgKiBAcGFyYW0gZW5kUG9pbnROYW1lIFRoZSBVUkwgdG8gc2VuZCB0aGUgUE9TVCByZXF1ZXN0IHRvXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgUE9TVCByZXF1ZXN0IGlmIGhlYWRlcnMgYXJlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIG51bGxcclxuICAgKi9cclxuICBwcml2YXRlIGV4ZWN1dGlvbihkYXRhOiBhbnksIGVuZFBvaW50TmFtZTogc3RyaW5nLCBoZWFkZXJzPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGVuZFBvaW50TmFtZSwgZGF0YSwgaGVhZGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgYWNjZXNzIHRvIHRoZSBzcGVjaWZpZWQgb2JqZWN0IGJhc2VkIG9uIHJvbGVzIGFuZCBhY2Nlc3MgdHlwZVxyXG4gICAqIEBwYXJhbSBkc3FJZCBUaGUgRGF0YVNvdXJjZVF1ZXJ5IElEIHRvIGNoZWNrIGFjY2VzcyBmb3JcclxuICAgKiBAcGFyYW0gYWNjZXNzVHlwZSBUaGUgdHlwZSBvZiBhY2Nlc3MgdG8gY2hlY2sgKGUuZy4sIHJlYWQsIHdyaXRlKVxyXG4gICAqIEBwYXJhbSByb2xlcyBUaGUgcm9sZXMgb2YgdGhlIHVzZXIgd2l0aCBJRHNcclxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSB1c2VyIGhhcyBhY2Nlc3MsIGZhbHNlIG90aGVyd2lzZVxyXG4gICAqL1xyXG4gIGRvZXNIYXZlT2JqZWN0QWNjZXNzKFxyXG4gICAgZHNxSWQ6IHN0cmluZyxcclxuICAgIGFjY2Vzc1R5cGU6IEFjY2Vzc1R5cGUsXHJcbiAgICByb2xlczogW3sgSUQ6IHN0cmluZyB9XVxyXG4gICkge1xyXG4gICAgY29uc3QgZHNxID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKGRzcUlkKTtcclxuICAgIGNvbnN0IGFwcE9iamVjdCA9IGRzcT8ucGFyZW50QXBwT2JqZWN0O1xyXG5cclxuICAgIGlmIChhcHBPYmplY3QpIHtcclxuICAgICAgY29uc3QgYWNjZXNzTGlzdDogYW55W10gPSBhcHBPYmplY3QuQWNjZXNzTGlzdD8uZmlsdGVyKChhY2Nlc3M6IGFueSkgPT5cclxuICAgICAgICByb2xlcy5zb21lKFxyXG4gICAgICAgICAgKHJvbGUpID0+XHJcbiAgICAgICAgICAgIGFjY2Vzcy5Sb2xlSUQudG9Mb3dlckNhc2UoKSA9PT0gcm9sZS5JRC50b0xvd2VyQ2FzZSgpICYmXHJcbiAgICAgICAgICAgIGFjY2Vzcy5Jc0VuYWJsZWRcclxuICAgICAgICApXHJcbiAgICAgICkgfHwgW107XHJcblxyXG4gICAgICByZXR1cm4gYWNjZXNzTGlzdC5zb21lKFxyXG4gICAgICAgIChhY2Nlc3MpID0+IGFjY2Vzc1thY2Nlc3NUeXBlXSA9PT0gQWNjZXNzUGVybWlzc2lvbi5BbGxcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|