monkey-front-core 0.0.381 → 0.0.383
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/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +3 -2
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +10 -2
- package/fesm2015/monkey-front-core.mjs +8 -2
- package/fesm2015/monkey-front-core.mjs.map +1 -1
- package/fesm2020/monkey-front-core.mjs +11 -2
- package/fesm2020/monkey-front-core.mjs.map +1 -1
- package/monkey-front-core-0.0.383.tgz +0 -0
- package/package.json +1 -1
- package/monkey-front-core-0.0.381.tgz +0 -0
|
@@ -21,7 +21,8 @@ export class MonkeyEcxSecurityDirective {
|
|
|
21
21
|
if (tokenCredentials?.programAdmin === true) {
|
|
22
22
|
return 'PROGRAM_ADMIN';
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
const handledRole = localStorage.getItem('role');
|
|
25
|
+
return tokenCredentials?.role || handledRole || '';
|
|
25
26
|
}
|
|
26
27
|
handleAccess() {
|
|
27
28
|
const { roles, byExclusion } = this;
|
|
@@ -71,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
71
72
|
type: Input,
|
|
72
73
|
args: ['securityByExclusion']
|
|
73
74
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlY3VyaXR5LWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9kaXJlY3RpdmVzL21vbmtleWVjeC1zZWN1cml0eS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFNeEYsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxZQUNVLFVBQXNCLEVBQ3RCLG1CQUFpRCxFQUNqRCxHQUFzQjtRQUZ0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBOEI7UUFDakQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUUixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBRWYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFbkQscUJBQWdCLEdBQVEsSUFBSSxDQUFDO1FBT25DLFlBQVk7SUFDZCxDQUFDO0lBRU8sT0FBTztRQUNiLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUVsQyxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFakMsSUFBSSxnQkFBZ0IsRUFBRSxZQUFZLEtBQUssTUFBTSxFQUFFO1lBQzdDLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxnQkFBZ0IsRUFBRSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQzNDLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqRCxPQUFPLGdCQUFnQixFQUFFLElBQUksSUFBSSxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUNyQixNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksV0FBVyxFQUFFO1lBQ2YsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUNsQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxPQUFPLEdBQUcsTUFBTSxDQUFDO2FBQ2xCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDakIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxHQUFHLE9BQU8sQ0FBQzthQUNuQjtTQUNGO1FBRUQsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssZUFBZTtZQUFFLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDMUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3VIQXBFVSwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzRLQUV5QixLQUFLO3NCQUE1QixLQUFLO3VCQUFDLGVBQWU7Z0JBRVEsV0FBVztzQkFBeEMsS0FBSzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RvcmFnZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttb25rZXllY3hTZWN1cml0eV0nXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeFNlY3VyaXR5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdzZWN1cml0eVJvbGVzJykgcm9sZXM6IHN0cmluZ1tdID0gW107XG5cbiAgQElucHV0KCdzZWN1cml0eUJ5RXhjbHVzaW9uJykgYnlFeGNsdXNpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHRva2VuQ3JlZGVudGlhbHM6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdG9rZW5TdG9yYWdlU2VydmljZTogTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGdldFJvbGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHRva2VuQ3JlZGVudGlhbHMgfSA9IHRoaXM7XG5cbiAgICBpZiAoIXRva2VuQ3JlZGVudGlhbHMpIHJldHVybiAnJztcblxuICAgIGlmICh0b2tlbkNyZWRlbnRpYWxzPy5wcm9ncmFtQWRtaW4gPT09ICd0cnVlJykge1xuICAgICAgcmV0dXJuICdQUk9HUkFNX0FETUlOJztcbiAgICB9XG5cbiAgICBpZiAodG9rZW5DcmVkZW50aWFscz8ucHJvZ3JhbUFkbWluID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gJ1BST0dSQU1fQURNSU4nO1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZWRSb2xlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JvbGUnKTtcblxuICAgIHJldHVybiB0b2tlbkNyZWRlbnRpYWxzPy5yb2xlIHx8IGhhbmRsZWRSb2xlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBY2Nlc3MoKSB7XG4gICAgY29uc3QgeyByb2xlcywgYnlFeGNsdXNpb24gfSA9IHRoaXM7XG4gICAgbGV0IGRpc3BsYXkgPSAnbm9uZSc7XG4gICAgY29uc3QgZm91bmQgPSByb2xlcz8uaW5kZXhPZih0aGlzLmdldFJvbGUoKSk7XG4gICAgaWYgKGJ5RXhjbHVzaW9uKSB7XG4gICAgICBkaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIGRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBpZiAoZm91bmQgPiAtMSkge1xuICAgICAgICBkaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCB8fCB0aGlzLmdldFJvbGUoKSA9PT0gJ1BST0dSQU1fQURNSU4nKSBkaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZURhdGEoKSB7XG4gICAgdGhpcy50b2tlbkNyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy50b2tlblN0b3JhZ2VTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgdGhpcy5oYW5kbGVBY2Nlc3MoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy50b2tlblN0b3JhZ2VTZXJ2aWNlLnRva2VuSGFzQ2hhbmdlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZURhdGEoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFuZGxlRGF0YSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -59,7 +59,8 @@ export class MonkeyEcxTokenStorageService {
|
|
|
59
59
|
const username = localStorage.getItem('username');
|
|
60
60
|
let data = {
|
|
61
61
|
username: username || '',
|
|
62
|
-
program: ''
|
|
62
|
+
program: '',
|
|
63
|
+
accessToken: ''
|
|
63
64
|
};
|
|
64
65
|
if (username) {
|
|
65
66
|
data = await store.select(selectors.monkeyecxStorage.select({ username })).pipe(take(1)).toPromise();
|
|
@@ -84,6 +85,13 @@ export class MonkeyEcxTokenStorageService {
|
|
|
84
85
|
refreshToken
|
|
85
86
|
};
|
|
86
87
|
}
|
|
88
|
+
if (!data.role) {
|
|
89
|
+
const role = localStorage.getItem('role');
|
|
90
|
+
data = {
|
|
91
|
+
...data,
|
|
92
|
+
role
|
|
93
|
+
};
|
|
94
|
+
}
|
|
87
95
|
const handledData = {
|
|
88
96
|
...data,
|
|
89
97
|
accessType,
|
|
@@ -212,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
212
220
|
providedIn: 'root'
|
|
213
221
|
}]
|
|
214
222
|
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }, { type: i2.Store }]; } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1wRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLDRCQUE0QjtJQU92QyxZQUNVLHNCQUE4QyxFQUM5QyxLQUFZO1FBRFosMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsVUFBVSxF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QyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQixDQUNyQixNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDO1FBRTdFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxHQUFHLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUM5QixHQUFHLEdBQUc7Z0JBQ0osR0FBRyxHQUFHO2dCQUNOLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLFFBQVEsRUFBRTtZQUNaLEtBQUssQ0FBQyxRQUFRLENBQ1osT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztnQkFDOUIsSUFBSSxFQUFFO29CQUNKO3dCQUNFLFFBQVE7d0JBQ1IsR0FBRyxHQUFHO3FCQUNQO2lCQUNGO2FBQ0YsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7O3lIQWxQVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBhY3Rpb25zLCBzZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZSc7XG5pbXBvcnQge1xuICBNb25rZXlFY3hNZUNyZWRlbnRpYWxzLFxuICBNb25rZXlFY3hTdG9yYWdlLFxuICBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeFRva2VuU3RvcmFnZVNlcnZpY2Uge1xuICBwcml2YXRlIHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgbnVsbDtcblxuICBwcml2YXRlIHRva2VuJDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMgfCBhbnk+O1xuXG4gIHByaXZhdGUgbWUkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4TWVDcmVkZW50aWFscyB8IGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtb25rZXllY3hDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlXG4gICkge1xuICAgIHRoaXMudG9rZW4gPSB7XG4gICAgICB1c2VybmFtZTogJycsXG4gICAgICBwcm9ncmFtOiAnJyxcbiAgICAgIGFjY2Vzc1Rva2VuOiAnJyxcbiAgICAgIHJlZnJlc2hUb2tlbjogJycsXG4gICAgICBjb21wYW55SWQ6ICcnLFxuICAgICAgZ292ZXJubWVudElkOiAnJyxcbiAgICAgIGNvbXBhbnlUeXBlVXJsOiAnJyxcbiAgICAgIGNvbXBhbnlUeXBlOiAnJyxcbiAgICAgIHByb2dyYW1BZG1pbjogZmFsc2UsXG4gICAgICBwcm9ncmFtVHlwZTogJycsXG4gICAgICBhY2Nlc3NUeXBlOiAnJyxcbiAgICAgIHJvbGU6ICcnLFxuICAgICAgb3duZXJHb3Zlcm5tZW50SWQ6ICcnLFxuICAgICAgX2NsZWFySWdub3JlOiB7XG4gICAgICAgIGlnbm9yZTogWyd1c2VybmFtZScsICdwcm9ncmFtJywgJ2FjY2Vzc1R5cGUnXVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy50b2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHRoaXMubWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWxsVG9rZW5zKHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzKSB7XG4gICAgY29uc3QgeyB0b2tlbiQsIHN0b3JlIH0gPSB0aGlzO1xuICAgIC8vICNUT0RPIC0gUmVtb3ZlciBlc3NlIGPDs2RpZ28gZSBhcGVuYXMgZGVpeGFyIG8gdXNlcm5hbWVcbiAgICAvLyB0b2RvIG8gcmVzdGFudGUgZmljb3Ugc2Fsdm8gbmEgc3RvcmUgY29tIGEga2V1IHNlbmRvIG8gdXNlcm5hbWVcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCB1c2VybmFtZSA9IHRva2VuLnVzZXJuYW1lIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIGFjdGlvbnMubW9ua2V5ZWN4U3RvcmFnZS5jcmVhdGUoe1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgICAgICAgIC4uLnRva2VuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0b2tlbiQubmV4dCh0b2tlbik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEFsbFRva2VucygpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBzdG9yZSwgbW9ua2V5ZWN4Q29uZmlnU2VydmljZSB9ID0gdGhpcztcbiAgICAgIGNvbnN0IHVzZXJuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG5cbiAgICAgIGxldCBkYXRhOiBhbnkgPSB7XG4gICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSB8fCAnJyxcbiAgICAgICAgcHJvZ3JhbTogJydcbiAgICAgIH07XG5cbiAgICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgICBkYXRhID0gYXdhaXQgc3RvcmUuc2VsZWN0KFxuICAgICAgICAgIHNlbGVjdG9ycy5tb25rZXllY3hTdG9yYWdlLnNlbGVjdCh7IHVzZXJuYW1lIH0pXG4gICAgICAgICkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICAgICAgaWYgKCFkYXRhPy5wcm9ncmFtKSB7XG4gICAgICAgICAgY29uc3QgcHJvZ3JhbSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdwcm9ncmFtJyk7XG4gICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICBwcm9ncmFtXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb25maWcgPSBhd2FpdCBtb25rZXllY3hDb25maWdTZXJ2aWNlLmNvbmZpZygpXG4gICAgICAgIC5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuXG4gICAgICBjb25zdCBhY2Nlc3NUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FjY2Vzc1R5cGUnKTtcbiAgICAgIGNvbnN0IGNvbXBhbnlUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbXBhbnlUeXBlJyk7XG5cbiAgICAgIGlmICghZGF0YS5hY2Nlc3NUb2tlbikge1xuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUb2tlbicpO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVmcmVzaFRva2VuJyk7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICByZWZyZXNoVG9rZW5cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFuZGxlZERhdGEgPSB7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIGFjY2Vzc1R5cGUsXG4gICAgICAgIGNvbXBhbnlUeXBlXG4gICAgICB9O1xuICAgICAgaWYgKCFkYXRhPy5wcm9ncmFtICYmIGNvbmZpZz8ucHJvZ3JhbSkge1xuICAgICAgICBoYW5kbGVkRGF0YS5wcm9ncmFtID0gY29uZmlnPy5wcm9ncmFtPy50b2tlbjtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBoYW5kbGVkRGF0YT8ubWU7XG5cbiAgICAgIHJldHVybiBoYW5kbGVkRGF0YTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBub3QgdG8gZG9cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNldEFsbE1lKG1lOiBNb25rZXlFY3hNZUNyZWRlbnRpYWxzKSB7XG4gICAgY29uc3QgeyBtZSQsIHN0b3JlIH0gPSB0aGlzO1xuICAgIGxldCBwcmV2aW91c01lID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2U/LmdldEl0ZW0oJ21lJykgfHwgJ3t9Jyk7XG4gICAgT2JqZWN0LmVudHJpZXMobWUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpKSB7XG4gICAgICAgIHByZXZpb3VzTWUgPSB7XG4gICAgICAgICAgLi4ucHJldmlvdXNNZSxcbiAgICAgICAgICBba2V5XTogdmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHVzZXJuYW1lID0gbWUudXNlcm5hbWUgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG4gICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICBzdG9yZS5kaXNwYXRjaChcbiAgICAgICAgYWN0aW9ucy5tb25rZXllY3hTdG9yYWdlLmNyZWF0ZSh7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgICAgICAgbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdtZScsIEpTT04uc3RyaW5naWZ5KHByZXZpb3VzTWUpKTtcbiAgICBtZSQubmV4dChwcmV2aW91c01lKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWxsTWUoKSB7XG4gICAgY29uc3QgeyBzdG9yZSB9ID0gdGhpcztcbiAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuICAgIGxldCBkYXRhOiBNb25rZXlFY3hTdG9yYWdlIHwgdW5kZWZpbmVkID0ge1xuICAgICAgdXNlcm5hbWU6IHVzZXJuYW1lIHx8ICcnLFxuICAgICAgcHJvZ3JhbTogJydcbiAgICB9O1xuXG4gICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICBkYXRhID0gYXdhaXQgc3RvcmUuc2VsZWN0KFxuICAgICAgICBzZWxlY3RvcnMubW9ua2V5ZWN4U3RvcmFnZS5zZWxlY3QoeyB1c2VybmFtZSB9KVxuICAgICAgKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhPy5tZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2tlbkhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW4kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG1lSGFzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPE1vbmtleUVjeE1lQ3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gdGhpcy5tZSQuYXNPYnNlcnZhYmxlKCkgfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRUb2tlbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxUb2tlbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRNZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxNZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5zZXRBbGxUb2tlbnModG9rZW4pO1xuICB9XG5cbiAgcHVibGljIHNldE1lKG1lOiBNb25rZXlFY3hNZUNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5zZXRBbGxNZShtZSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZm9yY2U/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0b2tlbiwgc3RvcmUgfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbWUnKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtZWN4LXN0b3JlJyk7XG4gICAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuICAgICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICAgIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMubW9ua2V5ZWN4U3RvcmFnZS5kZWxldGVPbmUoeyBkYXRhOiB7IHVzZXJuYW1lIH0gfSkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gb2YodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGZpZWxkcyAodGhlIG5hbWUgb2YgZmllbGRzIHlvdSB3YW50IHRvIGNsZWFyLiBpZTogWydjb21wYW55SWQnLCAncm9sZScsIC4uLl0pXG4gICAqL1xuICBwdWJsaWMgY2xlYXJDcmVkZW50aWFscyhcbiAgICBmaWVsZHMgPSBbJ2NvbXBhbnlJZCcsICdnb3Zlcm5tZW50SWQnLCAnY29tcGFueVR5cGUnLCAncHJvZ3JhbUFkbWluJywgJ3JvbGUnXVxuICApIHtcbiAgICBjb25zdCB7IHN0b3JlIH0gPSB0aGlzO1xuICAgIGxldCBvYmo6IGFueSA9IG51bGw7XG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgb2JqID0ge1xuICAgICAgICAuLi5vYmosXG4gICAgICAgIFtrZXldOiBudWxsXG4gICAgICB9O1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHVzZXJuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG4gICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICBzdG9yZS5kaXNwYXRjaChcbiAgICAgICAgYWN0aW9ucy5tb25rZXllY3hTdG9yYWdlLmNyZWF0ZSh7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgICAgICAgLi4ub2JqXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1wRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLDRCQUE0QjtJQU92QyxZQUNVLHNCQUE4QyxFQUM5QyxLQUFZO1FBRFosMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUM7YUFDOUM7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBZ0M7UUFDbkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDL0IseURBQXlEO1FBQ3pELGtFQUFrRTtRQUNsRSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxjQUFjLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25ELFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEUsSUFBSSxRQUFRLEVBQUU7WUFDWixLQUFLLENBQUMsUUFBUSxDQUNaLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7Z0JBQzlCLElBQUksRUFBRTtvQkFDSjt3QkFDRSxRQUFRO3dCQUNSLEdBQUcsS0FBSztxQkFDVDtpQkFDRjthQUNGLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWTtRQUN4QixJQUFJO1lBQ0YsTUFBTSxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxHQUFHLElBQUksQ0FBQztZQUMvQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRWxELElBQUksSUFBSSxHQUFRO2dCQUNkLFFBQVEsRUFBRSxRQUFRLElBQUksRUFBRTtnQkFDeEIsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsV0FBVyxFQUFFLEVBQUU7YUFDaEIsQ0FBQztZQUVGLElBQUksUUFBUSxFQUFFO2dCQUNaLElBQUksR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQ3ZCLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNoRCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7b0JBQ2xCLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ2hELElBQUksR0FBRzt3QkFDTCxHQUFHLElBQUk7d0JBQ1AsT0FBTztxQkFDUixDQUFDO2lCQUNIO2FBQ0Y7WUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLHNCQUFzQixDQUFDLE1BQU0sRUFBRTtpQkFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBRTdCLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUV4RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDeEQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxHQUFHO29CQUNMLEdBQUcsSUFBSTtvQkFDUCxXQUFXO29CQUNYLFlBQVk7aUJBQ2IsQ0FBQzthQUNIO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2QsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxHQUFHO29CQUNMLEdBQUcsSUFBSTtvQkFDUCxJQUFJO2lCQUNMLENBQUM7YUFDSDtZQUVELE1BQU0sV0FBVyxHQUFHO2dCQUNsQixHQUFHLElBQUk7Z0JBQ1AsVUFBVTtnQkFDVixXQUFXO2FBQ1osQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxPQUFPLEVBQUU7Z0JBQ3JDLFdBQVcsQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7YUFDOUM7WUFDRCxPQUFPLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFFdkIsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLFlBQVk7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFFBQVEsQ0FBQyxFQUEwQjtRQUN6QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzFDLElBQUksY0FBYyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNuRCxVQUFVLEdBQUc7b0JBQ1gsR0FBRyxVQUFVO29CQUNiLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSztpQkFDYixDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqRSxJQUFJLFFBQVEsRUFBRTtZQUNaLEtBQUssQ0FBQyxRQUFRLENBQ1osT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztnQkFDOUIsSUFBSSxFQUFFO29CQUNKO3dCQUNFLFFBQVE7d0JBQ1IsRUFBRTtxQkFDSDtpQkFDRjthQUNGLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQVE7UUFDcEIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxHQUFpQztZQUN2QyxRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUU7WUFDeEIsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBRUYsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUN2QixTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FDaEQsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDN0I7UUFFRCxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWdDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxFQUEwQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBZTtRQUMxQixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJO1lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDbkQsSUFDRSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUN0RCxPQUFPLEdBQUcsS0FBSyxHQUFHLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO29CQUNkLEtBQUssS0FBSyxJQUFJLEVBQ2Q7b0JBQ0EsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDOUI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELElBQUksUUFBUSxFQUFFO2dCQUNaLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVFO1NBQ0Y7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0JBQWdCLENBQ3JCLE1BQU0sR0FBRyxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUM7UUFFN0UsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLEdBQUcsR0FBUSxJQUFJLENBQUM7UUFDcEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzlCLEdBQUcsR0FBRztnQkFDSixHQUFHLEdBQUc7Z0JBQ04sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJO2FBQ1osQ0FBQztZQUNGLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksUUFBUSxFQUFFO1lBQ1osS0FBSyxDQUFDLFFBQVEsQ0FDWixPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2dCQUM5QixJQUFJLEVBQUU7b0JBQ0o7d0JBQ0UsUUFBUTt3QkFDUixHQUFHLEdBQUc7cUJBQ1A7aUJBQ0Y7YUFDRixDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7eUhBM1BVLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07MkZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFjdGlvbnMsIHNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeE1lQ3JlZGVudGlhbHMsXG4gIE1vbmtleUVjeFN0b3JhZ2UsXG4gIE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHNcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB7XG4gIHByaXZhdGUgdG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMgfCBudWxsO1xuXG4gIHByaXZhdGUgdG9rZW4kOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IGFueT47XG5cbiAgcHJpdmF0ZSBtZSQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hNZUNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcbiAgKSB7XG4gICAgdGhpcy50b2tlbiA9IHtcbiAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgIHByb2dyYW06ICcnLFxuICAgICAgYWNjZXNzVG9rZW46ICcnLFxuICAgICAgcmVmcmVzaFRva2VuOiAnJyxcbiAgICAgIGNvbXBhbnlJZDogJycsXG4gICAgICBnb3Zlcm5tZW50SWQ6ICcnLFxuICAgICAgY29tcGFueVR5cGVVcmw6ICcnLFxuICAgICAgY29tcGFueVR5cGU6ICcnLFxuICAgICAgcHJvZ3JhbUFkbWluOiBmYWxzZSxcbiAgICAgIHByb2dyYW1UeXBlOiAnJyxcbiAgICAgIGFjY2Vzc1R5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBvd25lckdvdmVybm1lbnRJZDogJycsXG4gICAgICBfY2xlYXJJZ25vcmU6IHtcbiAgICAgICAgaWdub3JlOiBbJ3VzZXJuYW1lJywgJ3Byb2dyYW0nLCAnYWNjZXNzVHlwZSddXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLnRva2VuJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gICAgdGhpcy5tZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxUb2tlbnModG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCB7IHRva2VuJCwgc3RvcmUgfSA9IHRoaXM7XG4gICAgLy8gI1RPRE8gLSBSZW1vdmVyIGVzc2UgY8OzZGlnbyBlIGFwZW5hcyBkZWl4YXIgbyB1c2VybmFtZVxuICAgIC8vIHRvZG8gbyByZXN0YW50ZSBmaWNvdSBzYWx2byBuYSBzdG9yZSBjb20gYSBrZXUgc2VuZG8gbyB1c2VybmFtZVxuICAgIE9iamVjdC5lbnRyaWVzKHRva2VuKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHVzZXJuYW1lID0gdG9rZW4udXNlcm5hbWUgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG4gICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICBzdG9yZS5kaXNwYXRjaChcbiAgICAgICAgYWN0aW9ucy5tb25rZXllY3hTdG9yYWdlLmNyZWF0ZSh7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgICAgICAgLi4udG9rZW5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHRva2VuJC5uZXh0KHRva2VuKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWxsVG9rZW5zKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHN0b3JlLCBtb25rZXllY3hDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xuICAgICAgY29uc3QgdXNlcm5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcblxuICAgICAgbGV0IGRhdGE6IGFueSA9IHtcbiAgICAgICAgdXNlcm5hbWU6IHVzZXJuYW1lIHx8ICcnLFxuICAgICAgICBwcm9ncmFtOiAnJyxcbiAgICAgICAgYWNjZXNzVG9rZW46ICcnXG4gICAgICB9O1xuXG4gICAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgICAgZGF0YSA9IGF3YWl0IHN0b3JlLnNlbGVjdChcbiAgICAgICAgICBzZWxlY3RvcnMubW9ua2V5ZWN4U3RvcmFnZS5zZWxlY3QoeyB1c2VybmFtZSB9KVxuICAgICAgICApLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCk7XG4gICAgICAgIGlmICghZGF0YT8ucHJvZ3JhbSkge1xuICAgICAgICAgIGNvbnN0IHByb2dyYW0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncHJvZ3JhbScpO1xuICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgcHJvZ3JhbVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgbW9ua2V5ZWN4Q29uZmlnU2VydmljZS5jb25maWcoKVxuICAgICAgICAucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcblxuICAgICAgY29uc3QgYWNjZXNzVHlwZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUeXBlJyk7XG4gICAgICBjb25zdCBjb21wYW55VHlwZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb21wYW55VHlwZScpO1xuXG4gICAgICBpZiAoIWRhdGEuYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYWNjZXNzVG9rZW4nKTtcbiAgICAgICAgY29uc3QgcmVmcmVzaFRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JlZnJlc2hUb2tlbicpO1xuICAgICAgICBkYXRhID0ge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgYWNjZXNzVG9rZW4sXG4gICAgICAgICAgcmVmcmVzaFRva2VuXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICghZGF0YS5yb2xlKSB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncm9sZScpO1xuICAgICAgICBkYXRhID0ge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgcm9sZVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoYW5kbGVkRGF0YSA9IHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgYWNjZXNzVHlwZSxcbiAgICAgICAgY29tcGFueVR5cGVcbiAgICAgIH07XG4gICAgICBpZiAoIWRhdGE/LnByb2dyYW0gJiYgY29uZmlnPy5wcm9ncmFtKSB7XG4gICAgICAgIGhhbmRsZWREYXRhLnByb2dyYW0gPSBjb25maWc/LnByb2dyYW0/LnRva2VuO1xuICAgICAgfVxuICAgICAgZGVsZXRlIGhhbmRsZWREYXRhPy5tZTtcblxuICAgICAgcmV0dXJuIGhhbmRsZWREYXRhO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWxsTWUobWU6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCB7IG1lJCwgc3RvcmUgfSA9IHRoaXM7XG4gICAgbGV0IHByZXZpb3VzTWUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZT8uZ2V0SXRlbSgnbWUnKSB8fCAne30nKTtcbiAgICBPYmplY3QuZW50cmllcyhtZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgcHJldmlvdXNNZSA9IHtcbiAgICAgICAgICAuLi5wcmV2aW91c01lLFxuICAgICAgICAgIFtrZXldOiB2YWx1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdXNlcm5hbWUgPSBtZS51c2VybmFtZSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcbiAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgIHN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBhY3Rpb25zLm1vbmtleWVjeFN0b3JhZ2UuY3JlYXRlKHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICAgICAgICBtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ21lJywgSlNPTi5zdHJpbmdpZnkocHJldmlvdXNNZSkpO1xuICAgIG1lJC5uZXh0KHByZXZpb3VzTWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBbGxNZSgpIHtcbiAgICBjb25zdCB7IHN0b3JlIH0gPSB0aGlzO1xuICAgIGNvbnN0IHVzZXJuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG4gICAgbGV0IGRhdGE6IE1vbmtleUVjeFN0b3JhZ2UgfCB1bmRlZmluZWQgPSB7XG4gICAgICB1c2VybmFtZTogdXNlcm5hbWUgfHwgJycsXG4gICAgICBwcm9ncmFtOiAnJ1xuICAgIH07XG5cbiAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgIGRhdGEgPSBhd2FpdCBzdG9yZS5zZWxlY3QoXG4gICAgICAgIHNlbGVjdG9ycy5tb25rZXllY3hTdG9yYWdlLnNlbGVjdCh7IHVzZXJuYW1lIH0pXG4gICAgICApLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRhdGE/Lm1lO1xuICB9XG5cbiAgcHVibGljIHRva2VuSGFzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gdGhpcy50b2tlbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbWVIYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4TWVDcmVkZW50aWFscz4ge1xuICAgIHJldHVybiB0aGlzLm1lJC5hc09ic2VydmFibGUoKSB8fCBudWxsO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFRva2VuKCkge1xuICAgIHJldHVybiB0aGlzLmdldEFsbFRva2VucygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldE1lKCkge1xuICAgIHJldHVybiB0aGlzLmdldEFsbE1lKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW4odG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcbiAgICB0aGlzLnNldEFsbFRva2Vucyh0b2tlbik7XG4gIH1cblxuICBwdWJsaWMgc2V0TWUobWU6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMpIHtcbiAgICB0aGlzLnNldEFsbE1lKG1lKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcihmb3JjZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IHRva2VuLCBzdG9yZSB9ID0gdGhpcztcbiAgICB0cnkge1xuICAgICAgT2JqZWN0LmVudHJpZXModG9rZW4gfHwge30pLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRva2VuPy5fY2xlYXJJZ25vcmU/Lmlnbm9yZSB8fCBbXSkuZmlsdGVyKCh2YWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga2V5O1xuICAgICAgICAgIH0pLmxlbmd0aCA8PSAwIHx8XG4gICAgICAgICAgZm9yY2UgPT09IHRydWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtZScpO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21lY3gtc3RvcmUnKTtcbiAgICAgIGNvbnN0IHVzZXJuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG4gICAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgICAgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5tb25rZXllY3hTdG9yYWdlLmRlbGV0ZU9uZSh7IGRhdGE6IHsgdXNlcm5hbWUgfSB9KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmllbGRzICh0aGUgbmFtZSBvZiBmaWVsZHMgeW91IHdhbnQgdG8gY2xlYXIuIGllOiBbJ2NvbXBhbnlJZCcsICdyb2xlJywgLi4uXSlcbiAgICovXG4gIHB1YmxpYyBjbGVhckNyZWRlbnRpYWxzKFxuICAgIGZpZWxkcyA9IFsnY29tcGFueUlkJywgJ2dvdmVybm1lbnRJZCcsICdjb21wYW55VHlwZScsICdwcm9ncmFtQWRtaW4nLCAncm9sZSddXG4gICkge1xuICAgIGNvbnN0IHsgc3RvcmUgfSA9IHRoaXM7XG4gICAgbGV0IG9iajogYW55ID0gbnVsbDtcbiAgICBmaWVsZHM/LmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBvYmogPSB7XG4gICAgICAgIC4uLm9iaixcbiAgICAgICAgW2tleV06IG51bGxcbiAgICAgIH07XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdXNlcm5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcbiAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgIHN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBhY3Rpb25zLm1vbmtleWVjeFN0b3JhZ2UuY3JlYXRlKHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICAgICAgICAuLi5vYmpcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -3616,7 +3616,8 @@ class MonkeyEcxTokenStorageService {
|
|
|
3616
3616
|
const username = localStorage.getItem('username');
|
|
3617
3617
|
let data = {
|
|
3618
3618
|
username: username || '',
|
|
3619
|
-
program: ''
|
|
3619
|
+
program: '',
|
|
3620
|
+
accessToken: ''
|
|
3620
3621
|
};
|
|
3621
3622
|
if (username) {
|
|
3622
3623
|
data = yield store.select(select({ username })).pipe(take(1)).toPromise();
|
|
@@ -3635,6 +3636,10 @@ class MonkeyEcxTokenStorageService {
|
|
|
3635
3636
|
data = Object.assign(Object.assign({}, data), { accessToken,
|
|
3636
3637
|
refreshToken });
|
|
3637
3638
|
}
|
|
3639
|
+
if (!data.role) {
|
|
3640
|
+
const role = localStorage.getItem('role');
|
|
3641
|
+
data = Object.assign(Object.assign({}, data), { role });
|
|
3642
|
+
}
|
|
3638
3643
|
const handledData = Object.assign(Object.assign({}, data), { accessType,
|
|
3639
3644
|
companyType });
|
|
3640
3645
|
if (!(data === null || data === void 0 ? void 0 : data.program) && (config === null || config === void 0 ? void 0 : config.program)) {
|
|
@@ -3780,7 +3785,8 @@ class MonkeyEcxSecurityDirective {
|
|
|
3780
3785
|
if ((tokenCredentials === null || tokenCredentials === void 0 ? void 0 : tokenCredentials.programAdmin) === true) {
|
|
3781
3786
|
return 'PROGRAM_ADMIN';
|
|
3782
3787
|
}
|
|
3783
|
-
|
|
3788
|
+
const handledRole = localStorage.getItem('role');
|
|
3789
|
+
return (tokenCredentials === null || tokenCredentials === void 0 ? void 0 : tokenCredentials.role) || handledRole || '';
|
|
3784
3790
|
}
|
|
3785
3791
|
handleAccess() {
|
|
3786
3792
|
const { roles, byExclusion } = this;
|