tnx-shared 5.2.8 → 5.2.11
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/assets/gulpfile.js +10 -2
- package/bundles/tnx-shared.umd.js +7 -0
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/classes/environment-schema.d.ts +2 -0
- package/classes/environment-schema.d.ts.map +1 -1
- package/esm2015/app-context/application-context.service.js +2 -1
- package/esm2015/classes/environment-schema.js +1 -1
- package/esm2015/services/environment.service.js +7 -1
- package/fesm2015/tnx-shared.js +7 -0
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/services/environment.service.d.ts +2 -0
- package/services/environment.service.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/assets/Dockerfile.ci +0 -5
- package/assets/deploy.client.ci +0 -42
- package/assets/gulpfile.js.bak +0 -703
|
@@ -152,6 +152,8 @@ export interface EnvironmentSchema {
|
|
|
152
152
|
customConfig: {
|
|
153
153
|
[key: string]: string;
|
|
154
154
|
};
|
|
155
|
+
userHasPermissionResetPassword: string;
|
|
156
|
+
userSettingConfig: any;
|
|
155
157
|
}
|
|
156
158
|
export declare const isLiteralObject: (obj: any) => boolean;
|
|
157
159
|
export declare const isNumber: (obj: any) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-schema.d.ts","sourceRoot":"../../../../projects/shared/src/lib/","sources":["classes/environment-schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"environment-schema.d.ts","sourceRoot":"../../../../projects/shared/src/lib/","sources":["classes/environment-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { ComCtxConstants } from '../configs/component-context.constant';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
// test
|
|
5
6
|
export class ApplicationContextService {
|
|
6
7
|
constructor() {
|
|
7
8
|
this.childsContext = [];
|
|
@@ -45,4 +46,4 @@ ApplicationContextService.decorators = [
|
|
|
45
46
|
},] }
|
|
46
47
|
];
|
|
47
48
|
ApplicationContextService.ctorParameters = () => [];
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiYXBwLWNvbnRleHQvYXBwbGljYXRpb24tY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRXhFLE9BQU87QUFJUCxNQUFNLE9BQU8seUJBQXlCO0lBS2xDO1FBRlEsa0JBQWEsR0FBOEIsRUFBRSxDQUFDO1FBQy9DLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7SUFJOUMsQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQWdDLEVBQUUsY0FBOEIsRUFBRSxXQUFtQjtRQUNyRyxxQ0FBcUM7UUFDckMsSUFBSSxXQUFXLEtBQUssTUFBTSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNaLElBQUksV0FBVyxLQUFLLE1BQU0sRUFBRTtnQkFDeEIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ25DO1lBQ0QsT0FBTyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWdDLEVBQUUsY0FBOEI7UUFDM0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ2xGLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDOzs7O1lBL0NKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbUN0eENvbnN0YW50cyB9IGZyb20gJy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRleHQuY29uc3RhbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xuLy8gdGVzdFxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkNvbnRleHRTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgcm9vdENvbnRleHQ6IENvbXBvbmVudENvbnRleHRTZXJ2aWNlO1xuICAgIHByaXZhdGUgY2hpbGRzQ29udGV4dDogQ29tcG9uZW50Q29udGV4dFNlcnZpY2VbXSA9IFtdO1xuICAgIHB1YmxpYyByb290Q29udGV4dExvYWRlZCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICApIHtcblxuICAgIH1cblxuICAgIGFkZENvbXBvbmVudENvbnRleHQoY29udGV4dDogQ29tcG9uZW50Q29udGV4dFNlcnZpY2UsIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgY29tcG9uZW50SWQ6IHN0cmluZykge1xuICAgICAgICAvLyBwaOG6o2kgc2V0IGNvbXBvbmVudCBpZCB04burIGNvbXBvbmVudFxuICAgICAgICBpZiAoY29tcG9uZW50SWQgPT09ICdDMDAwJykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250ZXh0T3AgPSB0aGlzLmNoaWxkc0NvbnRleHQuZmluZCh4ID0+IHgua2V5ID09PSBjb21wb25lbnRJZCk7XG4gICAgICAgIGlmICghY29udGV4dE9wKSB7XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50SWQgIT09ICdyb290Jykge1xuICAgICAgICAgICAgICAgIGNvbnRleHQucm9vdCA9IHRoaXMucm9vdENvbnRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb250ZXh0LmtleSA9IGNvbXBvbmVudElkO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHNDb250ZXh0LnB1c2goY29udGV4dCk7XG4gICAgICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250ZXh0T3A7XG4gICAgfVxuXG4gICAgYWRkUm9vdENvbnRleHQoY29udGV4dDogQ29tcG9uZW50Q29udGV4dFNlcnZpY2UsIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBjb25zdCBrZXkgPSBgcm9vdGA7XG4gICAgICAgIHRoaXMucm9vdENvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmtleSA9IGtleTtcbiAgICAgICAgdGhpcy5hZGRDb21wb25lbnRDb250ZXh0KGNvbnRleHQsIGFjdGl2YXRlZFJvdXRlLCAncm9vdCcpO1xuICAgICAgICB0aGlzLnJvb3RDb250ZXh0TG9hZGVkLm5leHQodHJ1ZSk7XG5cbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5kYXRhLmZsYWdzID0ge307XG4gICAgICAgIHRoaXMucm9vdENvbnRleHQuc3Vic2NyaWJlKENvbUN0eENvbnN0YW50cy5ST09ULkRFU1RST1lfQ09NUE9ORU5ULCBjb21wb25lbnRDb250ZXh0ID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRzQ29udGV4dC5zcGxpY2UodGhpcy5jaGlsZHNDb250ZXh0LmluZGV4T2YoY29tcG9uZW50Q29udGV4dCksIDEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRSb290Q29udGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm9vdENvbnRleHQ7XG4gICAgfVxufVxuIl19
|
|
@@ -195,4 +195,4 @@ export const cloneOld = (obj) => {
|
|
|
195
195
|
return JSON.parse(JSON.stringify(obj));
|
|
196
196
|
return null;
|
|
197
197
|
};
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUtBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ25DLE9BQU8sQ0FBQyxHQUFHLFlBQVksTUFBTSxDQUFDO1dBQ3ZCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztXQUNiLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztXQUNkLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztXQUNaLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztXQUNoQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM1QixPQUFPLEdBQUcsWUFBWSxNQUFNLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDMUIsT0FBTyxHQUFHLFlBQVksSUFBSSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzlCLE9BQU8sR0FBRyxZQUFZLFFBQVEsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM3QixPQUFPLEdBQUcsWUFBWSxPQUFPLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFH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Q0FBQzthQUM3QjtTQUNKO0tBQ0o7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN4QyxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM1QixJQUFJLEdBQUc7UUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudW1UeXBlU3BsYXNoIH0gZnJvbSAnLi4vY29tcG9uZW50cy9zcGxhc2gtY29tcG9uZW50L3NwbGFzaC1jb21wb25lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbWl6ZVVpTW9kZWwgfSBmcm9tICcuLi9zZXJ2aWNlcy9jdXN0b21pemUtdWkuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnRTY2hlbWEge1xuICAgIHByb2R1Y3Rpb246IGJvb2xlYW47XG4gICAgYXBpVmVyc2lvbjogc3RyaW5nO1xuICAgIGhtcjogYm9vbGVhbjtcbiAgICBhcHBNZXRhZGF0YToge1xuICAgICAgICBtYWluOiB7XG4gICAgICAgICAgICBkZWZhdWx0RmVtYWxlQXZhdGFyOiBzdHJpbmc7XG4gICAgICAgICAgICBkZWZhdWx0TWFsZUF2YXRhcjogc3RyaW5nO1xuICAgICAgICAgICAgZGlhQ2hpTmdheVRoYW5nOiBzdHJpbmc7XG4gICAgICAgICAgICBmYXZpY29uOiBzdHJpbmc7XG4gICAgICAgICAgICBsb2dvOiBzdHJpbmc7XG4gICAgICAgICAgICBvd25lcjogc3RyaW5nO1xuICAgICAgICAgICAgc2hvd0RlZmF1bHRTZXR0aW5nOiBib29sZWFuO1xuICAgICAgICAgICAgdGVuVHJ1b25nOiBzdHJpbmc7XG4gICAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBiYXNlSHJlZjogYW55O1xuICAgICAgICBnYXRld2F5OiBzdHJpbmc7XG4gICAgICAgIGdhdGV3YXlPbGQ6IHN0cmluZztcbiAgICAgICAgZ2F0ZXdheVN1YnBhdGg6IHN0cmluZztcbiAgICAgICAgYXBwR2F0ZXdheTogc3RyaW5nO1xuICAgICAgICBkb2N1bWVudFNlcnZlcjogc3RyaW5nO1xuICAgIH07XG4gICAgbWFqb3JBcGlWZXJzaW9uOiBzdHJpbmc7XG4gICAgc2VydmljZXM6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXToge1xuICAgICAgICAgICAgY29kZTogc3RyaW5nO1xuICAgICAgICAgICAgdXNlTG9jYWw6IGJvb2xlYW47XG4gICAgICAgICAgICB1c2VPbGRWZXJzaW9uOiBib29sZWFuO1xuICAgICAgICAgICAgYXBpVmVyc2lvbjogc3RyaW5nO1xuICAgICAgICAgICAgbG9jYWxHcnBjRW5kcG9pbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxvY2FsSHR0cEVuZHBvaW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsb2NhbEh0dHBFbmRwb2ludE9sZDogc3RyaW5nO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBhcHBzOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgICAgICAgIGNvZGU6IHN0cmluZztcbiAgICAgICAgICAgIGNvbHVtbjogbnVtYmVyO1xuICAgICAgICAgICAgZGVmYXVsdFJlZGlyZWN0OiBzdHJpbmc7XG4gICAgICAgICAgICB1cmw6IHN0cmluZztcbiAgICAgICAgICAgIGljb246IHN0cmluZztcbiAgICAgICAgICAgIHVzZUxvY2FsOiBib29sZWFuO1xuICAgICAgICAgICAgbG9jYWxFbmRwb2ludDogc3RyaW5nO1xuICAgICAgICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgICAgICAgIGxvbmdUaXRsZTogc3RyaW5nO1xuICAgICAgICAgICAgc2hvd0RlZmF1bHRTZXR0aW5nOiBib29sZWFuO1xuICAgICAgICAgICAgdmlzaWJpbGU6IGJvb2xlYW47XG4gICAgICAgICAgICBhbGxvd0Fub255bW91czogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZHluYW1pY0NvbXBvbmVudE1hbmlmZXN0OiBhbnk7XG4gICAgYXBpRG9tYWluOiBhbnk7XG4gICAgY2xpZW50RG9tYWluOiB7XG4gICAgICAgIGFwcERvbWFpbjogc3RyaW5nO1xuICAgICAgICBwdWJsaWNDbGllbnREb21haW46IHN0cmluZztcbiAgICAgICAgZGVmYXVsdFJlZGlyZWN0OiBzdHJpbmc7XG4gICAgICAgIGNvbmdWaWVjRG9tYWluOiBzdHJpbmc7XG4gICAgfTtcblxuICAgIGNsaWVudFRlbXBsYXRlUGFyYW06IHtcbiAgICAgICAgdHJpbmhLeTogc3RyaW5nO1xuICAgIH07XG5cbiAgICBhdXRoZW50aWNhdGlvblNldHRpbmdzOiB7XG4gICAgICAgIGF1dGhlblR5cGU6IHN0cmluZ1tdO1xuICAgICAgICBjbGllbnRJZDogc3RyaW5nO1xuICAgICAgICBpc3N1ZXI6IHN0cmluZztcbiAgICAgICAgc2NvcGU6IHN0cmluZztcbiAgICAgICAgcmVxdWlyZUh0dHBzOiBib29sZWFuO1xuICAgICAgICBjdXN0b21SZWRpcmVjdFVyaTogc3RyaW5nO1xuICAgICAgICBsb2dvdXRPblVuYXV0aG9yaXplZDogYm9vbGVhbjtcbiAgICAgICAgaXNGb3JjZUxvZ291dElmNDAxOiBib29sZWFuO1xuICAgICAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICB9O1xuXG4gICAgc3lzdGVtTG9nU2V0dGluZzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuXG4gICAgfTtcblxuICAgIHNpZ25hbHI6IHtcbiAgICAgICAgY2xpZW50S2V5OiBzdHJpbmc7XG4gICAgICAgIGVuZHBvaW50OiBzdHJpbmc7XG4gICAgICAgIGVuZHBvaW50U1NMOiBzdHJpbmc7XG4gICAgICAgIHVzZVNTTDogYm9vbGVhbjtcbiAgICAgICAgc2hvd0xvZzogYm9vbGVhbjtcbiAgICAgICAgbGlua0Rvd25sb2FkQ2xpZW50QXBwOiBzdHJpbmc7XG4gICAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICAgICAgZW5kcG9pbnRVcGRhdGU6IHN0cmluZztcbiAgICB9O1xuXG4gICAgc2lnbmFsUkNvbmZpZzoge1xuICAgICAgICB0b3BpYzogYW55LFxuICAgICAgICBhY3Rpb246IHtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbkNyZWF0ZWQ6IHN0cmluZyxcbiAgICAgICAgICAgIHZpZXdVcGRhdGVkOiBzdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZW5hYmxlSHViczoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3b3JrZmxvdzoge1xuICAgICAgICBkZWZhdWx0V29ya2Zsb3c6IHtcbiAgICAgICAgICAgIHRhc2s6IHN0cmluZztcbiAgICAgICAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICAgICAgfSxcbiAgICAgICAgdGFza0NhdGVnb3J5V29ya2Zsb3dNYXBwaW5nczogYW55O1xuICAgIH07XG5cbiAgICBzdWZmaXhTZXJ2aWNlQ29kZTogc3RyaW5nO1xuICAgIG1vbml0b3Jpbmc6IHtcbiAgICAgICAgZGVwbG95OiBzdHJpbmc7XG4gICAgICAgIG1vbml0b3I6IHN0cmluZztcbiAgICB9O1xuXG4gICAgaGVscENvbmZpZzoge1xuICAgICAgICBleHBlcnROYW1lOiBzdHJpbmc7XG4gICAgICAgIGV4cGVydFBob25lTnVtbWJlcjogc3RyaW5nO1xuICAgICAgICBleHBlcnRFbWFpbDogc3RyaW5nO1xuICAgICAgICBsb2dvQ29tcGFueTogc3RyaW5nO1xuICAgICAgICBkb2N1bWVudHM6XG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgICB0aHVtYm5haWxUeXBlOiBzdHJpbmc7XG4gICAgICAgICAgICBpY29uOiBzdHJpbmc7XG4gICAgICAgICAgICBocmVmOiBzdHJpbmc7XG4gICAgICAgIH1bXVxuICAgIH1cblxuICAgIGRlZmF1bHRWYWx1ZToge1xuICAgICAgICBsaW5rRG9jdW1lbnRTZXJ2ZXI6IHN0cmluZztcbiAgICAgICAga3lTb1NpbToge1xuICAgICAgICAgICAgdHNhVXJsOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHNldHRpbmdEYXRhRGVmYXVsdDoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdcbiAgICB9O1xuICAgIGVuYWJsZUJhc2VIcmVmOiBib29sZWFuO1xuICAgIGJhc2VIcmVmOiBzdHJpbmc7XG4gICAgcG9ydGFsQ29uZmlnOiBhbnk7XG4gICAgd29ya2Zsb3dTZXR0aW5nOiBhbnk7XG4gICAgdmJjY0NvbmZpZzoge1xuICAgICAgICBwcmVmaXhUZW1wbGF0ZTogc3RyaW5nW11cbiAgICB9O1xuICAgIGtleVByZXNzUGVybWlzc2lvblV0aWxzOiBzdHJpbmc7XG4gICAgc3RvcmFnZTogc3RyaW5nO1xuICAgIGN1c3RvbWl6ZVVpOiBDdXN0b21pemVVaU1vZGVsO1xuICAgIHNob3dFcnJvck1lc3NhZ2VJblRvYXN0OiBib29sZWFuO1xuICAgIHNob3dXYXJuaW5nTWVzc2FnZUluVG9hc3Q6IGJvb2xlYW47XG4gICAgaXNJZ25vcmVBZG1pbjogYm9vbGVhbjtcbiAgICBlbmFibGVUbkNsaWVudDogYm9vbGVhbjtcbiAgICBlbmFibGVQb3B1bGF0ZUxvZzogYm9vbGVhbjtcbiAgICBkaXNhYmxlTm90aWZpY2F0aW9uOiBib29sZWFuO1xuICAgIHNwbGFzaFNjcmVlbjogRW51bVR5cGVTcGxhc2g7XG4gICAgdW5kZXJjb25zdHJ1Y3Rpb246IGJvb2xlYW47XG4gICAgaW50ZXJuYWxGaWxlRW5kcG9pbnQ6IHN0cmluZztcbiAgICBidXR0b25QZXJtaXNzaW9uczogc3RyaW5nW107XG4gICAgY3VzdG9tQ29uZmlnOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IGlzTGl0ZXJhbE9iamVjdCA9IChvYmopID0+IHtcbiAgICByZXR1cm4gKG9iaiBpbnN0YW5jZW9mIE9iamVjdClcbiAgICAgICAgJiYgIWlzQXJyYXkob2JqKVxuICAgICAgICAmJiAhaXNOdW1iZXIob2JqKVxuICAgICAgICAmJiAhaXNEYXRlKG9iailcbiAgICAgICAgJiYgIWlzRnVuY3Rpb24ob2JqKVxuICAgICAgICAmJiAhaXNCb29sZWFuKG9iailcbiAgICAgICAgJiYgIWlzUmVndWxhcihvYmopXG4gICAgICAgICYmICFpc1N0cmluZyhvYmopO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzTnVtYmVyID0gKG9iaikgPT4ge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgaXNEYXRlID0gKG9iaikgPT4ge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRnVuY3Rpb24gPSAob2JqKSA9PiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQm9vbGVhbiA9IChvYmopID0+IHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1N0cmluZyA9IChvYmopID0+IHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUmVndWxhciA9IChvYmopID0+IHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQXJyYXkgPSAob2JqKSA9PiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEFycmF5O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2ltcGxlVHlwZSA9IChvYmopID0+IHtcbiAgICBjb25zdCB0ID0gdHlwZW9mIChvYmopO1xuICAgIHJldHVybiB0ID09ICdudW1iZXInIHx8IHQgPT0gJ2Jvb2xlYW4nIHx8IHQgPT0gJ3N0cmluZycgfHwgdCA9PSAnc3ltYm9sJyB8fCB0ID09ICdiaWdpbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWREYXRlID0gKGRhdGUpID0+IHtcbiAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkVGltZSA9IChkYXRlKSA9PiB7XG4gICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmIC9eKFswLTFdWzAtOV18MlswLTNdKTooWzAtNV1bMC05XSkkLy50ZXN0KGAke2RhdGUuZ2V0SG91cnMoKX06JHtkYXRlLmdldE1pbnV0ZXMoKX1gKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjbG9uZSA9IChvYmopID0+IHtcbiAgICBpZiAob2JqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqKSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWVyZ2VKU09OID0gKHRhcmdldCwgc291cmNlKSA9PiB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHNvdXJjZSkubGVuZ3RoID09IDApIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG4gICAgaWYgKGlzQXJyYXkoc291cmNlKSkge1xuICAgICAgICBpZiAoIWlzQXJyYXkodGFyZ2V0KSkge1xuICAgICAgICAgICAgdGFyZ2V0ID0gW107XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc291cmNlKSB7XG4gICAgICAgICAgICBpZiAoaSA8IHRhcmdldC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXRbaV0gPSBtZXJnZUpTT04odGFyZ2V0W2ldLCBpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRhcmdldC5wdXNoKGNsb25lKGl0ZW0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgICB0YXJnZXQubGVuZ3RoID0gaTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNMaXRlcmFsT2JqZWN0KHNvdXJjZSkpIHtcbiAgICAgICAgaWYgKCFpc0xpdGVyYWxPYmplY3QodGFyZ2V0KSkgdGFyZ2V0ID0ge307XG4gICAgICAgIGVsc2UgdGFyZ2V0ID0gY2xvbmUodGFyZ2V0KTtcblxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgICAgICAgaWYgKGtleXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBtZXJnZUpTT04odGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRhcmdldCk7XG4gICAgICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgICAgICBkZWxldGUgdGFyZ2V0W2tleV07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGFyZ2V0ID0gc291cmNlO1xuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQ7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJBbGwgPSAob2JqKSA9PiB7XG4gICAgY29uc3QgbmV3T2JqID0gY2xvbmUob2JqKTtcbiAgICBjb25zdCByZWN1cnNpdmUgPSAob2IpID0+IHtcbiAgICAgICAgaWYgKGlzQXJyYXkob2IpKSB7XG4gICAgICAgICAgICBvYi5sZW5ndGggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzTGl0ZXJhbE9iamVjdChvYikpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iKSB7XG4gICAgICAgICAgICAgICAgb2Jba2V5XSA9IHJlY3Vyc2l2ZShvYltrZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG9iID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvYjtcbiAgICB9O1xuICAgIHJldHVybiByZWN1cnNpdmUobmV3T2JqKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbnZpcm9ubWVudEJ5TmFtZSA9IChlbnZOYW1lOiBzdHJpbmcsIHNjb3BlTmFtZTogc3RyaW5nLCBjdXN0b21QYXRoOiBzdHJpbmcgPSAnJykgPT4ge1xuICAgIGNvbnN0IGFwcFhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGlmIChjdXN0b21QYXRoKSB7XG4gICAgICAgIGFwcFhoci5vcGVuKCdHRVQnLCBjdXN0b21QYXRoLCBmYWxzZSk7XG4gICAgICAgIGFwcFhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDYWNoZS1Db250cm9sJywgJ25vLWNhY2hlLCBuby1zdG9yZSwgbWF4LWFnZT0wJyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBhcHBYaHIub3BlbignR0VUJywgYGFzc2V0cy9lbnZpcm9ubWVudHMvJHtzY29wZU5hbWV9LyR7ZW52TmFtZX0uanNvbmAsIGZhbHNlKTtcbiAgICAgICAgYXBwWGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG5vLXN0b3JlLCBtYXgtYWdlPTAnKTtcbiAgICB9XG4gICAgYXBwWGhyLnNlbmQobnVsbCk7XG4gICAgcmV0dXJuIGFwcFhoci5yZXNwb25zZVRleHQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RW52aXJvbm1lbnREYXRhID0gKGxpc3RPZkVudk5hbWU6IHN0cmluZ1tdLCBzY29wZU5hbWU6IHN0cmluZywgY3VzdG9tUGF0aDogc3RyaW5nID0gJycpID0+IHtcbiAgICBjb25zdCByZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGVudk5hbWUgb2YgbGlzdE9mRW52TmFtZSkge1xuICAgICAgICByZXMucHVzaChnZXRFbnZpcm9ubWVudEJ5TmFtZShlbnZOYW1lLCBzY29wZU5hbWUsIGN1c3RvbVBhdGgpKTtcbiAgICB9XG5cbiAgICBsZXQgb3A6IEVudmlyb25tZW50U2NoZW1hID0gPGFueT57fTtcbiAgICB3aGlsZSAocmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc291cmNlID0gSlNPTi5wYXJzZShyZXMuc2hpZnQoKSk7XG4gICAgICAgIG9wID0gbWVyZ2VKU09OKG9wLCBzb3VyY2UpO1xuICAgIH1cbiAgICByZXR1cm4gb3A7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RW52aXJvbm1lbnREYXRhTmV3ID0gKHBlcnNvbmFsTmFtZTogc3RyaW5nLCBzY29wZU5hbWU6IHN0cmluZywgY3VzdG9tUGF0aDogc3RyaW5nID0gJycpID0+IHtcbiAgICBjb25zdCBjb21tb25NYXN0ZXJEYXRhQXBpID0gKHdpbmRvdyBhcyBhbnkpLmNvbW1vbk1hc3RlckRhdGFBcGk7XG4gICAgY29uc3QgYXBwWGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgYXBwWGhyLm9wZW4oJ0dFVCcsIGAke2NvbW1vbk1hc3RlckRhdGFBcGl9djUvQ29uZmlnQW5kU2V0dGluZy9HZXRBcHBDb25maWdgLCBmYWxzZSk7XG4gICAgLy8gR+G7jWkgYXBpIGPhu6dhIG3DrG5oIHRow6wga28gY+G6p24gbG9naWMgY2FjaGUgbsOgeSwgbG9naWMgbsOgeSBkbyBwaMOtYSBhcGkgcXV54bq/dCDEkeG7i25oIHhlbSBjw7MgY2FjaGUga2jDtG5nIHbDoCBjYWNoZSBiYW8gbMOidVxuICAgIC8vIGFwcFhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDYWNoZS1Db250cm9sJywgJ25vLWNhY2hlLCBuby1zdG9yZSwgbWF4LWFnZT0wJyk7XG4gICAgYXBwWGhyLnNlbmQobnVsbCk7XG4gICAgY29uc3QgcmVzR2V0QXBwQ29uZmlnID0gYXBwWGhyLnJlc3BvbnNlVGV4dDtcbiAgICBsZXQgb3A6IEVudmlyb25tZW50U2NoZW1hID0gSlNPTi5wYXJzZShyZXNHZXRBcHBDb25maWcpLmRhdGE7XG4gICAgLy8gTuG6v3UgbMOgIHByb2QgdGjDrCBraMO0bmcgY+G6p24gxJHhu41jIGPhuqV1IGjDrG5oIHThu6sganNvbiBu4buvYVxuICAgIGlmIChwZXJzb25hbE5hbWUgIT0gJ3Byb2QnKSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICByZXMucHVzaChnZXRFbnZpcm9ubWVudEJ5TmFtZShwZXJzb25hbE5hbWUsIHNjb3BlTmFtZSwgY3VzdG9tUGF0aCkpO1xuICAgICAgICB3aGlsZSAocmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IEpTT04ucGFyc2UocmVzLnNoaWZ0KCkpO1xuICAgICAgICAgICAgb3AgPSBtZXJnZUpTT04ob3AsIHNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wKSB7XG4gICAgICAgICAgICBpZiAob3AuYXBwcykge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9wLmFwcHMpLmZvckVhY2goYXBwQ29kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9wLmFwcHNbYXBwQ29kZV0uY29kZSA9IGFwcENvZGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcC5zZXJ2aWNlcykge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9wLnNlcnZpY2VzKS5mb3JFYWNoKGFwcENvZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvcC5zZXJ2aWNlc1thcHBDb2RlXS5jb2RlID0gYXBwQ29kZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvcDtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXJnZUpTT05PbGQgPSAodGFyZ2V0LCBzb3VyY2VSYXcpID0+IHtcbiAgICBjb25zdCBzb3VyY2UgPSBjbG9uZU9sZChzb3VyY2VSYXcpO1xuICAgIGlmIChpc09iamVjdE9sZChzb3VyY2UpKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuICAgICAgICAgICAgaWYgKGlzT2JqZWN0T2xkKHNvdXJjZVtrZXldKSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNPYmplY3RPbGQodGFyZ2V0W2tleV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtZXJnZUpTT05PbGQodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG59O1xuXG5leHBvcnQgY29uc3QgaXNPYmplY3RPbGQgPSAob2JqKSA9PiB7XG4gICAgaWYgKCFvYmopIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBzID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcbiAgICBpZiAocyAmJiBzLnN0YXJ0c1dpdGgoJ3snKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsb25lT2xkID0gKG9iaikgPT4ge1xuICAgIGlmIChvYmopIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaikpO1xuICAgIHJldHVybiBudWxsO1xufTtcbiJdfQ==
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY2xhc3Nlcy9lbnZpcm9ubWVudC1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUtBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ25DLE9BQU8sQ0FBQyxHQUFHLFlBQVksTUFBTSxDQUFDO1dBQ3ZCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztXQUNiLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztXQUNkLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztXQUNaLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztXQUNoQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7V0FDZixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM1QixPQUFPLEdBQUcsWUFBWSxNQUFNLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDMUIsT0FBTyxHQUFHLFlBQVksSUFBSSxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzlCLE9BQU8sR0FBRyxZQUFZLFFBQVEsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM3QixPQUFPLEdBQUcsWUFBWSxPQUFPLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFH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Q0FBQzthQUM3QjtTQUNKO0tBQ0o7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN4QyxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUM1QixJQUFJLEdBQUc7UUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudW1UeXBlU3BsYXNoIH0gZnJvbSAnLi4vY29tcG9uZW50cy9zcGxhc2gtY29tcG9uZW50L3NwbGFzaC1jb21wb25lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbWl6ZVVpTW9kZWwgfSBmcm9tICcuLi9zZXJ2aWNlcy9jdXN0b21pemUtdWkuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnRTY2hlbWEge1xuICAgIHByb2R1Y3Rpb246IGJvb2xlYW47XG4gICAgYXBpVmVyc2lvbjogc3RyaW5nO1xuICAgIGhtcjogYm9vbGVhbjtcbiAgICBhcHBNZXRhZGF0YToge1xuICAgICAgICBtYWluOiB7XG4gICAgICAgICAgICBkZWZhdWx0RmVtYWxlQXZhdGFyOiBzdHJpbmc7XG4gICAgICAgICAgICBkZWZhdWx0TWFsZUF2YXRhcjogc3RyaW5nO1xuICAgICAgICAgICAgZGlhQ2hpTmdheVRoYW5nOiBzdHJpbmc7XG4gICAgICAgICAgICBmYXZpY29uOiBzdHJpbmc7XG4gICAgICAgICAgICBsb2dvOiBzdHJpbmc7XG4gICAgICAgICAgICBvd25lcjogc3RyaW5nO1xuICAgICAgICAgICAgc2hvd0RlZmF1bHRTZXR0aW5nOiBib29sZWFuO1xuICAgICAgICAgICAgdGVuVHJ1b25nOiBzdHJpbmc7XG4gICAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBiYXNlSHJlZjogYW55O1xuICAgICAgICBnYXRld2F5OiBzdHJpbmc7XG4gICAgICAgIGdhdGV3YXlPbGQ6IHN0cmluZztcbiAgICAgICAgZ2F0ZXdheVN1YnBhdGg6IHN0cmluZztcbiAgICAgICAgYXBwR2F0ZXdheTogc3RyaW5nO1xuICAgICAgICBkb2N1bWVudFNlcnZlcjogc3RyaW5nO1xuICAgIH07XG4gICAgbWFqb3JBcGlWZXJzaW9uOiBzdHJpbmc7XG4gICAgc2VydmljZXM6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXToge1xuICAgICAgICAgICAgY29kZTogc3RyaW5nO1xuICAgICAgICAgICAgdXNlTG9jYWw6IGJvb2xlYW47XG4gICAgICAgICAgICB1c2VPbGRWZXJzaW9uOiBib29sZWFuO1xuICAgICAgICAgICAgYXBpVmVyc2lvbjogc3RyaW5nO1xuICAgICAgICAgICAgbG9jYWxHcnBjRW5kcG9pbnQ6IHN0cmluZztcbiAgICAgICAgICAgIGxvY2FsSHR0cEVuZHBvaW50OiBzdHJpbmc7XG4gICAgICAgICAgICBsb2NhbEh0dHBFbmRwb2ludE9sZDogc3RyaW5nO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBhcHBzOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgICAgICAgIGNvZGU6IHN0cmluZztcbiAgICAgICAgICAgIGNvbHVtbjogbnVtYmVyO1xuICAgICAgICAgICAgZGVmYXVsdFJlZGlyZWN0OiBzdHJpbmc7XG4gICAgICAgICAgICB1cmw6IHN0cmluZztcbiAgICAgICAgICAgIGljb246IHN0cmluZztcbiAgICAgICAgICAgIHVzZUxvY2FsOiBib29sZWFuO1xuICAgICAgICAgICAgbG9jYWxFbmRwb2ludDogc3RyaW5nO1xuICAgICAgICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgICAgICAgIGxvbmdUaXRsZTogc3RyaW5nO1xuICAgICAgICAgICAgc2hvd0RlZmF1bHRTZXR0aW5nOiBib29sZWFuO1xuICAgICAgICAgICAgdmlzaWJpbGU6IGJvb2xlYW47XG4gICAgICAgICAgICBhbGxvd0Fub255bW91czogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZHluYW1pY0NvbXBvbmVudE1hbmlmZXN0OiBhbnk7XG4gICAgYXBpRG9tYWluOiBhbnk7XG4gICAgY2xpZW50RG9tYWluOiB7XG4gICAgICAgIGFwcERvbWFpbjogc3RyaW5nO1xuICAgICAgICBwdWJsaWNDbGllbnREb21haW46IHN0cmluZztcbiAgICAgICAgZGVmYXVsdFJlZGlyZWN0OiBzdHJpbmc7XG4gICAgICAgIGNvbmdWaWVjRG9tYWluOiBzdHJpbmc7XG4gICAgfTtcblxuICAgIGNsaWVudFRlbXBsYXRlUGFyYW06IHtcbiAgICAgICAgdHJpbmhLeTogc3RyaW5nO1xuICAgIH07XG5cbiAgICBhdXRoZW50aWNhdGlvblNldHRpbmdzOiB7XG4gICAgICAgIGF1dGhlblR5cGU6IHN0cmluZ1tdO1xuICAgICAgICBjbGllbnRJZDogc3RyaW5nO1xuICAgICAgICBpc3N1ZXI6IHN0cmluZztcbiAgICAgICAgc2NvcGU6IHN0cmluZztcbiAgICAgICAgcmVxdWlyZUh0dHBzOiBib29sZWFuO1xuICAgICAgICBjdXN0b21SZWRpcmVjdFVyaTogc3RyaW5nO1xuICAgICAgICBsb2dvdXRPblVuYXV0aG9yaXplZDogYm9vbGVhbjtcbiAgICAgICAgaXNGb3JjZUxvZ291dElmNDAxOiBib29sZWFuO1xuICAgICAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICB9O1xuXG4gICAgc3lzdGVtTG9nU2V0dGluZzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuXG4gICAgfTtcblxuICAgIHNpZ25hbHI6IHtcbiAgICAgICAgY2xpZW50S2V5OiBzdHJpbmc7XG4gICAgICAgIGVuZHBvaW50OiBzdHJpbmc7XG4gICAgICAgIGVuZHBvaW50U1NMOiBzdHJpbmc7XG4gICAgICAgIHVzZVNTTDogYm9vbGVhbjtcbiAgICAgICAgc2hvd0xvZzogYm9vbGVhbjtcbiAgICAgICAgbGlua0Rvd25sb2FkQ2xpZW50QXBwOiBzdHJpbmc7XG4gICAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICAgICAgZW5kcG9pbnRVcGRhdGU6IHN0cmluZztcbiAgICB9O1xuXG4gICAgc2lnbmFsUkNvbmZpZzoge1xuICAgICAgICB0b3BpYzogYW55LFxuICAgICAgICBhY3Rpb246IHtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbkNyZWF0ZWQ6IHN0cmluZyxcbiAgICAgICAgICAgIHZpZXdVcGRhdGVkOiBzdHJpbmdcbiAgICAgICAgfSxcbiAgICAgICAgZW5hYmxlSHViczoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3b3JrZmxvdzoge1xuICAgICAgICBkZWZhdWx0V29ya2Zsb3c6IHtcbiAgICAgICAgICAgIHRhc2s6IHN0cmluZztcbiAgICAgICAgICAgIHZlcnNpb246IHN0cmluZztcbiAgICAgICAgfSxcbiAgICAgICAgdGFza0NhdGVnb3J5V29ya2Zsb3dNYXBwaW5nczogYW55O1xuICAgIH07XG5cbiAgICBzdWZmaXhTZXJ2aWNlQ29kZTogc3RyaW5nO1xuICAgIG1vbml0b3Jpbmc6IHtcbiAgICAgICAgZGVwbG95OiBzdHJpbmc7XG4gICAgICAgIG1vbml0b3I6IHN0cmluZztcbiAgICB9O1xuXG4gICAgaGVscENvbmZpZzoge1xuICAgICAgICBleHBlcnROYW1lOiBzdHJpbmc7XG4gICAgICAgIGV4cGVydFBob25lTnVtbWJlcjogc3RyaW5nO1xuICAgICAgICBleHBlcnRFbWFpbDogc3RyaW5nO1xuICAgICAgICBsb2dvQ29tcGFueTogc3RyaW5nO1xuICAgICAgICBkb2N1bWVudHM6XG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgICB0aHVtYm5haWxUeXBlOiBzdHJpbmc7XG4gICAgICAgICAgICBpY29uOiBzdHJpbmc7XG4gICAgICAgICAgICBocmVmOiBzdHJpbmc7XG4gICAgICAgIH1bXVxuICAgIH1cblxuICAgIGRlZmF1bHRWYWx1ZToge1xuICAgICAgICBsaW5rRG9jdW1lbnRTZXJ2ZXI6IHN0cmluZztcbiAgICAgICAga3lTb1NpbToge1xuICAgICAgICAgICAgdHNhVXJsOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHNldHRpbmdEYXRhRGVmYXVsdDoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdcbiAgICB9O1xuICAgIGVuYWJsZUJhc2VIcmVmOiBib29sZWFuO1xuICAgIGJhc2VIcmVmOiBzdHJpbmc7XG4gICAgcG9ydGFsQ29uZmlnOiBhbnk7XG4gICAgd29ya2Zsb3dTZXR0aW5nOiBhbnk7XG4gICAgdmJjY0NvbmZpZzoge1xuICAgICAgICBwcmVmaXhUZW1wbGF0ZTogc3RyaW5nW11cbiAgICB9O1xuICAgIGtleVByZXNzUGVybWlzc2lvblV0aWxzOiBzdHJpbmc7XG4gICAgc3RvcmFnZTogc3RyaW5nO1xuICAgIGN1c3RvbWl6ZVVpOiBDdXN0b21pemVVaU1vZGVsO1xuICAgIHNob3dFcnJvck1lc3NhZ2VJblRvYXN0OiBib29sZWFuO1xuICAgIHNob3dXYXJuaW5nTWVzc2FnZUluVG9hc3Q6IGJvb2xlYW47XG4gICAgaXNJZ25vcmVBZG1pbjogYm9vbGVhbjtcbiAgICBlbmFibGVUbkNsaWVudDogYm9vbGVhbjtcbiAgICBlbmFibGVQb3B1bGF0ZUxvZzogYm9vbGVhbjtcbiAgICBkaXNhYmxlTm90aWZpY2F0aW9uOiBib29sZWFuO1xuICAgIHNwbGFzaFNjcmVlbjogRW51bVR5cGVTcGxhc2g7XG4gICAgdW5kZXJjb25zdHJ1Y3Rpb246IGJvb2xlYW47XG4gICAgaW50ZXJuYWxGaWxlRW5kcG9pbnQ6IHN0cmluZztcbiAgICBidXR0b25QZXJtaXNzaW9uczogc3RyaW5nW107XG4gICAgY3VzdG9tQ29uZmlnOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xuICAgIH1cbiAgICB1c2VySGFzUGVybWlzc2lvblJlc2V0UGFzc3dvcmQ6IHN0cmluZztcbiAgICB1c2VyU2V0dGluZ0NvbmZpZzogYW55O1xufVxuXG5leHBvcnQgY29uc3QgaXNMaXRlcmFsT2JqZWN0ID0gKG9iaikgPT4ge1xuICAgIHJldHVybiAob2JqIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgICAmJiAhaXNBcnJheShvYmopXG4gICAgICAgICYmICFpc051bWJlcihvYmopXG4gICAgICAgICYmICFpc0RhdGUob2JqKVxuICAgICAgICAmJiAhaXNGdW5jdGlvbihvYmopXG4gICAgICAgICYmICFpc0Jvb2xlYW4ob2JqKVxuICAgICAgICAmJiAhaXNSZWd1bGFyKG9iailcbiAgICAgICAgJiYgIWlzU3RyaW5nKG9iaik7XG59O1xuXG5leHBvcnQgY29uc3QgaXNOdW1iZXIgPSAob2JqKSA9PiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0RhdGUgPSAob2JqKSA9PiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7XG59O1xuXG5leHBvcnQgY29uc3QgaXNGdW5jdGlvbiA9IChvYmopID0+IHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRnVuY3Rpb247XG59O1xuXG5leHBvcnQgY29uc3QgaXNCb29sZWFuID0gKG9iaikgPT4ge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU3RyaW5nID0gKG9iaikgPT4ge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgaXNSZWd1bGFyID0gKG9iaikgPT4ge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZWdFeHA7XG59O1xuXG5leHBvcnQgY29uc3QgaXNBcnJheSA9IChvYmopID0+IHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQXJyYXk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNTaW1wbGVUeXBlID0gKG9iaikgPT4ge1xuICAgIGNvbnN0IHQgPSB0eXBlb2YgKG9iaik7XG4gICAgcmV0dXJuIHQgPT0gJ251bWJlcicgfHwgdCA9PSAnYm9vbGVhbicgfHwgdCA9PSAnc3RyaW5nJyB8fCB0ID09ICdzeW1ib2wnIHx8IHQgPT0gJ2JpZ2ludCc7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZERhdGUgPSAoZGF0ZSkgPT4ge1xuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRUaW1lID0gKGRhdGUpID0+IHtcbiAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgL14oWzAtMV1bMC05XXwyWzAtM10pOihbMC01XVswLTldKSQvLnRlc3QoYCR7ZGF0ZS5nZXRIb3VycygpfToke2RhdGUuZ2V0TWludXRlcygpfWApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsb25lID0gKG9iaikgPT4ge1xuICAgIGlmIChvYmogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXJnZUpTT04gPSAodGFyZ2V0LCBzb3VyY2UpID0+IHtcbiAgICBpZiAoT2JqZWN0LmtleXMoc291cmNlKS5sZW5ndGggPT0gMCkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cbiAgICBpZiAoaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICAgIGlmICghaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0YXJnZXQgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBzb3VyY2UpIHtcbiAgICAgICAgICAgIGlmIChpIDwgdGFyZ2V0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRhcmdldFtpXSA9IG1lcmdlSlNPTih0YXJnZXRbaV0sIGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0LnB1c2goY2xvbmUoaXRlbSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSsrO1xuICAgICAgICB9XG4gICAgICAgIHRhcmdldC5sZW5ndGggPSBpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0xpdGVyYWxPYmplY3Qoc291cmNlKSkge1xuICAgICAgICBpZiAoIWlzTGl0ZXJhbE9iamVjdCh0YXJnZXQpKSB0YXJnZXQgPSB7fTtcbiAgICAgICAgZWxzZSB0YXJnZXQgPSBjbG9uZSh0YXJnZXQpO1xuXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpO1xuICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IG1lcmdlSlNPTih0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGFyZ2V0KTtcbiAgICAgICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0YXJnZXRba2V5XTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0YXJnZXQgPSBzb3VyY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhckFsbCA9IChvYmopID0+IHtcbiAgICBjb25zdCBuZXdPYmogPSBjbG9uZShvYmopO1xuICAgIGNvbnN0IHJlY3Vyc2l2ZSA9IChvYikgPT4ge1xuICAgICAgICBpZiAoaXNBcnJheShvYikpIHtcbiAgICAgICAgICAgIG9iLmxlbmd0aCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNMaXRlcmFsT2JqZWN0KG9iKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2IpIHtcbiAgICAgICAgICAgICAgICBvYltrZXldID0gcmVjdXJzaXZlKG9iW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgb2IgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9iO1xuICAgIH07XG4gICAgcmV0dXJuIHJlY3Vyc2l2ZShuZXdPYmopO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVudmlyb25tZW50QnlOYW1lID0gKGVudk5hbWU6IHN0cmluZywgc2NvcGVOYW1lOiBzdHJpbmcsIGN1c3RvbVBhdGg6IHN0cmluZyA9ICcnKSA9PiB7XG4gICAgY29uc3QgYXBwWGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgaWYgKGN1c3RvbVBhdGgpIHtcbiAgICAgICAgYXBwWGhyLm9wZW4oJ0dFVCcsIGN1c3RvbVBhdGgsIGZhbHNlKTtcbiAgICAgICAgYXBwWGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG5vLXN0b3JlLCBtYXgtYWdlPTAnKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGFwcFhoci5vcGVuKCdHRVQnLCBgYXNzZXRzL2Vudmlyb25tZW50cy8ke3Njb3BlTmFtZX0vJHtlbnZOYW1lfS5qc29uYCwgZmFsc2UpO1xuICAgICAgICBhcHBYaHIuc2V0UmVxdWVzdEhlYWRlcignQ2FjaGUtQ29udHJvbCcsICduby1jYWNoZSwgbm8tc3RvcmUsIG1heC1hZ2U9MCcpO1xuICAgIH1cbiAgICBhcHBYaHIuc2VuZChudWxsKTtcbiAgICByZXR1cm4gYXBwWGhyLnJlc3BvbnNlVGV4dDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbnZpcm9ubWVudERhdGEgPSAobGlzdE9mRW52TmFtZTogc3RyaW5nW10sIHNjb3BlTmFtZTogc3RyaW5nLCBjdXN0b21QYXRoOiBzdHJpbmcgPSAnJykgPT4ge1xuICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgIGZvciAoY29uc3QgZW52TmFtZSBvZiBsaXN0T2ZFbnZOYW1lKSB7XG4gICAgICAgIHJlcy5wdXNoKGdldEVudmlyb25tZW50QnlOYW1lKGVudk5hbWUsIHNjb3BlTmFtZSwgY3VzdG9tUGF0aCkpO1xuICAgIH1cblxuICAgIGxldCBvcDogRW52aXJvbm1lbnRTY2hlbWEgPSA8YW55Pnt9O1xuICAgIHdoaWxlIChyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBKU09OLnBhcnNlKHJlcy5zaGlmdCgpKTtcbiAgICAgICAgb3AgPSBtZXJnZUpTT04ob3AsIHNvdXJjZSk7XG4gICAgfVxuICAgIHJldHVybiBvcDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbnZpcm9ubWVudERhdGFOZXcgPSAocGVyc29uYWxOYW1lOiBzdHJpbmcsIHNjb3BlTmFtZTogc3RyaW5nLCBjdXN0b21QYXRoOiBzdHJpbmcgPSAnJykgPT4ge1xuICAgIGNvbnN0IGNvbW1vbk1hc3RlckRhdGFBcGkgPSAod2luZG93IGFzIGFueSkuY29tbW9uTWFzdGVyRGF0YUFwaTtcbiAgICBjb25zdCBhcHBYaHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBhcHBYaHIub3BlbignR0VUJywgYCR7Y29tbW9uTWFzdGVyRGF0YUFwaX12NS9Db25maWdBbmRTZXR0aW5nL0dldEFwcENvbmZpZ2AsIGZhbHNlKTtcbiAgICAvLyBH4buNaSBhcGkgY+G7p2EgbcOsbmggdGjDrCBrbyBj4bqnbiBsb2dpYyBjYWNoZSBuw6B5LCBsb2dpYyBuw6B5IGRvIHBow61hIGFwaSBxdXnhur90IMSR4buLbmggeGVtIGPDsyBjYWNoZSBraMO0bmcgdsOgIGNhY2hlIGJhbyBsw6J1XG4gICAgLy8gYXBwWGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG5vLXN0b3JlLCBtYXgtYWdlPTAnKTtcbiAgICBhcHBYaHIuc2VuZChudWxsKTtcbiAgICBjb25zdCByZXNHZXRBcHBDb25maWcgPSBhcHBYaHIucmVzcG9uc2VUZXh0O1xuICAgIGxldCBvcDogRW52aXJvbm1lbnRTY2hlbWEgPSBKU09OLnBhcnNlKHJlc0dldEFwcENvbmZpZykuZGF0YTtcbiAgICAvLyBO4bq/dSBsw6AgcHJvZCB0aMOsIGtow7RuZyBj4bqnbiDEkeG7jWMgY+G6pXUgaMOsbmggdOG7qyBqc29uIG7hu69hXG4gICAgaWYgKHBlcnNvbmFsTmFtZSAhPSAncHJvZCcpIHtcbiAgICAgICAgY29uc3QgcmVzID0gW107XG4gICAgICAgIHJlcy5wdXNoKGdldEVudmlyb25tZW50QnlOYW1lKHBlcnNvbmFsTmFtZSwgc2NvcGVOYW1lLCBjdXN0b21QYXRoKSk7XG4gICAgICAgIHdoaWxlIChyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gSlNPTi5wYXJzZShyZXMuc2hpZnQoKSk7XG4gICAgICAgICAgICBvcCA9IG1lcmdlSlNPTihvcCwgc291cmNlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3ApIHtcbiAgICAgICAgICAgIGlmIChvcC5hcHBzKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob3AuYXBwcykuZm9yRWFjaChhcHBDb2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb3AuYXBwc1thcHBDb2RlXS5jb2RlID0gYXBwQ29kZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wLnNlcnZpY2VzKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob3Auc2VydmljZXMpLmZvckVhY2goYXBwQ29kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9wLnNlcnZpY2VzW2FwcENvZGVdLmNvZGUgPSBhcHBDb2RlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wO1xufTtcblxuZXhwb3J0IGNvbnN0IG1lcmdlSlNPTk9sZCA9ICh0YXJnZXQsIHNvdXJjZVJhdykgPT4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IGNsb25lT2xkKHNvdXJjZVJhdyk7XG4gICAgaWYgKGlzT2JqZWN0T2xkKHNvdXJjZSkpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgICAgICBpZiAoaXNPYmplY3RPbGQoc291cmNlW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc09iamVjdE9sZCh0YXJnZXRba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlSlNPTk9sZCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc09iamVjdE9sZCA9IChvYmopID0+IHtcbiAgICBpZiAoIW9iaikgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHMgPSBKU09OLnN0cmluZ2lmeShvYmopO1xuICAgIGlmIChzICYmIHMuc3RhcnRzV2l0aCgneycpKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgY2xvbmVPbGQgPSAob2JqKSA9PiB7XG4gICAgaWYgKG9iaikgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqKSk7XG4gICAgcmV0dXJuIG51bGw7XG59O1xuIl19
|
|
@@ -98,6 +98,12 @@ export class EnvironmentService {
|
|
|
98
98
|
}
|
|
99
99
|
return endpoint;
|
|
100
100
|
}
|
|
101
|
+
getUserSettingConfig() {
|
|
102
|
+
return this.environment.userSettingConfig;
|
|
103
|
+
}
|
|
104
|
+
getUsersHasPermissionResetPassword() {
|
|
105
|
+
return this.environment.userHasPermissionResetPassword;
|
|
106
|
+
}
|
|
101
107
|
getHttpClientEndpoint(serviceCode) {
|
|
102
108
|
return '';
|
|
103
109
|
}
|
|
@@ -288,4 +294,4 @@ EnvironmentService.decorators = [
|
|
|
288
294
|
EnvironmentService.ctorParameters = () => [
|
|
289
295
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [moduleConfigFunc,] }] }
|
|
290
296
|
];
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJN0UsTUFBTSxVQUFVLGdCQUFnQjtJQUM1QixPQUFPLElBQUksY0FBYyxDQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFJRCxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCLFlBRUksa0JBQXVCLElBQUk7UUFFM0IsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQiwyQkFBMkI7WUFDM0IsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxFQUFFO2dCQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN2QztpQkFDSTtnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7YUFDaEQ7U0FDSjthQUNJO1lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUMxQyxjQUFjLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDL0U7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksS0FBSyxHQUFHLHNCQUFzQixDQUFDO1FBQ25DLElBQUksSUFB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QUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSwwQ0FBRSxlQUFlLENBQUM7SUFDMUQsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7SUFDMUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7WUE3VUosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7NENBS1EsUUFBUSxZQUFJLE1BQU0sU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTY2hlbWEgfSBmcm9tICcuLi9jbGFzc2VzL2Vudmlyb25tZW50LXNjaGVtYSc7XG5pbXBvcnQgeyBNb2R1bGVDb25maWcgfSBmcm9tICcuLi9jb25maWdzL21vZHVsZS1jb25maWcnO1xuZXhwb3J0IGZ1bmN0aW9uIG1vZHVsZUNvbmZpZ0Z1bmMoKSB7XG4gICAgcmV0dXJuIG5ldyBJbmplY3Rpb25Ub2tlbjxNb2R1bGVDb25maWc+KCcnKTtcbn1cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcbiAgICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTY2hlbWE7XG4gICAgcHJpdmF0ZSBhcHBDb2RlOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QobW9kdWxlQ29uZmlnRnVuYylcbiAgICAgICAgbW9kdWxlQ29uZmlnVmFsOiBhbnkgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmICghbW9kdWxlQ29uZmlnVmFsKSB7XG4gICAgICAgICAgICAvLyBnZXQgZnJvbSBzZXNzaW9uIHN0b3JhZ2VcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtb2R1bGVDb25maWdWYWwnKTtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdjYW5ub3QgZmluZCBtb2R1bGVDb25maWdWYWwnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9iak1vZHVsZUNvbmZpZ1ZhbCA9IG1vZHVsZUNvbmZpZ1ZhbCgpO1xuICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IG9iak1vZHVsZUNvbmZpZ1ZhbC5lbnZpcm9ubWVudDtcbiAgICAgICAgICAgIHRoaXMuYXBwQ29kZSA9IG9iak1vZHVsZUNvbmZpZ1ZhbC5hcHBDb2RlO1xuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnbW9kdWxlQ29uZmlnVmFsJywgSlNPTi5zdHJpbmdpZnkodGhpcy5lbnZpcm9ubWVudCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXV0aENvbmZpZygpOiBBdXRoQ29uZmlnIHtcbiAgICAgICAgbGV0IHNjb3BlID0gJ29wZW5pZCBwcm9maWxlIGVtYWlsJztcbiAgICAgICAgaWYgKHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5zY29wZSkge1xuICAgICAgICAgICAgc2NvcGUgPSB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3Muc2NvcGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDxBdXRoQ29uZmlnPntcbiAgICAgICAgICAgIGlzc3VlcjogYCR7dGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLmlzc3Vlcn1gLFxuICAgICAgICAgICAgY2xpZW50SWQ6IGAke3RoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5jbGllbnRJZH1gLFxuICAgICAgICAgICAgcmVkaXJlY3RVcmk6IHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5jdXN0b21SZWRpcmVjdFVyaSB8fCB3aW5kb3cubG9jYXRpb24ub3JpZ2luLFxuICAgICAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luLFxuICAgICAgICAgICAgc2lsZW50UmVmcmVzaFJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9zaWxlbnQtcmVmcmVzaC5odG1sJyxcbiAgICAgICAgICAgIHJlcXVpcmVIdHRwczogdGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLnJlcXVpcmVIdHRwcyA/IHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5yZXF1aXJlSHR0cHMgOiBmYWxzZSxcbiAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgc2hvd0RlYnVnSW5mb3JtYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWVzdEFjY2Vzc1Rva2VuOiB0cnVlLFxuICAgICAgICAgICAgdXNlU2lsZW50UmVmcmVzaDogZmFsc2UsXG4gICAgICAgICAgICBjbGVhckhhc2hBZnRlckxvZ2luOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZXJ2aWNlRW5kcG9pbnRCeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZW5kcG9pbnQgPSAnJztcbiAgICAgICAgaWYgKHNlcnZpY2VJbmZvLnVzZUxvY2FsKSB7XG4gICAgICAgICAgICBlbmRwb2ludCA9IHNlcnZpY2VJbmZvLmxvY2FsSHR0cEVuZHBvaW50O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ2F0ZXdheSA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZ2F0ZXdheTtcbiAgICAgICAgICAgIGVuZHBvaW50ID0gYCR7Z2F0ZXdheX0vJHtzZXJ2aWNlSW5mby5jb2RlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuZHBvaW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VydmljZUVuZHBvaW50V2l0aFZlcnNpb25CeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBlbmRwb2ludCA9IHRoaXMuZ2V0U2VydmljZUVuZHBvaW50QnlTZXJ2aWNlSW5mbyhzZXJ2aWNlSW5mbyk7XG4gICAgICAgIGxldCBhcGlWZXJzaW9uID0gdGhpcy5lbnZpcm9ubWVudC5tYWpvckFwaVZlcnNpb247XG4gICAgICAgIGlmIChzZXJ2aWNlSW5mby5hcGlWZXJzaW9uKSB7XG4gICAgICAgICAgICBhcGlWZXJzaW9uID0gc2VydmljZUluZm8uYXBpVmVyc2lvbjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBgJHtlbmRwb2ludH0vdiR7YXBpVmVyc2lvbn1gO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEh0dHBTZXJ2aWNlRW5kcG9pbnQoc2VydmljZUNvZGU6IHN0cmluZywgaW5jbHVkZVZlcnNpb246IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBzZXJ2aWNlQ29kZSA9IHNlcnZpY2VDb2RlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VJbmZvID0gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LnNlcnZpY2VzKS5maW5kKHEgPT4gcS5jb2RlID09IHNlcnZpY2VDb2RlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlSW5mbykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgS2jDtG5nIHTDrG0gdGjhuqV5IGVuZHBvaW50IGPhu6dhIHNlcnZpY2UgJHtzZXJ2aWNlQ29kZX0gdHJvbmcgY+G6pXUgaMOsbmhgKTtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFpbmNsdWRlVmVyc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VydmljZUVuZHBvaW50QnlTZXJ2aWNlSW5mbyhzZXJ2aWNlSW5mbyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VydmljZUVuZHBvaW50V2l0aFZlcnNpb25CeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvKTtcbiAgICB9XG5cbiAgICBnZXRIdHRwU2VydmljZUVuZHBvaW50KHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0SHR0cFNlcnZpY2VFbmRwb2ludChzZXJ2aWNlQ29kZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldEh0dHBTZXJ2aWNlRW5kcG9pbnRXaXRoVmVyc2lvbihzZXJ2aWNlQ29kZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRIdHRwU2VydmljZUVuZHBvaW50KHNlcnZpY2VDb2RlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBnZXRIdHRwU2VydmljZUVuZHBvaW50T2xkKHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBzZXJ2aWNlQ29kZSA9IHNlcnZpY2VDb2RlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VJbmZvID0gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LnNlcnZpY2VzKS5maW5kKHEgPT4gcS5jb2RlID09IHNlcnZpY2VDb2RlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlSW5mbykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgS2jDtG5nIHTDrG0gdGjhuqV5IGVuZHBvaW50IGPhu6dhIHNlcnZpY2UgJHtzZXJ2aWNlQ29kZX0gdHJvbmcgY+G6pXUgaMOsbmhgKTtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGVuZHBvaW50ID0gJyc7XG4gICAgICAgIGlmIChzZXJ2aWNlSW5mby51c2VMb2NhbCkge1xuICAgICAgICAgICAgZW5kcG9pbnQgPSBzZXJ2aWNlSW5mby5sb2NhbEh0dHBFbmRwb2ludE9sZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGdhdGV3YXkgPSB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmdhdGV3YXlPbGQ7XG4gICAgICAgICAgICBlbmRwb2ludCA9IGAke2dhdGV3YXl9LyR7c2VydmljZUNvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgZ2V0SHR0cENsaWVudEVuZHBvaW50KHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgaXNVc2VPbGRTZXJ2aWNlKHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2VydmljZUluZm8gPSBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuc2VydmljZXMpLmZpbmQocSA9PiBxLmNvZGUgPT0gc2VydmljZUNvZGUpO1xuICAgICAgICBpZiAoIXNlcnZpY2VJbmZvKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBLaMO0bmcgdMOsbSB0aOG6pXkgZW5kcG9pbnQgY+G7p2Egc2VydmljZSAke3NlcnZpY2VDb2RlfSB0cm9uZyBj4bqldSBow6xuaGApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gc2VydmljZUluZm8udXNlT2xkVmVyc2lvbjtcbiAgICB9XG5cbiAgICBnZXRFbmFibGVIdWIoKSB7XG4gICAgICAgIGxldCBvYmpFbmFibGVIdWJzID0gdGhpcy5lbnZpcm9ubWVudC5zaWduYWxSQ29uZmlnLmVuYWJsZUh1YnM7XG4gICAgICAgIGlmICghb2JqRW5hYmxlSHVicykgb2JqRW5hYmxlSHVicyA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhvYmpFbmFibGVIdWJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoKG9iakVuYWJsZUh1YnNba2V5XSBhcyBhbnkpID09PSAndHJ1ZScgfHwgb2JqRW5hYmxlSHVic1trZXldID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgb2JqRW5hYmxlSHVic1trZXldID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG9iakVuYWJsZUh1YnNba2V5XSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG9iakVuYWJsZUh1YnM7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdE1hbGVBdmF0YXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4uZGVmYXVsdE1hbGVBdmF0YXI7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdEZlbWFsZUF2YXRhcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5kZWZhdWx0RmVtYWxlQXZhdGFyO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUcnVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgZ2V0TG9nb3V0T25VbmF1dGhvcml6ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MubG9nb3V0T25VbmF1dGhvcml6ZWQpO1xuICAgIH1cblxuICAgIGdldExpc3RBcHAoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LmFwcHMpO1xuICAgIH1cblxuICAgIGdldE9iamVjdEFwcChtb2R1bGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LmFwcHMpLmZpbmQocSA9PiBxLmNvZGUgPT0gbW9kdWxlLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cblxuICAgIGdldE1vZHVsZU5hbWUobW9kdWxlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgb2JqQXBwID0gdGhpcy5nZXRPYmplY3RBcHAobW9kdWxlKTtcbiAgICAgICAgcmV0dXJuIG9iakFwcD8udGl0bGU7XG4gICAgfVxuXG4gICAgZ2V0TG9uZ01vZHVsZU5hbWUobW9kdWxlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgb2JqQXBwID0gdGhpcy5nZXRPYmplY3RBcHAobW9kdWxlKTtcbiAgICAgICAgcmV0dXJuIG9iakFwcD8ubG9uZ1RpdGxlO1xuICAgIH1cblxuICAgIGdldFNob3dXYXJuaW5nTWVzc2FnZUluVG9hc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LnNob3dXYXJuaW5nTWVzc2FnZUluVG9hc3QpO1xuICAgIH1cblxuICAgIGdldFNob3dFcnJvck1lc3NhZ2VJblRvYXN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5zaG93RXJyb3JNZXNzYWdlSW5Ub2FzdCk7XG4gICAgfVxuXG4gICAgZ2V0SXNJZ25vcmVBZG1pbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuaXNJZ25vcmVBZG1pbik7XG4gICAgfVxuXG4gICAgZ2V0QXBwQ29kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29kZTtcbiAgICB9XG5cbiAgICBnZXRMaXN0QXBwQ29kZSgpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuYXBwcykubWFwKHEgPT4gcS5jb2RlKTtcbiAgICB9XG5cbiAgICBnZXRMaXN0QXBpRG9tYWluKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5zZXJ2aWNlcykuZm9yRWFjaChzZXJ2aWNlID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuZ2V0U2VydmljZUVuZHBvaW50QnlTZXJ2aWNlSW5mbyhzZXJ2aWNlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGdldFN0b3JhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnN0b3JhZ2U7XG4gICAgfVxuXG4gICAgZ2V0RW5hYmxlVG5DbGllbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmVuYWJsZVRuQ2xpZW50KTtcbiAgICB9XG5cbiAgICBnZXRJc0ZvcmNlTG9nb3V0SWY0MDEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuaXNGb3JjZUxvZ291dElmNDAxKTtcbiAgICB9XG5cbiAgICBnZXREaXNhYmxlQXV0aGVudGljYXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIGdldEF1dGhlbnRpY2F0aW9uVHlwZSgpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3MuYXV0aGVuVHlwZTtcbiAgICB9XG5cbiAgICBnZXRFbmFibGVQb3B1bGF0ZUxvZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuZW5hYmxlUG9wdWxhdGVMb2cpO1xuICAgIH1cblxuICAgIGdldFNob3dEZWZhdWx0U2V0dGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5zaG93RGVmYXVsdFNldHRpbmcpO1xuICAgIH1cblxuICAgIGdldERpc2FibGVOb3RpZmljYXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LmRpc2FibGVOb3RpZmljYXRpb24pO1xuICAgIH1cblxuICAgIGdldEhlbHBDb25maWdfRXhwZXJ0TmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuaGVscENvbmZpZy5leHBlcnROYW1lO1xuICAgIH1cblxuICAgIGdldEhlbHBDb25maWdfRXhwZXJ0UGhvbmVOdW1tYmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5oZWxwQ29uZmlnLmV4cGVydFBob25lTnVtbWJlcjtcbiAgICB9XG5cbiAgICBnZXRIZWxwQ29uZmlnX0V4cGVydEVtYWlsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5oZWxwQ29uZmlnLmV4cGVydEVtYWlsO1xuICAgIH1cblxuICAgIGdldEhlbHBDb25maWdfTG9nb0NvbXBhbnkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcubG9nb0NvbXBhbnk7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19Eb2N1bWVudHMoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5oZWxwQ29uZmlnLmRvY3VtZW50cztcbiAgICB9XG5cbiAgICBnZXRTcGxhc2hTY3JlZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnNwbGFzaFNjcmVlbjtcbiAgICB9XG5cbiAgICBnZXRVbmRlcmNvbnN0cnVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQudW5kZXJjb25zdHJ1Y3Rpb247XG4gICAgfVxuXG4gICAgZ2V0U2lnbmFscl9DbGllbnRLZXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnNpZ25hbHIuY2xpZW50S2V5O1xuICAgIH1cblxuICAgIGdldEFwaUdhdGV3YXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmdhdGV3YXk7XG4gICAgfVxuXG4gICAgZ2V0R2F0ZXdheVN1YnBhdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmdhdGV3YXlTdWJwYXRoO1xuICAgIH1cblxuICAgIGdldERvY3VtZW50U2VydmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5kb2N1bWVudFNlcnZlcjtcbiAgICB9XG5cbiAgICBnZXRVc2luZ0ludGVybmFsRmlsZUVuZHBvaW50Rm9yVmlldygpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5lbnZpcm9ubWVudC5pbnRlcm5hbEZpbGVFbmRwb2ludDtcbiAgICB9XG5cbiAgICBnZXRJbnRlcm5hbEZpbGVFbmRwb2ludCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuaW50ZXJuYWxGaWxlRW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgZ2V0S3lTb1NpbV9Uc2FVcmwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmRlZmF1bHRWYWx1ZT8ua3lTb1NpbT8udHNhVXJsO1xuICAgIH1cblxuICAgIGdldEJ1dHRvblBlcm1pc3Npb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5idXR0b25QZXJtaXNzaW9ucztcbiAgICB9XG5cbiAgICBnZXRTZXR0aW5nRGF0YURlZmF1bHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnNldHRpbmdEYXRhRGVmYXVsdDtcbiAgICB9XG5cbiAgICBnZXRLZXlQcmVzc1Blcm1pc3Npb25VdGlscygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQua2V5UHJlc3NQZXJtaXNzaW9uVXRpbHM7XG4gICAgfVxuXG4gICAgZ2V0Q3VzdG9taXplVWkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmN1c3RvbWl6ZVVpO1xuICAgIH1cblxuICAgIGdldFRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLnRpdGxlO1xuICAgIH1cblxuICAgIGdldExvZ28oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4ubG9nbztcbiAgICB9XG5cbiAgICBnZXRPd25lcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5vd25lcjtcbiAgICB9XG5cbiAgICBnZXRFbmFibGVCYXNlSHJlZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZW5hYmxlQmFzZUhyZWY7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdFJlZGlyZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5jbGllbnREb21haW4/LmRlZmF1bHRSZWRpcmVjdDtcbiAgICB9XG5cbiAgICBnZXRJc1Byb2R1Y3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24pO1xuICAgIH1cblxuICAgIGdldExpbmtEb3dubG9hZENsaWVudEFwcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc2lnbmFsci5saW5rRG93bmxvYWRDbGllbnRBcHA7XG4gICAgfVxuXG4gICAgZ2V0Q3VzdG9tQ29uZmlnKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5lbnZpcm9ubWVudC5jdXN0b21Db25maWcpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5jdXN0b21Db25maWdba2V5XTtcbiAgICB9XG59XG4iXX0=
|
|
297
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJN0UsTUFBTSxVQUFVLGdCQUFnQjtJQUM1QixPQUFPLElBQUksY0FBYyxDQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFJRCxNQUFNLE9BQU8sa0JBQWtCO0lBRzNCLFlBRUksa0JBQXVCLElBQUk7UUFFM0IsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQiwyQkFBMkI7WUFDM0IsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3ZELElBQUksSUFBSSxFQUFFO2dCQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN2QztpQkFDSTtnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7YUFDaEQ7U0FDSjthQUNJO1lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUMxQyxjQUFjLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDL0U7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksS0FBSyxHQUFHLHNCQUFzQixDQUFDO1FBQ25DLElBQUksSUFB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QUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFDM0MsQ0FBQztJQUVELGtCQUFrQjs7UUFDZCxhQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSwwQ0FBRSxlQUFlLENBQUM7SUFDMUQsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7SUFDMUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7WUFyVkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7NENBS1EsUUFBUSxZQUFJLE1BQU0sU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTY2hlbWEgfSBmcm9tICcuLi9jbGFzc2VzL2Vudmlyb25tZW50LXNjaGVtYSc7XG5pbXBvcnQgeyBNb2R1bGVDb25maWcgfSBmcm9tICcuLi9jb25maWdzL21vZHVsZS1jb25maWcnO1xuZXhwb3J0IGZ1bmN0aW9uIG1vZHVsZUNvbmZpZ0Z1bmMoKSB7XG4gICAgcmV0dXJuIG5ldyBJbmplY3Rpb25Ub2tlbjxNb2R1bGVDb25maWc+KCcnKTtcbn1cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnRTZXJ2aWNlIHtcbiAgICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTY2hlbWE7XG4gICAgcHJpdmF0ZSBhcHBDb2RlOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QobW9kdWxlQ29uZmlnRnVuYylcbiAgICAgICAgbW9kdWxlQ29uZmlnVmFsOiBhbnkgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmICghbW9kdWxlQ29uZmlnVmFsKSB7XG4gICAgICAgICAgICAvLyBnZXQgZnJvbSBzZXNzaW9uIHN0b3JhZ2VcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtb2R1bGVDb25maWdWYWwnKTtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdjYW5ub3QgZmluZCBtb2R1bGVDb25maWdWYWwnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9iak1vZHVsZUNvbmZpZ1ZhbCA9IG1vZHVsZUNvbmZpZ1ZhbCgpO1xuICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IG9iak1vZHVsZUNvbmZpZ1ZhbC5lbnZpcm9ubWVudDtcbiAgICAgICAgICAgIHRoaXMuYXBwQ29kZSA9IG9iak1vZHVsZUNvbmZpZ1ZhbC5hcHBDb2RlO1xuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnbW9kdWxlQ29uZmlnVmFsJywgSlNPTi5zdHJpbmdpZnkodGhpcy5lbnZpcm9ubWVudCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXV0aENvbmZpZygpOiBBdXRoQ29uZmlnIHtcbiAgICAgICAgbGV0IHNjb3BlID0gJ29wZW5pZCBwcm9maWxlIGVtYWlsJztcbiAgICAgICAgaWYgKHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5zY29wZSkge1xuICAgICAgICAgICAgc2NvcGUgPSB0aGlzLmVudmlyb25tZW50LmF1dGhlbnRpY2F0aW9uU2V0dGluZ3Muc2NvcGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDxBdXRoQ29uZmlnPntcbiAgICAgICAgICAgIGlzc3VlcjogYCR7dGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLmlzc3Vlcn1gLFxuICAgICAgICAgICAgY2xpZW50SWQ6IGAke3RoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5jbGllbnRJZH1gLFxuICAgICAgICAgICAgcmVkaXJlY3RVcmk6IHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5jdXN0b21SZWRpcmVjdFVyaSB8fCB3aW5kb3cubG9jYXRpb24ub3JpZ2luLFxuICAgICAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luLFxuICAgICAgICAgICAgc2lsZW50UmVmcmVzaFJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9zaWxlbnQtcmVmcmVzaC5odG1sJyxcbiAgICAgICAgICAgIHJlcXVpcmVIdHRwczogdGhpcy5lbnZpcm9ubWVudC5hdXRoZW50aWNhdGlvblNldHRpbmdzLnJlcXVpcmVIdHRwcyA/IHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5yZXF1aXJlSHR0cHMgOiBmYWxzZSxcbiAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgc2hvd0RlYnVnSW5mb3JtYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWVzdEFjY2Vzc1Rva2VuOiB0cnVlLFxuICAgICAgICAgICAgdXNlU2lsZW50UmVmcmVzaDogZmFsc2UsXG4gICAgICAgICAgICBjbGVhckhhc2hBZnRlckxvZ2luOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZXJ2aWNlRW5kcG9pbnRCeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZW5kcG9pbnQgPSAnJztcbiAgICAgICAgaWYgKHNlcnZpY2VJbmZvLnVzZUxvY2FsKSB7XG4gICAgICAgICAgICBlbmRwb2ludCA9IHNlcnZpY2VJbmZvLmxvY2FsSHR0cEVuZHBvaW50O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ2F0ZXdheSA9IHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZ2F0ZXdheTtcbiAgICAgICAgICAgIGVuZHBvaW50ID0gYCR7Z2F0ZXdheX0vJHtzZXJ2aWNlSW5mby5jb2RlfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuZHBvaW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VydmljZUVuZHBvaW50V2l0aFZlcnNpb25CeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBlbmRwb2ludCA9IHRoaXMuZ2V0U2VydmljZUVuZHBvaW50QnlTZXJ2aWNlSW5mbyhzZXJ2aWNlSW5mbyk7XG4gICAgICAgIGxldCBhcGlWZXJzaW9uID0gdGhpcy5lbnZpcm9ubWVudC5tYWpvckFwaVZlcnNpb247XG4gICAgICAgIGlmIChzZXJ2aWNlSW5mby5hcGlWZXJzaW9uKSB7XG4gICAgICAgICAgICBhcGlWZXJzaW9uID0gc2VydmljZUluZm8uYXBpVmVyc2lvbjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQgPSBgJHtlbmRwb2ludH0vdiR7YXBpVmVyc2lvbn1gO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEh0dHBTZXJ2aWNlRW5kcG9pbnQoc2VydmljZUNvZGU6IHN0cmluZywgaW5jbHVkZVZlcnNpb246IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBzZXJ2aWNlQ29kZSA9IHNlcnZpY2VDb2RlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VJbmZvID0gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LnNlcnZpY2VzKS5maW5kKHEgPT4gcS5jb2RlID09IHNlcnZpY2VDb2RlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlSW5mbykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgS2jDtG5nIHTDrG0gdGjhuqV5IGVuZHBvaW50IGPhu6dhIHNlcnZpY2UgJHtzZXJ2aWNlQ29kZX0gdHJvbmcgY+G6pXUgaMOsbmhgKTtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFpbmNsdWRlVmVyc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VydmljZUVuZHBvaW50QnlTZXJ2aWNlSW5mbyhzZXJ2aWNlSW5mbyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VydmljZUVuZHBvaW50V2l0aFZlcnNpb25CeVNlcnZpY2VJbmZvKHNlcnZpY2VJbmZvKTtcbiAgICB9XG5cbiAgICBnZXRIdHRwU2VydmljZUVuZHBvaW50KHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0SHR0cFNlcnZpY2VFbmRwb2ludChzZXJ2aWNlQ29kZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldEh0dHBTZXJ2aWNlRW5kcG9pbnRXaXRoVmVyc2lvbihzZXJ2aWNlQ29kZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRIdHRwU2VydmljZUVuZHBvaW50KHNlcnZpY2VDb2RlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBnZXRIdHRwU2VydmljZUVuZHBvaW50T2xkKHNlcnZpY2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBzZXJ2aWNlQ29kZSA9IHNlcnZpY2VDb2RlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VJbmZvID0gT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LnNlcnZpY2VzKS5maW5kKHEgPT4gcS5jb2RlID09IHNlcnZpY2VDb2RlKTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlSW5mbykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgS2jDtG5nIHTDrG0gdGjhuqV5IGVuZHBvaW50IGPhu6dhIHNlcnZpY2UgJHtzZXJ2aWNlQ29kZX0gdHJvbmcgY+G6pXUgaMOsbmhgKTtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGVuZHBvaW50ID0gJyc7XG4gICAgICAgIGlmIChzZXJ2aWNlSW5mby51c2VMb2NhbCkge1xuICAgICAgICAgICAgZW5kcG9pbnQgPSBzZXJ2aWNlSW5mby5sb2NhbEh0dHBFbmRwb2ludE9sZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGdhdGV3YXkgPSB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmdhdGV3YXlPbGQ7XG4gICAgICAgICAgICBlbmRwb2ludCA9IGAke2dhdGV3YXl9LyR7c2VydmljZUNvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgZ2V0VXNlclNldHRpbmdDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnVzZXJTZXR0aW5nQ29uZmlnO1xuICAgIH1cblxuICAgIGdldFVzZXJzSGFzUGVybWlzc2lvblJlc2V0UGFzc3dvcmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LnVzZXJIYXNQZXJtaXNzaW9uUmVzZXRQYXNzd29yZDtcbiAgICB9XG5cbiAgICBnZXRIdHRwQ2xpZW50RW5kcG9pbnQoc2VydmljZUNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpc1VzZU9sZFNlcnZpY2Uoc2VydmljZUNvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzZXJ2aWNlSW5mbyA9IE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5zZXJ2aWNlcykuZmluZChxID0+IHEuY29kZSA9PSBzZXJ2aWNlQ29kZSk7XG4gICAgICAgIGlmICghc2VydmljZUluZm8pIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEtow7RuZyB0w6xtIHRo4bqleSBlbmRwb2ludCBj4bunYSBzZXJ2aWNlICR7c2VydmljZUNvZGV9IHRyb25nIGPhuqV1IGjDrG5oYCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBzZXJ2aWNlSW5mby51c2VPbGRWZXJzaW9uO1xuICAgIH1cblxuICAgIGdldEVuYWJsZUh1YigpIHtcbiAgICAgICAgbGV0IG9iakVuYWJsZUh1YnMgPSB0aGlzLmVudmlyb25tZW50LnNpZ25hbFJDb25maWcuZW5hYmxlSHVicztcbiAgICAgICAgaWYgKCFvYmpFbmFibGVIdWJzKSBvYmpFbmFibGVIdWJzID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKG9iakVuYWJsZUh1YnMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICgob2JqRW5hYmxlSHVic1trZXldIGFzIGFueSkgPT09ICd0cnVlJyB8fCBvYmpFbmFibGVIdWJzW2tleV0gPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBvYmpFbmFibGVIdWJzW2tleV0gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgb2JqRW5hYmxlSHVic1trZXldID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gb2JqRW5hYmxlSHVicztcbiAgICB9XG5cbiAgICBnZXREZWZhdWx0TWFsZUF2YXRhcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5kZWZhdWx0TWFsZUF2YXRhcjtcbiAgICB9XG5cbiAgICBnZXREZWZhdWx0RmVtYWxlQXZhdGFyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLmRlZmF1bHRGZW1hbGVBdmF0YXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1RydWUodmFsdWU6IGFueSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJztcbiAgICB9XG5cbiAgICBnZXRMb2dvdXRPblVuYXV0aG9yaXplZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5sb2dvdXRPblVuYXV0aG9yaXplZCk7XG4gICAgfVxuXG4gICAgZ2V0TGlzdEFwcCgpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuYXBwcyk7XG4gICAgfVxuXG4gICAgZ2V0T2JqZWN0QXBwKG1vZHVsZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZW52aXJvbm1lbnQuYXBwcykuZmluZChxID0+IHEuY29kZSA9PSBtb2R1bGUudG9Mb3dlckNhc2UoKSk7XG4gICAgfVxuXG4gICAgZ2V0TW9kdWxlTmFtZShtb2R1bGU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBvYmpBcHAgPSB0aGlzLmdldE9iamVjdEFwcChtb2R1bGUpO1xuICAgICAgICByZXR1cm4gb2JqQXBwPy50aXRsZTtcbiAgICB9XG5cbiAgICBnZXRMb25nTW9kdWxlTmFtZShtb2R1bGU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBvYmpBcHAgPSB0aGlzLmdldE9iamVjdEFwcChtb2R1bGUpO1xuICAgICAgICByZXR1cm4gb2JqQXBwPy5sb25nVGl0bGU7XG4gICAgfVxuXG4gICAgZ2V0U2hvd1dhcm5pbmdNZXNzYWdlSW5Ub2FzdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuc2hvd1dhcm5pbmdNZXNzYWdlSW5Ub2FzdCk7XG4gICAgfVxuXG4gICAgZ2V0U2hvd0Vycm9yTWVzc2FnZUluVG9hc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVHJ1ZSh0aGlzLmVudmlyb25tZW50LnNob3dFcnJvck1lc3NhZ2VJblRvYXN0KTtcbiAgICB9XG5cbiAgICBnZXRJc0lnbm9yZUFkbWluKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5pc0lnbm9yZUFkbWluKTtcbiAgICB9XG5cbiAgICBnZXRBcHBDb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb2RlO1xuICAgIH1cblxuICAgIGdldExpc3RBcHBDb2RlKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5lbnZpcm9ubWVudC5hcHBzKS5tYXAocSA9PiBxLmNvZGUpO1xuICAgIH1cblxuICAgIGdldExpc3RBcGlEb21haW4oKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgT2JqZWN0LnZhbHVlcyh0aGlzLmVudmlyb25tZW50LnNlcnZpY2VzKS5mb3JFYWNoKHNlcnZpY2UgPT4ge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5nZXRTZXJ2aWNlRW5kcG9pbnRCeVNlcnZpY2VJbmZvKHNlcnZpY2UpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0U3RvcmFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc3RvcmFnZTtcbiAgICB9XG5cbiAgICBnZXRFbmFibGVUbkNsaWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuZW5hYmxlVG5DbGllbnQpO1xuICAgIH1cblxuICAgIGdldElzRm9yY2VMb2dvdXRJZjQwMSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5pc0ZvcmNlTG9nb3V0SWY0MDEpO1xuICAgIH1cblxuICAgIGdldERpc2FibGVBdXRoZW50aWNhdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgZ2V0QXV0aGVudGljYXRpb25UeXBlKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXV0aGVudGljYXRpb25TZXR0aW5ncy5hdXRoZW5UeXBlO1xuICAgIH1cblxuICAgIGdldEVuYWJsZVBvcHVsYXRlTG9nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5lbmFibGVQb3B1bGF0ZUxvZyk7XG4gICAgfVxuXG4gICAgZ2V0U2hvd0RlZmF1bHRTZXR0aW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RydWUodGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLnNob3dEZWZhdWx0U2V0dGluZyk7XG4gICAgfVxuXG4gICAgZ2V0RGlzYWJsZU5vdGlmaWNhdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQuZGlzYWJsZU5vdGlmaWNhdGlvbik7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19FeHBlcnROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5oZWxwQ29uZmlnLmV4cGVydE5hbWU7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19FeHBlcnRQaG9uZU51bW1iZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcuZXhwZXJ0UGhvbmVOdW1tYmVyO1xuICAgIH1cblxuICAgIGdldEhlbHBDb25maWdfRXhwZXJ0RW1haWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcuZXhwZXJ0RW1haWw7XG4gICAgfVxuXG4gICAgZ2V0SGVscENvbmZpZ19Mb2dvQ29tcGFueSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuaGVscENvbmZpZy5sb2dvQ29tcGFueTtcbiAgICB9XG5cbiAgICBnZXRIZWxwQ29uZmlnX0RvY3VtZW50cygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmhlbHBDb25maWcuZG9jdW1lbnRzO1xuICAgIH1cblxuICAgIGdldFNwbGFzaFNjcmVlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc3BsYXNoU2NyZWVuO1xuICAgIH1cblxuICAgIGdldFVuZGVyY29uc3RydWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC51bmRlcmNvbnN0cnVjdGlvbjtcbiAgICB9XG5cbiAgICBnZXRTaWduYWxyX0NsaWVudEtleSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc2lnbmFsci5jbGllbnRLZXk7XG4gICAgfVxuXG4gICAgZ2V0QXBpR2F0ZXdheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZ2F0ZXdheTtcbiAgICB9XG5cbiAgICBnZXRHYXRld2F5U3VicGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuZ2F0ZXdheVN1YnBhdGg7XG4gICAgfVxuXG4gICAgZ2V0RG9jdW1lbnRTZXJ2ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLmRvY3VtZW50U2VydmVyO1xuICAgIH1cblxuICAgIGdldFVzaW5nSW50ZXJuYWxGaWxlRW5kcG9pbnRGb3JWaWV3KCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmVudmlyb25tZW50LmludGVybmFsRmlsZUVuZHBvaW50O1xuICAgIH1cblxuICAgIGdldEludGVybmFsRmlsZUVuZHBvaW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5pbnRlcm5hbEZpbGVFbmRwb2ludDtcbiAgICB9XG5cbiAgICBnZXRLeVNvU2ltX1RzYVVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuZGVmYXVsdFZhbHVlPy5reVNvU2ltPy50c2FVcmw7XG4gICAgfVxuXG4gICAgZ2V0QnV0dG9uUGVybWlzc2lvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmJ1dHRvblBlcm1pc3Npb25zO1xuICAgIH1cblxuICAgIGdldFNldHRpbmdEYXRhRGVmYXVsdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuc2V0dGluZ0RhdGFEZWZhdWx0O1xuICAgIH1cblxuICAgIGdldEtleVByZXNzUGVybWlzc2lvblV0aWxzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5rZXlQcmVzc1Blcm1pc3Npb25VdGlscztcbiAgICB9XG5cbiAgICBnZXRDdXN0b21pemVVaSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuY3VzdG9taXplVWk7XG4gICAgfVxuXG4gICAgZ2V0VGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmFwcE1ldGFkYXRhLm1haW4udGl0bGU7XG4gICAgfVxuXG4gICAgZ2V0TG9nbygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEubWFpbi5sb2dvO1xuICAgIH1cblxuICAgIGdldE93bmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcHBNZXRhZGF0YS5tYWluLm93bmVyO1xuICAgIH1cblxuICAgIGdldEVuYWJsZUJhc2VIcmVmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5lbmFibGVCYXNlSHJlZjtcbiAgICB9XG5cbiAgICBnZXREZWZhdWx0UmVkaXJlY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmNsaWVudERvbWFpbj8uZGVmYXVsdFJlZGlyZWN0O1xuICAgIH1cblxuICAgIGdldElzUHJvZHVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUcnVlKHRoaXMuZW52aXJvbm1lbnQucHJvZHVjdGlvbik7XG4gICAgfVxuXG4gICAgZ2V0TGlua0Rvd25sb2FkQ2xpZW50QXBwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5zaWduYWxyLmxpbmtEb3dubG9hZENsaWVudEFwcDtcbiAgICB9XG5cbiAgICBnZXRDdXN0b21Db25maWcoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVudmlyb25tZW50LmN1c3RvbUNvbmZpZykgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50LmN1c3RvbUNvbmZpZ1trZXldO1xuICAgIH1cbn1cbiJdfQ==
|
package/fesm2015/tnx-shared.js
CHANGED
|
@@ -271,6 +271,7 @@ ComCtxConstants.NOTIFICATION = {
|
|
|
271
271
|
NOTIFICATION_USER_CHANGE: 'NOTIFICATION_USER_CHANGE'
|
|
272
272
|
};
|
|
273
273
|
|
|
274
|
+
// test
|
|
274
275
|
class ApplicationContextService {
|
|
275
276
|
constructor() {
|
|
276
277
|
this.childsContext = [];
|
|
@@ -531,6 +532,12 @@ class EnvironmentService {
|
|
|
531
532
|
}
|
|
532
533
|
return endpoint;
|
|
533
534
|
}
|
|
535
|
+
getUserSettingConfig() {
|
|
536
|
+
return this.environment.userSettingConfig;
|
|
537
|
+
}
|
|
538
|
+
getUsersHasPermissionResetPassword() {
|
|
539
|
+
return this.environment.userHasPermissionResetPassword;
|
|
540
|
+
}
|
|
534
541
|
getHttpClientEndpoint(serviceCode) {
|
|
535
542
|
return '';
|
|
536
543
|
}
|