@sunbird-cb/utils-v2 0.0.6 → 0.0.7
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/bundles/sunbird-cb-utils-v2.umd.js +15 -6
- package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -1
- package/bundles/sunbird-cb-utils-v2.umd.min.js +1 -1
- package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -1
- package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +7 -4
- package/esm2015/lib/services/auth-keycloak.service.js +3 -1
- package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +7 -4
- package/esm5/lib/services/auth-keycloak.service.js +10 -4
- package/fesm2015/sunbird-cb-utils-v2.js +8 -3
- package/fesm2015/sunbird-cb-utils-v2.js.map +1 -1
- package/fesm5/sunbird-cb-utils-v2.js +15 -6
- package/fesm5/sunbird-cb-utils-v2.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,9 +4,12 @@ export class PipePublicURL {
|
|
|
4
4
|
this.environment = environment;
|
|
5
5
|
}
|
|
6
6
|
transform(value) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
if (value.includes('karmayogi')) {
|
|
8
|
+
const mainUrl = value && value.split('/content').pop() || '';
|
|
9
|
+
const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`;
|
|
10
|
+
return value ? finalURL : '';
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
15
|
PipePublicURL.decorators = [
|
|
@@ -20,4 +23,4 @@ PipePublicURL.ctorParameters = () => [
|
|
|
20
23
|
if (false) {
|
|
21
24
|
PipePublicURL.prototype.environment;
|
|
22
25
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1wdWJsaWMtVVJMLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9waXBlLXB1YmxpYy1VUkwvcGlwZS1wdWJsaWMtVVJMLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBSzNELE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQW1DLFdBQWdCO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQ2hDLENBQUM7SUFDRCxTQUFTLENBQUMsS0FBYTtRQUtyQixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7a0JBQ3pCLE9BQU8sR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO2tCQUN0RCxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsV0FBVyxPQUFPLEVBQUU7WUFDdEcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1NBQzdCO1FBR0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOzs7WUFyQkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxlQUFlO2FBQ3RCOzs7NENBR2MsTUFBTSxTQUFDLGFBQWE7OztJQURqQyxvQ0FBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdwaXBlUHVibGljVVJMJyxcbn0pXG5leHBvcnQgY2xhc3MgUGlwZVB1YmxpY1VSTCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBlbnZpcm9ubWVudDogYW55XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxuICB9XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICAvLyBLYXJtYXlvZ2kgY29udGVudCB0byBiZSBtb2RpZmllZCB3aXRoIHRoZSBkb21haW4gc3BlY2lmaWMgdXJsXG5cbiAgICAvLyBodHRwczovL3BvcnRhbC5rYXJtYXlvZ2kubmljLmluL2NvbnRlbnQtc3RvcmUvY29udGVudC9kb18xMTM5MTg4MTgyNDM5NjkwMjQxMzcvYXJ0aWZhY3QvXG4gICAgLy8gZG9fMTEzOTE4ODE4MjQzOTY5MDI0MTM3XzE2OTkwNzQ0OTMwNjdfZWZmZWN0aXZlY29tbXVuaWNhdGlvbjE2OTkwNzQ0OTI4NjAuanBnXG4gICAgaWYgKHZhbHVlLmluY2x1ZGVzKCdrYXJtYXlvZ2knKSkge1xuICAgICAgY29uc3QgbWFpblVybCA9IHZhbHVlICYmIHZhbHVlLnNwbGl0KCcvY29udGVudCcpLnBvcCgpIHx8ICcnXG4gICAgICBjb25zdCBmaW5hbFVSTCA9IGAke3RoaXMuZW52aXJvbm1lbnQuY29udGVudEhvc3R9LyR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50QnVja2V0fS9jb250ZW50JHttYWluVXJsfWBcbiAgICAgIHJldHVybiB2YWx1ZSA/IGZpbmFsVVJMIDogJydcbiAgICB9XG4gICAgLy8gQ0lPUyBjb250ZW50IGhhcyBkaXJlY3QgUzMgdXJsIGxpa2UgYmxvdywgc28gcmV0dXJuIHNhbWUgdXJsXG4gICAgLy8gaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2Vjb3JuZWxsL2NvbnRlbnQvT24tRGVtYW5kL0hvbWVwYWdlcy9CYW5uZXJzL0NFUEw1MDMtT0QzX2hvbWVwYWdlLWJhbm5lcl92MS5qcGdcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuIl19
|
|
@@ -147,6 +147,7 @@ export class AuthKeycloakService {
|
|
|
147
147
|
else {
|
|
148
148
|
storage.removeItem(storageKey);
|
|
149
149
|
yield this.http.get('/apis/reset').toPromise();
|
|
150
|
+
yield this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise();
|
|
150
151
|
}
|
|
151
152
|
try {
|
|
152
153
|
sessionStorage.clear();
|
|
@@ -156,6 +157,7 @@ export class AuthKeycloakService {
|
|
|
156
157
|
}
|
|
157
158
|
storage.removeItem(storageKey);
|
|
158
159
|
yield this.http.get('/apis/reset').toPromise();
|
|
160
|
+
yield this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise();
|
|
159
161
|
});
|
|
160
162
|
}
|
|
161
163
|
addKeycloakEventListener() {
|
|
@@ -263,4 +265,4 @@ if (false) {
|
|
|
263
265
|
AuthKeycloakService.prototype.keycloakSvc;
|
|
264
266
|
AuthKeycloakService.prototype.msAuthSvc;
|
|
265
267
|
}
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1rZXljbG9hay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvYXV0aC1rZXljbG9hay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQWlCLGlCQUFpQixFQUF1QixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7OztBQUVoRSwyQkFLQzs7SUFKQyw2QkFBYztJQUNkLGdDQUFpQjtJQUNqQiw0QkFBYTtJQUNiLDBDQUEyQjs7TUFHdkIsT0FBTyxHQUFHLFlBQVk7TUFDdEIsVUFBVSxHQUFHLElBQUk7QUFNdkIsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUNVLElBQWdCLEVBQ2hCLFNBQWdDLEVBQ2hDLFdBQTRCLEVBQzVCLFNBQStCO1FBSC9CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBTGpDLHVCQUFrQixHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFBO1FBT3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxVQUFtQixFQUFFLEVBQUU7WUFDeEQsSUFBSSxD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Q2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBLZXljbG9ha0V2ZW50LCBLZXljbG9ha0V2ZW50VHlwZSwgS2V5Y2xvYWtJbml0T3B0aW9ucywgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcidcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IEF1dGhNaWNyb3NvZnRTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLW1pY3Jvc29mdC5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcblxyXG5pbnRlcmZhY2UgSVBhcnNlZFRva2VuIHtcclxuICBlbWFpbD86IHN0cmluZ1xyXG4gIGVuY0VtYWlsPzogc3RyaW5nXHJcbiAgbmFtZT86IHN0cmluZ1xyXG4gIHByZWZlcnJlZF91c2VybmFtZT86IHN0cmluZ1xyXG59XHJcblxyXG5jb25zdCBzdG9yYWdlID0gbG9jYWxTdG9yYWdlXHJcbmNvbnN0IHN0b3JhZ2VLZXkgPSAna2MnXHJcbi8vIGNvbnN0IGxvZ291dFJlZGlyZWN0VXJsID0gJydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoS2V5Y2xvYWtTZXJ2aWNlIHtcclxuICBwcml2YXRlIGxvZ2luQ2hhbmdlU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXljbG9ha1N2YzogS2V5Y2xvYWtTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtc0F1dGhTdmM6IEF1dGhNaWNyb3NvZnRTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5sb2dpbkNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKChpc0xvZ2dlZEluOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlnU3ZjLmlzQXV0aGVudGljYXRlZCA9IGlzTG9nZ2VkSW5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIGlzTG9nZ2VkSW4gJiZcclxuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZyAmJlxyXG4gICAgICAgIEJvb2xlYW4odGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcuZGlzYWJsZVBpZENoZWNrKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSA9IHtcclxuICAgICAgICAgIGVtYWlsOiB0aGlzLnVzZXJFbWFpbCxcclxuICAgICAgICAgIHVzZXJOYW1lOiB0aGlzLnVzZXJOYW1lLFxyXG4gICAgICAgICAgdXNlcklkOiB0aGlzLnVzZXJJZCB8fCAnJyxcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBHZXR0ZXJzXHJcbiAgZ2V0IGlzTG9nZ2VkSW4kKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9naW5DaGFuZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXHJcbiAgfVxyXG4gIGdldCBpc0xvZ2dlZEluKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMua2V5Y2xvYWtTdmMuaXNMb2dnZWRJbigpXHJcbiAgfVxyXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKCkuYXV0aGVudGljYXRlZFxyXG4gIH1cclxuICBnZXQgdG9rZW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKS50b2tlblxyXG4gIH1cclxuICBnZXQgc2Vzc2lvbklkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKCkuc2Vzc2lvbklkXHJcbiAgfVxyXG4gIGdldCB1c2VySWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGtjID0gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKClcclxuICAgIGlmICgha2MpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGtjLnRva2VuUGFyc2VkICYmIGtjLnRva2VuUGFyc2VkLnN1YikgfHwgKGtjLmlkVG9rZW5QYXJzZWQgJiYga2MuaWRUb2tlblBhcnNlZC5zdWIpXHJcbiAgfVxyXG5cclxuICBnZXQgdXNlckVtYWlsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBrYyA9IHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpXHJcblxyXG4gICAgY29uc3QgdG9rZW5QYXJzZWQgPSBrYy50b2tlblBhcnNlZCBhcyBJUGFyc2VkVG9rZW5cclxuICAgIGNvbnN0IGlkVG9rZW5QYXJzZWQgPSBrYy5pZFRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgKHRva2VuUGFyc2VkICYmIHRva2VuUGFyc2VkLmVtYWlsKSB8fFxyXG4gICAgICAoaWRUb2tlblBhcnNlZCAmJiBpZFRva2VuUGFyc2VkLmVtYWlsKSB8fFxyXG4gICAgICAoaWRUb2tlblBhcnNlZCAmJiBpZFRva2VuUGFyc2VkLmVuY0VtYWlsKSB8fFxyXG4gICAgICAodG9rZW5QYXJzZWQgJiYgdG9rZW5QYXJzZWQucHJlZmVycmVkX3VzZXJuYW1lKSB8fFxyXG4gICAgICAoaWRUb2tlblBhcnNlZCAmJiBpZFRva2VuUGFyc2VkLnByZWZlcnJlZF91c2VybmFtZSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldCB1c2VyTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3Qga2MgPSB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgKGtjLnRva2VuUGFyc2VkICYmIChrYy50b2tlblBhcnNlZCBhcyBJUGFyc2VkVG9rZW4pLm5hbWUpIHx8XHJcbiAgICAgIChrYy5pZFRva2VuUGFyc2VkICYmIChrYy5pZFRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlbikubmFtZSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRBdXRoKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZykge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcclxuICAgIGlmIChpbnN0YW5jZUNvbmZpZy5taWNyb3NvZnQuaXNDb25maWd1cmVkKSB7XHJcbiAgICAgIHRoaXMubXNBdXRoU3ZjLmluaXQoeyBtaWNyb3NvZnQ6IGluc3RhbmNlQ29uZmlnLm1pY3Jvc29mdCB9KVxyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5zZXR1cEdsb2JhbEF1dGhSZXNwb25kZXIoKVxyXG4gICAgICB0aGlzLmFkZEtleWNsb2FrRXZlbnRMaXN0ZW5lcigpXHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmtleWNsb2FrU3ZjLmluaXQoe1xyXG4gICAgICAgIGNvbmZpZzoge1xyXG4gICAgICAgICAgdXJsOiBpbnN0YW5jZUNvbmZpZy5rZXljbG9hay51cmwsXHJcbiAgICAgICAgICByZWFsbTogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsucmVhbG0sXHJcbiAgICAgICAgICBjbGllbnRJZDogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsuY2xpZW50SWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbml0T3B0aW9uczoge1xyXG4gICAgICAgICAgLi4udGhpcy5nZXRTYXZlZEtjQ29uZmlnKCksXHJcbiAgICAgICAgICBvbkxvYWQ6IGluc3RhbmNlQ29uZmlnLmtleWNsb2FrLm9uTG9hZCB8fCAnY2hlY2stc3NvJyxcclxuICAgICAgICAgIGNoZWNrTG9naW5JZnJhbWU6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW5hYmxlQmVhcmVySW50ZXJjZXB0b3I6IHRydWUsXHJcbiAgICAgICAgbG9hZFVzZXJQcm9maWxlQXRTdGFydFVwOiBmYWxzZSxcclxuICAgICAgICBiZWFyZXJFeGNsdWRlZFVybHM6IGluc3RhbmNlQ29uZmlnLmtleWNsb2FrLmJlYXJlckV4Y2x1ZGVkVXJscyxcclxuICAgICAgfSlcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvZ2luKFxyXG4gICAgaWRwSGludDogJ0UnIHwgJ04nIHwgJ1MnID0gJ0UnLFxyXG4gICAgcmVkaXJlY3RVcmw6IHN0cmluZyA9IHRoaXMuZGVmYXVsdFJlZGlyZWN0VXJsLFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMua2V5Y2xvYWtTdmMubG9naW4oe1xyXG4gICAgICBpZHBIaW50LFxyXG4gICAgICByZWRpcmVjdFVyaTogcmVkaXJlY3RVcmwsXHJcbiAgICB9KVxyXG4gIH1cclxuICBsb2dpblYyKFxyXG4gICAgX2lkcEhpbnQ6ICdFJyB8ICdOJyB8ICdTJyA9ICdFJyxcclxuICAgIHJlZGlyZWN0VXJsOiBzdHJpbmcgPSB0aGlzLmRlZmF1bHRSZWRpcmVjdFVybCxcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZykge1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnLmtleWNsb2FrLnVybCArIHJlZGlyZWN0VXJsXHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KClcclxuICB9XHJcbiAgcmVnaXN0ZXIoXHJcbiAgICByZWRpcmVjdFVybDogc3RyaW5nID0gdGhpcy5kZWZhdWx0UmVkaXJlY3RVcmwsXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5yZWdpc3Rlcih7XHJcbiAgICAgIHJlZGlyZWN0VXJpOiByZWRpcmVjdFVybCxcclxuICAgIH0pXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIHRoaXMgd2lsbCBiZSBkZXByaWNhdGVkXHJcbiAgICovXHJcbiAgYXN5bmMgbG9nb3V0KHJlZGlyZWN0VXJsID0gdGhpcy5kZWZhdWx0UmVkaXJlY3RVcmwpIHtcclxuICAgIGlmIChzdG9yYWdlLmdldEl0ZW0oJ3RlbGVtZXRyeVNlc3Npb25JZCcpKSB7XHJcbiAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJylcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKClcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKClcclxuICAgIH0gY2F0Y2gge1xyXG5cclxuICAgIH1cclxuICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KVxyXG4gICAgLy8gYWxlcnQoYCR7cmVkaXJlY3RVcmx9YXBpcy9yZXNldGApXHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3JlZGlyZWN0VXJsfWFwaXMvcmVzZXRgXHJcbiAgICAvLyB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdodHRwOi8vbG9jYWxob3N0OjMwMDMvcmVzZXQnXHJcbiAgICAvLyAgYXdhaXQgdGhpcy5odHRwLmdldCgnL2FwaXMvcmVzZXQnKS50b1Byb21pc2UoKVxyXG4gICAgLy8gc2V0VGltZW91dCh3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3JlZGlyZWN0VXJsfWFwaXMvcmVzZXRgLCAxMzAwMClcclxuICAgIC8vIGxvZ291dFJlZGlyZWN0VXJsID0gcmVkaXJlY3RVcmxcclxuICAgIC8vIGlmICh0aGlzLm1zQXV0aFN2Yy5pc0xvZ291dFJlcXVpcmVkKSB7XHJcbiAgICAvLyAgIHRoaXMua2V5Y2xvYWtTdmMubG9nb3V0KHRoaXMubXNBdXRoU3ZjLmxvZ291dFVybChyZWRpcmVjdFVybCkpXHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gdGhpcy5rZXljbG9ha1N2Yy5sb2dvdXQocmVkaXJlY3RVcmwpXHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIGFzeW5jIGZvcmNlX2xvZ291dCgpIHtcclxuICAgIGlmIChzdG9yYWdlLmdldEl0ZW0oJ3RlbGVtZXRyeVNlc3Npb25JZCcpKSB7XHJcbiAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJylcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9wdWJsaWMvaG9tZSdcclxuICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXHJcbiAgICAgIGF3YWl0IHRoaXMuaHR0cC5nZXQoJy9hcGlzL3Jlc2V0JykudG9Qcm9taXNlKClcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKClcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKClcclxuICAgIH0gY2F0Y2gge1xyXG5cclxuICAgIH1cclxuICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KVxyXG4gICAgYXdhaXQgdGhpcy5odHRwLmdldCgnL2FwaXMvcmVzZXQnKS50b1Byb21pc2UoKVxyXG4gIH1cclxuICBwcml2YXRlIGFkZEtleWNsb2FrRXZlbnRMaXN0ZW5lcigpIHtcclxuICAgIHRoaXMua2V5Y2xvYWtTdmMua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQ6IEtleWNsb2FrRXZlbnQpID0+IHtcclxuICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhFcnJvcjpcclxuICAgICAgICAgIHRoaXMubG9naW5DaGFuZ2VTdWJqZWN0Lm5leHQoZmFsc2UpXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoTG9nb3V0OlxyXG4gICAgICAgICAgdGhpcy5sb2dpbkNoYW5nZVN1YmplY3QubmV4dChmYWxzZSlcclxuICAgICAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aFJlZnJlc2hFcnJvcjpcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoU3VjY2VzczpcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhTdWNjZXNzOlxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uUmVhZHk6XHJcbiAgICAgICAgICB0aGlzLmxvZ2luQ2hhbmdlU3ViamVjdC5uZXh0KGV2ZW50LmFyZ3MpXHJcbiAgICAgICAgICBpZiAoZXZlbnQuYXJncykge1xyXG4gICAgICAgICAgICB0aGlzLnNhdmVLZXljbG9ha0NvbmZpZygpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25Ub2tlbkV4cGlyZWQ6XHJcbiAgICAgICAgICB0aGlzLmtleWNsb2FrU3ZjLnVwZGF0ZVRva2VuKDYwKVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBHbG9iYWxBdXRoUmVzcG9uZGVyKCkge1xyXG4gICAgZnJvbUV2ZW50PE1lc3NhZ2VFdmVudD4od2luZG93LCAnbWVzc2FnZScpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcihcclxuICAgICAgICAgIChldmVudDogTWVzc2FnZUV2ZW50KSA9PlxyXG4gICAgICAgICAgICBCb29sZWFuKGV2ZW50KSAmJlxyXG4gICAgICAgICAgICBCb29sZWFuKGV2ZW50LmRhdGEpICYmXHJcbiAgICAgICAgICAgIGV2ZW50LmRhdGEudHlwZSA9PT0gJ0FVVEhfUkVRVUVTVCcgJiZcclxuICAgICAgICAgICAgQm9vbGVhbihldmVudC5zb3VyY2UgJiYgdHlwZW9mIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJyksXHJcbiAgICAgICAgKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udGVudFdpbmRvdyA9IGV2ZW50LnNvdXJjZSBhcyBXaW5kb3dcclxuICAgICAgICBjb25zdCB0b2tlbiA9IGF3YWl0IHRoaXMua2V5Y2xvYWtTdmMuZ2V0VG9rZW4oKVxyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xyXG4gICAgICAgICAgYXBwOiAnV0VCX1BPUlRBTCcsXHJcbiAgICAgICAgICB0eXBlOiAnQVVUSF9SRVNQT05TRScsXHJcbiAgICAgICAgICBzdGF0ZTogJ05PTkUnLFxyXG4gICAgICAgICAgcGx1Z2luOiAnTk9ORScsXHJcbiAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIHRva2VuLFxyXG4gICAgICAgICAgICBpZDogZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLmRhdGEgJiYgZXZlbnQuZGF0YS5kYXRhLmlkLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShyZXNwb25zZSwgJyonKVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy8gVXRpbGl0eSBNZXRob2RzXHJcbiAgcHJpdmF0ZSBzYXZlS2V5Y2xvYWtDb25maWcoKSB7XHJcbiAgICBjb25zdCBrYyA9IHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpXHJcbiAgICBjb25zdCBrY0luaXRPcHRpb25zOiBLZXljbG9ha0luaXRPcHRpb25zID0ge1xyXG4gICAgICBpZFRva2VuOiBrYy5pZFRva2VuLFxyXG4gICAgICByZWZyZXNoVG9rZW46IGtjLnJlZnJlc2hUb2tlbixcclxuICAgICAgdGltZVNrZXc6IGtjLnRpbWVTa2V3LFxyXG4gICAgICB0b2tlbjoga2MudG9rZW4sXHJcbiAgICB9XHJcbiAgICBzdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgSlNPTi5zdHJpbmdpZnkoa2NJbml0T3B0aW9ucykpXHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0U2F2ZWRLY0NvbmZpZygpOiBLZXljbG9ha0luaXRPcHRpb25zIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIGNvbnN0IGxhc3RTYXZlZCA9IEtFWUNMT0FLX1NUT1JBR0UuZ2V0SXRlbShrZXkpO1xyXG4gICAgICBjb25zdCBsYXN0U2F2ZWQgPSBzdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSlcclxuICAgICAgaWYgKGxhc3RTYXZlZCkge1xyXG4gICAgICAgIGNvbnN0IHByb2Nlc3NlZCA9IEpTT04ucGFyc2UobGFzdFNhdmVkKVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICdpZFRva2VuJyBpbiBwcm9jZXNzZWQgJiZcclxuICAgICAgICAgICdyZWZyZXNoVG9rZW4nIGluIHByb2Nlc3NlZCAmJlxyXG4gICAgICAgICAgJ3RpbWVTa2V3JyBpbiBwcm9jZXNzZWQgJiZcclxuICAgICAgICAgICd0b2tlbicgaW4gcHJvY2Vzc2VkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICByZXR1cm4gcHJvY2Vzc2VkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7IH1cclxuICAgIHJldHVybiB7fVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgZGVmYXVsdFJlZGlyZWN0VXJsKCk6IHN0cmluZyB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBiYXNlVXJsID0gZG9jdW1lbnQuYmFzZVVSSVxyXG4gICAgICByZXR1cm4gYmFzZVVybCB8fCBsb2NhdGlvbi5vcmlnaW5cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHJldHVybiBsb2NhdGlvbi5vcmlnaW5cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1rZXljbG9hay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvYXV0aC1rZXljbG9hay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQWlCLGlCQUFpQixFQUF1QixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7OztBQUVoRSwyQkFLQzs7SUFKQyw2QkFBYztJQUNkLGdDQUFpQjtJQUNqQiw0QkFBYTtJQUNiLDBDQUEyQjs7TUFHdkIsT0FBTyxHQUFHLFlBQVk7TUFDdEIsVUFBVSxHQUFHLElBQUk7QUFNdkIsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUNVLElBQWdCLEVBQ2hCLFNBQWdDLEVBQ2hDLFdBQTRCLEVBQzVCLFNBQStCO1FBSC9CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBTGpDLHVCQUFrQixHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFBO1FBT3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxVQUFtQixFQUFFLEVBQUU7WUFDeEQsSUFBSSxD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ckJRLFVBQVU7WUFNVixxQkFBcUI7WUFKa0MsZUFBZTtZQUd0RSxvQkFBb0I7Ozs7SUFrQjNCLGlEQUEwRDtJQUV4RCxtQ0FBd0I7SUFDeEIsd0NBQXdDO0lBQ3hDLDBDQUFvQztJQUNwQyx3Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBLZXljbG9ha0V2ZW50LCBLZXljbG9ha0V2ZW50VHlwZSwgS2V5Y2xvYWtJbml0T3B0aW9ucywgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcidcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IEF1dGhNaWNyb3NvZnRTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLW1pY3Jvc29mdC5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcblxyXG5pbnRlcmZhY2UgSVBhcnNlZFRva2VuIHtcclxuICBlbWFpbD86IHN0cmluZ1xyXG4gIGVuY0VtYWlsPzogc3RyaW5nXHJcbiAgbmFtZT86IHN0cmluZ1xyXG4gIHByZWZlcnJlZF91c2VybmFtZT86IHN0cmluZ1xyXG59XHJcblxyXG5jb25zdCBzdG9yYWdlID0gbG9jYWxTdG9yYWdlXHJcbmNvbnN0IHN0b3JhZ2VLZXkgPSAna2MnXHJcbi8vIGNvbnN0IGxvZ291dFJlZGlyZWN0VXJsID0gJydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoS2V5Y2xvYWtTZXJ2aWNlIHtcclxuICBwcml2YXRlIGxvZ2luQ2hhbmdlU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBrZXljbG9ha1N2YzogS2V5Y2xvYWtTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtc0F1dGhTdmM6IEF1dGhNaWNyb3NvZnRTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5sb2dpbkNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKChpc0xvZ2dlZEluOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlnU3ZjLmlzQXV0aGVudGljYXRlZCA9IGlzTG9nZ2VkSW5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIGlzTG9nZ2VkSW4gJiZcclxuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZyAmJlxyXG4gICAgICAgIEJvb2xlYW4odGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcuZGlzYWJsZVBpZENoZWNrKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSA9IHtcclxuICAgICAgICAgIGVtYWlsOiB0aGlzLnVzZXJFbWFpbCxcclxuICAgICAgICAgIHVzZXJOYW1lOiB0aGlzLnVzZXJOYW1lLFxyXG4gICAgICAgICAgdXNlcklkOiB0aGlzLnVzZXJJZCB8fCAnJyxcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBHZXR0ZXJzXHJcbiAgZ2V0IGlzTG9nZ2VkSW4kKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9naW5DaGFuZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXHJcbiAgfVxyXG4gIGdldCBpc0xvZ2dlZEluKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMua2V5Y2xvYWtTdmMuaXNMb2dnZWRJbigpXHJcbiAgfVxyXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKCkuYXV0aGVudGljYXRlZFxyXG4gIH1cclxuICBnZXQgdG9rZW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKS50b2tlblxyXG4gIH1cclxuICBnZXQgc2Vzc2lvbklkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKCkuc2Vzc2lvbklkXHJcbiAgfVxyXG4gIGdldCB1c2VySWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGtjID0gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKClcclxuICAgIGlmICgha2MpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGtjLnRva2VuUGFyc2VkICYmIGtjLnRva2VuUGFyc2VkLnN1YikgfHwgKGtjLmlkVG9rZW5QYXJzZWQgJiYga2MuaWRUb2tlblBhcnNlZC5zdWIpXHJcbiAgfVxyXG5cclxuICBnZXQgdXNlckVtYWlsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBrYyA9IHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpXHJcblxyXG4gICAgY29uc3QgdG9rZW5QYXJzZWQgPSBrYy50b2tlblBhcnNlZCBhcyBJUGFyc2VkVG9rZW5cclxuICAgIGNvbnN0IGlkVG9rZW5QYXJzZWQgPSBrYy5pZFRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgKHRva2VuUGFyc2VkICYmIHRva2VuUGFyc2VkLmVtYWlsKSB8fFxyXG4gICAgICAoaWRUb2tlblBhcnNlZCAmJiBpZFRva2VuUGFyc2VkLmVtYWlsKSB8fFxyXG4gICAgICAoaWRUb2tlblBhcnNlZCAmJiBpZFRva2VuUGFyc2VkLmVuY0VtYWlsKSB8fFxyXG4gICAgICAodG9rZW5QYXJzZWQgJiYgdG9rZW5QYXJzZWQucHJlZmVycmVkX3VzZXJuYW1lKSB8fFxyXG4gICAgICAoaWRUb2tlblBhcnNlZCAmJiBpZFRva2VuUGFyc2VkLnByZWZlcnJlZF91c2VybmFtZSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldCB1c2VyTmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3Qga2MgPSB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgKGtjLnRva2VuUGFyc2VkICYmIChrYy50b2tlblBhcnNlZCBhcyBJUGFyc2VkVG9rZW4pLm5hbWUpIHx8XHJcbiAgICAgIChrYy5pZFRva2VuUGFyc2VkICYmIChrYy5pZFRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlbikubmFtZSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRBdXRoKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZykge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcclxuICAgIGlmIChpbnN0YW5jZUNvbmZpZy5taWNyb3NvZnQuaXNDb25maWd1cmVkKSB7XHJcbiAgICAgIHRoaXMubXNBdXRoU3ZjLmluaXQoeyBtaWNyb3NvZnQ6IGluc3RhbmNlQ29uZmlnLm1pY3Jvc29mdCB9KVxyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5zZXR1cEdsb2JhbEF1dGhSZXNwb25kZXIoKVxyXG4gICAgICB0aGlzLmFkZEtleWNsb2FrRXZlbnRMaXN0ZW5lcigpXHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmtleWNsb2FrU3ZjLmluaXQoe1xyXG4gICAgICAgIGNvbmZpZzoge1xyXG4gICAgICAgICAgdXJsOiBpbnN0YW5jZUNvbmZpZy5rZXljbG9hay51cmwsXHJcbiAgICAgICAgICByZWFsbTogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsucmVhbG0sXHJcbiAgICAgICAgICBjbGllbnRJZDogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsuY2xpZW50SWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbml0T3B0aW9uczoge1xyXG4gICAgICAgICAgLi4udGhpcy5nZXRTYXZlZEtjQ29uZmlnKCksXHJcbiAgICAgICAgICBvbkxvYWQ6IGluc3RhbmNlQ29uZmlnLmtleWNsb2FrLm9uTG9hZCB8fCAnY2hlY2stc3NvJyxcclxuICAgICAgICAgIGNoZWNrTG9naW5JZnJhbWU6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW5hYmxlQmVhcmVySW50ZXJjZXB0b3I6IHRydWUsXHJcbiAgICAgICAgbG9hZFVzZXJQcm9maWxlQXRTdGFydFVwOiBmYWxzZSxcclxuICAgICAgICBiZWFyZXJFeGNsdWRlZFVybHM6IGluc3RhbmNlQ29uZmlnLmtleWNsb2FrLmJlYXJlckV4Y2x1ZGVkVXJscyxcclxuICAgICAgfSlcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvZ2luKFxyXG4gICAgaWRwSGludDogJ0UnIHwgJ04nIHwgJ1MnID0gJ0UnLFxyXG4gICAgcmVkaXJlY3RVcmw6IHN0cmluZyA9IHRoaXMuZGVmYXVsdFJlZGlyZWN0VXJsLFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMua2V5Y2xvYWtTdmMubG9naW4oe1xyXG4gICAgICBpZHBIaW50LFxyXG4gICAgICByZWRpcmVjdFVyaTogcmVkaXJlY3RVcmwsXHJcbiAgICB9KVxyXG4gIH1cclxuICBsb2dpblYyKFxyXG4gICAgX2lkcEhpbnQ6ICdFJyB8ICdOJyB8ICdTJyA9ICdFJyxcclxuICAgIHJlZGlyZWN0VXJsOiBzdHJpbmcgPSB0aGlzLmRlZmF1bHRSZWRpcmVjdFVybCxcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZykge1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnLmtleWNsb2FrLnVybCArIHJlZGlyZWN0VXJsXHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KClcclxuICB9XHJcbiAgcmVnaXN0ZXIoXHJcbiAgICByZWRpcmVjdFVybDogc3RyaW5nID0gdGhpcy5kZWZhdWx0UmVkaXJlY3RVcmwsXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5yZWdpc3Rlcih7XHJcbiAgICAgIHJlZGlyZWN0VXJpOiByZWRpcmVjdFVybCxcclxuICAgIH0pXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIHRoaXMgd2lsbCBiZSBkZXByaWNhdGVkXHJcbiAgICovXHJcbiAgYXN5bmMgbG9nb3V0KHJlZGlyZWN0VXJsID0gdGhpcy5kZWZhdWx0UmVkaXJlY3RVcmwpIHtcclxuICAgIGlmIChzdG9yYWdlLmdldEl0ZW0oJ3RlbGVtZXRyeVNlc3Npb25JZCcpKSB7XHJcbiAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJylcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKClcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKClcclxuICAgIH0gY2F0Y2gge1xyXG5cclxuICAgIH1cclxuICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KVxyXG4gICAgLy8gYWxlcnQoYCR7cmVkaXJlY3RVcmx9YXBpcy9yZXNldGApXHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3JlZGlyZWN0VXJsfWFwaXMvcmVzZXRgXHJcbiAgICAvLyB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdodHRwOi8vbG9jYWxob3N0OjMwMDMvcmVzZXQnXHJcbiAgICAvLyAgYXdhaXQgdGhpcy5odHRwLmdldCgnL2FwaXMvcmVzZXQnKS50b1Byb21pc2UoKVxyXG4gICAgLy8gc2V0VGltZW91dCh3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3JlZGlyZWN0VXJsfWFwaXMvcmVzZXRgLCAxMzAwMClcclxuICAgIC8vIGxvZ291dFJlZGlyZWN0VXJsID0gcmVkaXJlY3RVcmxcclxuICAgIC8vIGlmICh0aGlzLm1zQXV0aFN2Yy5pc0xvZ291dFJlcXVpcmVkKSB7XHJcbiAgICAvLyAgIHRoaXMua2V5Y2xvYWtTdmMubG9nb3V0KHRoaXMubXNBdXRoU3ZjLmxvZ291dFVybChyZWRpcmVjdFVybCkpXHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gdGhpcy5rZXljbG9ha1N2Yy5sb2dvdXQocmVkaXJlY3RVcmwpXHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIGFzeW5jIGZvcmNlX2xvZ291dCgpIHtcclxuICAgIGlmIChzdG9yYWdlLmdldEl0ZW0oJ3RlbGVtZXRyeVNlc3Npb25JZCcpKSB7XHJcbiAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJylcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9wdWJsaWMvaG9tZSdcclxuICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXHJcbiAgICAgIGF3YWl0IHRoaXMuaHR0cC5nZXQoJy9hcGlzL3Jlc2V0JykudG9Qcm9taXNlKClcclxuICAgICAgYXdhaXQgdGhpcy5odHRwLmdldCgnaHR0cHM6Ly9hZG1pbi10ZXN0LmVjb3JuZWxsLmNvbS9zYW1sL2xvZ291dC5kbycpLnRvUHJvbWlzZSgpXHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpXHJcbiAgICB9IGNhdGNoIHtcclxuXHJcbiAgICB9XHJcbiAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oc3RvcmFnZUtleSlcclxuICAgIGF3YWl0IHRoaXMuaHR0cC5nZXQoJy9hcGlzL3Jlc2V0JykudG9Qcm9taXNlKClcclxuICAgIGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2h0dHBzOi8vYWRtaW4tdGVzdC5lY29ybmVsbC5jb20vc2FtbC9sb2dvdXQuZG8nKS50b1Byb21pc2UoKVxyXG4gIH1cclxuICBwcml2YXRlIGFkZEtleWNsb2FrRXZlbnRMaXN0ZW5lcigpIHtcclxuICAgIHRoaXMua2V5Y2xvYWtTdmMua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQ6IEtleWNsb2FrRXZlbnQpID0+IHtcclxuICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhFcnJvcjpcclxuICAgICAgICAgIHRoaXMubG9naW5DaGFuZ2VTdWJqZWN0Lm5leHQoZmFsc2UpXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoTG9nb3V0OlxyXG4gICAgICAgICAgdGhpcy5sb2dpbkNoYW5nZVN1YmplY3QubmV4dChmYWxzZSlcclxuICAgICAgICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aFJlZnJlc2hFcnJvcjpcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoU3VjY2VzczpcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhTdWNjZXNzOlxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uUmVhZHk6XHJcbiAgICAgICAgICB0aGlzLmxvZ2luQ2hhbmdlU3ViamVjdC5uZXh0KGV2ZW50LmFyZ3MpXHJcbiAgICAgICAgICBpZiAoZXZlbnQuYXJncykge1xyXG4gICAgICAgICAgICB0aGlzLnNhdmVLZXljbG9ha0NvbmZpZygpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25Ub2tlbkV4cGlyZWQ6XHJcbiAgICAgICAgICB0aGlzLmtleWNsb2FrU3ZjLnVwZGF0ZVRva2VuKDYwKVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBHbG9iYWxBdXRoUmVzcG9uZGVyKCkge1xyXG4gICAgZnJvbUV2ZW50PE1lc3NhZ2VFdmVudD4od2luZG93LCAnbWVzc2FnZScpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcihcclxuICAgICAgICAgIChldmVudDogTWVzc2FnZUV2ZW50KSA9PlxyXG4gICAgICAgICAgICBCb29sZWFuKGV2ZW50KSAmJlxyXG4gICAgICAgICAgICBCb29sZWFuKGV2ZW50LmRhdGEpICYmXHJcbiAgICAgICAgICAgIGV2ZW50LmRhdGEudHlwZSA9PT0gJ0FVVEhfUkVRVUVTVCcgJiZcclxuICAgICAgICAgICAgQm9vbGVhbihldmVudC5zb3VyY2UgJiYgdHlwZW9mIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJyksXHJcbiAgICAgICAgKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udGVudFdpbmRvdyA9IGV2ZW50LnNvdXJjZSBhcyBXaW5kb3dcclxuICAgICAgICBjb25zdCB0b2tlbiA9IGF3YWl0IHRoaXMua2V5Y2xvYWtTdmMuZ2V0VG9rZW4oKVxyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xyXG4gICAgICAgICAgYXBwOiAnV0VCX1BPUlRBTCcsXHJcbiAgICAgICAgICB0eXBlOiAnQVVUSF9SRVNQT05TRScsXHJcbiAgICAgICAgICBzdGF0ZTogJ05PTkUnLFxyXG4gICAgICAgICAgcGx1Z2luOiAnTk9ORScsXHJcbiAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIHRva2VuLFxyXG4gICAgICAgICAgICBpZDogZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLmRhdGEgJiYgZXZlbnQuZGF0YS5kYXRhLmlkLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShyZXNwb25zZSwgJyonKVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy8gVXRpbGl0eSBNZXRob2RzXHJcbiAgcHJpdmF0ZSBzYXZlS2V5Y2xvYWtDb25maWcoKSB7XHJcbiAgICBjb25zdCBrYyA9IHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpXHJcbiAgICBjb25zdCBrY0luaXRPcHRpb25zOiBLZXljbG9ha0luaXRPcHRpb25zID0ge1xyXG4gICAgICBpZFRva2VuOiBrYy5pZFRva2VuLFxyXG4gICAgICByZWZyZXNoVG9rZW46IGtjLnJlZnJlc2hUb2tlbixcclxuICAgICAgdGltZVNrZXc6IGtjLnRpbWVTa2V3LFxyXG4gICAgICB0b2tlbjoga2MudG9rZW4sXHJcbiAgICB9XHJcbiAgICBzdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgSlNPTi5zdHJpbmdpZnkoa2NJbml0T3B0aW9ucykpXHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0U2F2ZWRLY0NvbmZpZygpOiBLZXljbG9ha0luaXRPcHRpb25zIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIGNvbnN0IGxhc3RTYXZlZCA9IEtFWUNMT0FLX1NUT1JBR0UuZ2V0SXRlbShrZXkpO1xyXG4gICAgICBjb25zdCBsYXN0U2F2ZWQgPSBzdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSlcclxuICAgICAgaWYgKGxhc3RTYXZlZCkge1xyXG4gICAgICAgIGNvbnN0IHByb2Nlc3NlZCA9IEpTT04ucGFyc2UobGFzdFNhdmVkKVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICdpZFRva2VuJyBpbiBwcm9jZXNzZWQgJiZcclxuICAgICAgICAgICdyZWZyZXNoVG9rZW4nIGluIHByb2Nlc3NlZCAmJlxyXG4gICAgICAgICAgJ3RpbWVTa2V3JyBpbiBwcm9jZXNzZWQgJiZcclxuICAgICAgICAgICd0b2tlbicgaW4gcHJvY2Vzc2VkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICByZXR1cm4gcHJvY2Vzc2VkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7IH1cclxuICAgIHJldHVybiB7fVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgZGVmYXVsdFJlZGlyZWN0VXJsKCk6IHN0cmluZyB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBiYXNlVXJsID0gZG9jdW1lbnQuYmFzZVVSSVxyXG4gICAgICByZXR1cm4gYmFzZVVybCB8fCBsb2NhdGlvbi5vcmlnaW5cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHJldHVybiBsb2NhdGlvbi5vcmlnaW5cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -4,9 +4,12 @@ var PipePublicURL = (function () {
|
|
|
4
4
|
this.environment = environment;
|
|
5
5
|
}
|
|
6
6
|
PipePublicURL.prototype.transform = function (value) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
if (value.includes('karmayogi')) {
|
|
8
|
+
var mainUrl = value && value.split('/content').pop() || '';
|
|
9
|
+
var finalURL = this.environment.contentHost + "/" + this.environment.contentBucket + "/content" + mainUrl;
|
|
10
|
+
return value ? finalURL : '';
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
10
13
|
};
|
|
11
14
|
PipePublicURL.decorators = [
|
|
12
15
|
{ type: Pipe, args: [{
|
|
@@ -22,4 +25,4 @@ export { PipePublicURL };
|
|
|
22
25
|
if (false) {
|
|
23
26
|
PipePublicURL.prototype.environment;
|
|
24
27
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1wdWJsaWMtVVJMLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9waXBlLXB1YmxpYy1VUkwvcGlwZS1wdWJsaWMtVVJMLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBRTNEO0lBS0UsdUJBQW1DLFdBQWdCO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO0lBQ2hDLENBQUM7SUFDRCxpQ0FBUyxHQUFULFVBQVUsS0FBYTtRQUtyQixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO2dCQUN0RCxRQUFRLEdBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLFNBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLGdCQUFXLE9BQVM7WUFDdEcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1NBQzdCO1FBR0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOztnQkFyQkYsSUFBSSxTQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0Qjs7O2dEQUdjLE1BQU0sU0FBQyxhQUFhOztJQWlCbkMsb0JBQUM7Q0FBQSxBQXRCRCxJQXNCQztTQW5CWSxhQUFhOztJQUN4QixvQ0FBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdwaXBlUHVibGljVVJMJyxcbn0pXG5leHBvcnQgY2xhc3MgUGlwZVB1YmxpY1VSTCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBlbnZpcm9ubWVudDogYW55XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxuICB9XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICAvLyBLYXJtYXlvZ2kgY29udGVudCB0byBiZSBtb2RpZmllZCB3aXRoIHRoZSBkb21haW4gc3BlY2lmaWMgdXJsXG5cbiAgICAvLyBodHRwczovL3BvcnRhbC5rYXJtYXlvZ2kubmljLmluL2NvbnRlbnQtc3RvcmUvY29udGVudC9kb18xMTM5MTg4MTgyNDM5NjkwMjQxMzcvYXJ0aWZhY3QvXG4gICAgLy8gZG9fMTEzOTE4ODE4MjQzOTY5MDI0MTM3XzE2OTkwNzQ0OTMwNjdfZWZmZWN0aXZlY29tbXVuaWNhdGlvbjE2OTkwNzQ0OTI4NjAuanBnXG4gICAgaWYgKHZhbHVlLmluY2x1ZGVzKCdrYXJtYXlvZ2knKSkge1xuICAgICAgY29uc3QgbWFpblVybCA9IHZhbHVlICYmIHZhbHVlLnNwbGl0KCcvY29udGVudCcpLnBvcCgpIHx8ICcnXG4gICAgICBjb25zdCBmaW5hbFVSTCA9IGAke3RoaXMuZW52aXJvbm1lbnQuY29udGVudEhvc3R9LyR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50QnVja2V0fS9jb250ZW50JHttYWluVXJsfWBcbiAgICAgIHJldHVybiB2YWx1ZSA/IGZpbmFsVVJMIDogJydcbiAgICB9XG4gICAgLy8gQ0lPUyBjb250ZW50IGhhcyBkaXJlY3QgUzMgdXJsIGxpa2UgYmxvdywgc28gcmV0dXJuIHNhbWUgdXJsXG4gICAgLy8gaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2Vjb3JuZWxsL2NvbnRlbnQvT24tRGVtYW5kL0hvbWVwYWdlcy9CYW5uZXJzL0NFUEw1MDMtT0QzX2hvbWVwYWdlLWJhbm5lcl92MS5qcGdcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuIl19
|
|
@@ -197,14 +197,17 @@ var AuthKeycloakService = (function () {
|
|
|
197
197
|
case 0:
|
|
198
198
|
if (!storage.getItem('telemetrySessionId')) return [3, 1];
|
|
199
199
|
storage.removeItem('telemetrySessionId');
|
|
200
|
-
return [3,
|
|
200
|
+
return [3, 4];
|
|
201
201
|
case 1:
|
|
202
202
|
storage.removeItem(storageKey);
|
|
203
203
|
return [4, this.http.get('/apis/reset').toPromise()];
|
|
204
204
|
case 2:
|
|
205
205
|
_a.sent();
|
|
206
|
-
|
|
206
|
+
return [4, this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise()];
|
|
207
207
|
case 3:
|
|
208
|
+
_a.sent();
|
|
209
|
+
_a.label = 4;
|
|
210
|
+
case 4:
|
|
208
211
|
try {
|
|
209
212
|
sessionStorage.clear();
|
|
210
213
|
localStorage.clear();
|
|
@@ -213,7 +216,10 @@ var AuthKeycloakService = (function () {
|
|
|
213
216
|
}
|
|
214
217
|
storage.removeItem(storageKey);
|
|
215
218
|
return [4, this.http.get('/apis/reset').toPromise()];
|
|
216
|
-
case
|
|
219
|
+
case 5:
|
|
220
|
+
_a.sent();
|
|
221
|
+
return [4, this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise()];
|
|
222
|
+
case 6:
|
|
217
223
|
_a.sent();
|
|
218
224
|
return [2];
|
|
219
225
|
}
|
|
@@ -344,4 +350,4 @@ if (false) {
|
|
|
344
350
|
AuthKeycloakService.prototype.keycloakSvc;
|
|
345
351
|
AuthKeycloakService.prototype.msAuthSvc;
|
|
346
352
|
}
|
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1rZXljbG9hay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvYXV0aC1rZXljbG9hay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQWlCLGlCQUFpQixFQUF1QixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7OztBQUVoRSwyQkFLQzs7SUFKQyw2QkFBYztJQUNkLGdDQUFpQjtJQUNqQiw0QkFBYTtJQUNiLDBDQUEyQjs7SUFHdkIsT0FBTyxHQUFHLFlBQVk7SUFDdEIsVUFBVSxHQUFHLElBQUk7QUFHdkI7SUFLRSw2QkFDVSxJQUFnQixFQUNoQixTQUFnQyxFQUNoQyxXQUE0QixFQUM1QixTQUErQjtRQUp6QyxpQkFvQkM7UUFuQlMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFMakMsdUJBQWtCLEdBQUcsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUE7UUFPeEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBQyxVQUFDLFVBQW1CO1lBQ3BELEtBQUksQ0FBQyxTQUFTLENBQUMs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WUFDRSxJQUFJO29CQUNJLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTztnQkFDaEMsT0FBTyxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQTthQUNsQztZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQTthQUN2QjtRQUNILENBQUM7OztPQUFBOztnQkEzUUYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O2dCQXJCUSxVQUFVO2dCQU1WLHFCQUFxQjtnQkFKa0MsZUFBZTtnQkFHdEUsb0JBQW9COzs7OEJBTDdCO0NBK1JDLEFBNVFELElBNFFDO1NBelFZLG1CQUFtQjs7SUFDOUIsaURBQTBEO0lBRXhELG1DQUF3QjtJQUN4Qix3Q0FBd0M7SUFDeEMsMENBQW9DO0lBQ3BDLHdDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEtleWNsb2FrRXZlbnQsIEtleWNsb2FrRXZlbnRUeXBlLCBLZXljbG9ha0luaXRPcHRpb25zLCBLZXljbG9ha1NlcnZpY2UgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJ1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQXV0aE1pY3Jvc29mdFNlcnZpY2UgfSBmcm9tICcuL2F1dGgtbWljcm9zb2Z0LnNlcnZpY2UnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuXHJcbmludGVyZmFjZSBJUGFyc2VkVG9rZW4ge1xyXG4gIGVtYWlsPzogc3RyaW5nXHJcbiAgZW5jRW1haWw/OiBzdHJpbmdcclxuICBuYW1lPzogc3RyaW5nXHJcbiAgcHJlZmVycmVkX3VzZXJuYW1lPzogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IHN0b3JhZ2UgPSBsb2NhbFN0b3JhZ2VcclxuY29uc3Qgc3RvcmFnZUtleSA9ICdrYydcclxuLy8gY29uc3QgbG9nb3V0UmVkaXJlY3RVcmwgPSAnJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhLZXljbG9ha1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgbG9naW5DaGFuZ2VTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSlcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGtleWNsb2FrU3ZjOiBLZXljbG9ha1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1zQXV0aFN2YzogQXV0aE1pY3Jvc29mdFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmxvZ2luQ2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKGlzTG9nZ2VkSW46IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5jb25maWdTdmMuaXNBdXRoZW50aWNhdGVkID0gaXNMb2dnZWRJblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXNMb2dnZWRJbiAmJlxyXG4gICAgICAgIHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnICYmXHJcbiAgICAgICAgQm9vbGVhbih0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZy5kaXNhYmxlUGlkQ2hlY2spXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlID0ge1xyXG4gICAgICAgICAgZW1haWw6IHRoaXMudXNlckVtYWlsLFxyXG4gICAgICAgICAgdXNlck5hbWU6IHRoaXMudXNlck5hbWUsXHJcbiAgICAgICAgICB1c2VySWQ6IHRoaXMudXNlcklkIHx8ICcnLFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIC8vIEdldHRlcnNcclxuICBnZXQgaXNMb2dnZWRJbiQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2dpbkNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuICB9XHJcbiAgZ2V0IGlzTG9nZ2VkSW4oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5pc0xvZ2dlZEluKClcclxuICB9XHJcbiAgZ2V0IGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKS5hdXRoZW50aWNhdGVkXHJcbiAgfVxyXG4gIGdldCB0b2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpLnRva2VuXHJcbiAgfVxyXG4gIGdldCBzZXNzaW9uSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKS5zZXNzaW9uSWRcclxuICB9XHJcbiAgZ2V0IHVzZXJJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3Qga2MgPSB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKVxyXG4gICAgaWYgKCFrYykge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIHJldHVybiAoa2MudG9rZW5QYXJzZWQgJiYga2MudG9rZW5QYXJzZWQuc3ViKSB8fCAoa2MuaWRUb2tlblBhcnNlZCAmJiBrYy5pZFRva2VuUGFyc2VkLnN1YilcclxuICB9XHJcblxyXG4gIGdldCB1c2VyRW1haWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGtjID0gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKClcclxuXHJcbiAgICBjb25zdCB0b2tlblBhcnNlZCA9IGtjLnRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlblxyXG4gICAgY29uc3QgaWRUb2tlblBhcnNlZCA9IGtjLmlkVG9rZW5QYXJzZWQgYXMgSVBhcnNlZFRva2VuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAodG9rZW5QYXJzZWQgJiYgdG9rZW5QYXJzZWQuZW1haWwpIHx8XHJcbiAgICAgIChpZFRva2VuUGFyc2VkICYmIGlkVG9rZW5QYXJzZWQuZW1haWwpIHx8XHJcbiAgICAgIChpZFRva2VuUGFyc2VkICYmIGlkVG9rZW5QYXJzZWQuZW5jRW1haWwpIHx8XHJcbiAgICAgICh0b2tlblBhcnNlZCAmJiB0b2tlblBhcnNlZC5wcmVmZXJyZWRfdXNlcm5hbWUpIHx8XHJcbiAgICAgIChpZFRva2VuUGFyc2VkICYmIGlkVG9rZW5QYXJzZWQucHJlZmVycmVkX3VzZXJuYW1lKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJOYW1lKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBrYyA9IHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAoa2MudG9rZW5QYXJzZWQgJiYgKGtjLnRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlbikubmFtZSkgfHxcclxuICAgICAgKGtjLmlkVG9rZW5QYXJzZWQgJiYgKGtjLmlkVG9rZW5QYXJzZWQgYXMgSVBhcnNlZFRva2VuKS5uYW1lKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW5pdEF1dGgoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gICAgY29uc3QgaW5zdGFuY2VDb25maWcgPSB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZ1xyXG4gICAgaWYgKGluc3RhbmNlQ29uZmlnLm1pY3Jvc29mdC5pc0NvbmZpZ3VyZWQpIHtcclxuICAgICAgdGhpcy5tc0F1dGhTdmMuaW5pdCh7IG1pY3Jvc29mdDogaW5zdGFuY2VDb25maWcubWljcm9zb2Z0IH0pXHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnNldHVwR2xvYmFsQXV0aFJlc3BvbmRlcigpXHJcbiAgICAgIHRoaXMuYWRkS2V5Y2xvYWtFdmVudExpc3RlbmVyKClcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMua2V5Y2xvYWtTdmMuaW5pdCh7XHJcbiAgICAgICAgY29uZmlnOiB7XHJcbiAgICAgICAgICB1cmw6IGluc3RhbmNlQ29uZmlnLmtleWNsb2FrLnVybCxcclxuICAgICAgICAgIHJlYWxtOiBpbnN0YW5jZUNvbmZpZy5rZXljbG9hay5yZWFsbSxcclxuICAgICAgICAgIGNsaWVudElkOiBpbnN0YW5jZUNvbmZpZy5rZXljbG9hay5jbGllbnRJZCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGluaXRPcHRpb25zOiB7XHJcbiAgICAgICAgICAuLi50aGlzLmdldFNhdmVkS2NDb25maWcoKSxcclxuICAgICAgICAgIG9uTG9hZDogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsub25Mb2FkIHx8ICdjaGVjay1zc28nLFxyXG4gICAgICAgICAgY2hlY2tMb2dpbklmcmFtZTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbmFibGVCZWFyZXJJbnRlcmNlcHRvcjogdHJ1ZSxcclxuICAgICAgICBsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IGZhbHNlLFxyXG4gICAgICAgIGJlYXJlckV4Y2x1ZGVkVXJsczogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsuYmVhcmVyRXhjbHVkZWRVcmxzLFxyXG4gICAgICB9KVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9naW4oXHJcbiAgICBpZHBIaW50OiAnRScgfCAnTicgfCAnUycgPSAnRScsXHJcbiAgICByZWRpcmVjdFVybDogc3RyaW5nID0gdGhpcy5kZWZhdWx0UmVkaXJlY3RVcmwsXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5sb2dpbih7XHJcbiAgICAgIGlkcEhpbnQsXHJcbiAgICAgIHJlZGlyZWN0VXJpOiByZWRpcmVjdFVybCxcclxuICAgIH0pXHJcbiAgfVxyXG4gIGxvZ2luVjIoXHJcbiAgICBfaWRwSGludDogJ0UnIHwgJ04nIHwgJ1MnID0gJ0UnLFxyXG4gICAgcmVkaXJlY3RVcmw6IHN0cmluZyA9IHRoaXMuZGVmYXVsdFJlZGlyZWN0VXJsLFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnKSB7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcua2V5Y2xvYWsudXJsICsgcmVkaXJlY3RVcmxcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoKVxyXG4gIH1cclxuICByZWdpc3RlcihcclxuICAgIHJlZGlyZWN0VXJsOiBzdHJpbmcgPSB0aGlzLmRlZmF1bHRSZWRpcmVjdFVybCxcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLnJlZ2lzdGVyKHtcclxuICAgICAgcmVkaXJlY3RVcmk6IHJlZGlyZWN0VXJsLFxyXG4gICAgfSlcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgdGhpcyB3aWxsIGJlIGRlcHJpY2F0ZWRcclxuICAgKi9cclxuICBhc3luYyBsb2dvdXQocmVkaXJlY3RVcmwgPSB0aGlzLmRlZmF1bHRSZWRpcmVjdFVybCkge1xyXG4gICAgaWYgKHN0b3JhZ2UuZ2V0SXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJykpIHtcclxuICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKCd0ZWxlbWV0cnlTZXNzaW9uSWQnKVxyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKVxyXG4gICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKVxyXG4gICAgfSBjYXRjaCB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXHJcbiAgICAvLyBhbGVydChgJHtyZWRpcmVjdFVybH1hcGlzL3Jlc2V0YClcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7cmVkaXJlY3RVcmx9YXBpcy9yZXNldGBcclxuICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMy9yZXNldCdcclxuICAgIC8vICBhd2FpdCB0aGlzLmh0dHAuZ2V0KCcvYXBpcy9yZXNldCcpLnRvUHJvbWlzZSgpXHJcbiAgICAvLyBzZXRUaW1lb3V0KHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7cmVkaXJlY3RVcmx9YXBpcy9yZXNldGAsIDEzMDAwKVxyXG4gICAgLy8gbG9nb3V0UmVkaXJlY3RVcmwgPSByZWRpcmVjdFVybFxyXG4gICAgLy8gaWYgKHRoaXMubXNBdXRoU3ZjLmlzTG9nb3V0UmVxdWlyZWQpIHtcclxuICAgIC8vICAgdGhpcy5rZXljbG9ha1N2Yy5sb2dvdXQodGhpcy5tc0F1dGhTdmMubG9nb3V0VXJsKHJlZGlyZWN0VXJsKSlcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyB0aGlzLmtleWNsb2FrU3ZjLmxvZ291dChyZWRpcmVjdFVybClcclxuICAgIC8vIH1cclxuICB9XHJcbiAgYXN5bmMgZm9yY2VfbG9nb3V0KCkge1xyXG4gICAgaWYgKHN0b3JhZ2UuZ2V0SXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJykpIHtcclxuICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKCd0ZWxlbWV0cnlTZXNzaW9uSWQnKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3B1YmxpYy9ob21lJ1xyXG4gICAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oc3RvcmFnZUtleSlcclxuICAgICAgYXdhaXQgdGhpcy5odHRwLmdldCgnL2FwaXMvcmVzZXQnKS50b1Byb21pc2UoKVxyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKVxyXG4gICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKVxyXG4gICAgfSBjYXRjaCB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXHJcbiAgICBhd2FpdCB0aGlzLmh0dHAuZ2V0KCcvYXBpcy9yZXNldCcpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG4gIHByaXZhdGUgYWRkS2V5Y2xvYWtFdmVudExpc3RlbmVyKCkge1xyXG4gICAgdGhpcy5rZXljbG9ha1N2Yy5rZXljbG9ha0V2ZW50cyQuc3Vic2NyaWJlKChldmVudDogS2V5Y2xvYWtFdmVudCkgPT4ge1xyXG4gICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aEVycm9yOlxyXG4gICAgICAgICAgdGhpcy5sb2dpbkNoYW5nZVN1YmplY3QubmV4dChmYWxzZSlcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcbiAgICAgICAgICB0aGlzLmxvZ2luQ2hhbmdlU3ViamVjdC5uZXh0KGZhbHNlKVxyXG4gICAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoUmVmcmVzaEVycm9yOlxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aFJlZnJlc2hTdWNjZXNzOlxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aFN1Y2Nlc3M6XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25SZWFkeTpcclxuICAgICAgICAgIHRoaXMubG9naW5DaGFuZ2VTdWJqZWN0Lm5leHQoZXZlbnQuYXJncylcclxuICAgICAgICAgIGlmIChldmVudC5hcmdzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZUtleWNsb2FrQ29uZmlnKClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblRva2VuRXhwaXJlZDpcclxuICAgICAgICAgIHRoaXMua2V5Y2xvYWtTdmMudXBkYXRlVG9rZW4oNjApXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEdsb2JhbEF1dGhSZXNwb25kZXIoKSB7XHJcbiAgICBmcm9tRXZlbnQ8TWVzc2FnZUV2ZW50Pih3aW5kb3csICdtZXNzYWdlJylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+XHJcbiAgICAgICAgICAgIEJvb2xlYW4oZXZlbnQpICYmXHJcbiAgICAgICAgICAgIEJvb2xlYW4oZXZlbnQuZGF0YSkgJiZcclxuICAgICAgICAgICAgZXZlbnQuZGF0YS50eXBlID09PSAnQVVUSF9SRVFVRVNUJyAmJlxyXG4gICAgICAgICAgICBCb29sZWFuKGV2ZW50LnNvdXJjZSAmJiB0eXBlb2YgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlID09PSAnZnVuY3Rpb24nKSxcclxuICAgICAgICApLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBjb250ZW50V2luZG93ID0gZXZlbnQuc291cmNlIGFzIFdpbmRvd1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgdGhpcy5rZXljbG9ha1N2Yy5nZXRUb2tlbigpXHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XHJcbiAgICAgICAgICBhcHA6ICdXRUJfUE9SVEFMJyxcclxuICAgICAgICAgIHR5cGU6ICdBVVRIX1JFU1BPTlNFJyxcclxuICAgICAgICAgIHN0YXRlOiAnTk9ORScsXHJcbiAgICAgICAgICBwbHVnaW46ICdOT05FJyxcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgdG9rZW4sXHJcbiAgICAgICAgICAgIGlkOiBldmVudC5kYXRhICYmIGV2ZW50LmRhdGEuZGF0YSAmJiBldmVudC5kYXRhLmRhdGEuaWQsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH1cclxuICAgICAgICBjb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHJlc3BvbnNlLCAnKicpXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBVdGlsaXR5IE1ldGhvZHNcclxuICBwcml2YXRlIHNhdmVLZXljbG9ha0NvbmZpZygpIHtcclxuICAgIGNvbnN0IGtjID0gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKClcclxuICAgIGNvbnN0IGtjSW5pdE9wdGlvbnM6IEtleWNsb2FrSW5pdE9wdGlvbnMgPSB7XHJcbiAgICAgIGlkVG9rZW46IGtjLmlkVG9rZW4sXHJcbiAgICAgIHJlZnJlc2hUb2tlbjoga2MucmVmcmVzaFRva2VuLFxyXG4gICAgICB0aW1lU2tldzoga2MudGltZVNrZXcsXHJcbiAgICAgIHRva2VuOiBrYy50b2tlbixcclxuICAgIH1cclxuICAgIHN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShrY0luaXRPcHRpb25zKSlcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRTYXZlZEtjQ29uZmlnKCk6IEtleWNsb2FrSW5pdE9wdGlvbnMge1xyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gY29uc3QgbGFzdFNhdmVkID0gS0VZQ0xPQUtfU1RPUkFHRS5nZXRJdGVtKGtleSk7XHJcbiAgICAgIGNvbnN0IGxhc3RTYXZlZCA9IHN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KVxyXG4gICAgICBpZiAobGFzdFNhdmVkKSB7XHJcbiAgICAgICAgY29uc3QgcHJvY2Vzc2VkID0gSlNPTi5wYXJzZShsYXN0U2F2ZWQpXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgJ2lkVG9rZW4nIGluIHByb2Nlc3NlZCAmJlxyXG4gICAgICAgICAgJ3JlZnJlc2hUb2tlbicgaW4gcHJvY2Vzc2VkICYmXHJcbiAgICAgICAgICAndGltZVNrZXcnIGluIHByb2Nlc3NlZCAmJlxyXG4gICAgICAgICAgJ3Rva2VuJyBpbiBwcm9jZXNzZWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWRcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHsgfVxyXG4gICAgcmV0dXJuIHt9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBkZWZhdWx0UmVkaXJlY3RVcmwoKTogc3RyaW5nIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGJhc2VVcmwgPSBkb2N1bWVudC5iYXNlVVJJXHJcbiAgICAgIHJldHVybiBiYXNlVXJsIHx8IGxvY2F0aW9uLm9yaWdpblxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIGxvY2F0aW9uLm9yaWdpblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
353
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1rZXljbG9hay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvYXV0aC1rZXljbG9hay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQWlCLGlCQUFpQixFQUF1QixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7OztBQUVoRSwyQkFLQzs7SUFKQyw2QkFBYztJQUNkLGdDQUFpQjtJQUNqQiw0QkFBYTtJQUNiLDBDQUEyQjs7SUFHdkIsT0FBTyxHQUFHLFlBQVk7SUFDdEIsVUFBVSxHQUFHLElBQUk7QUFHdkI7SUFLRSw2QkFDVSxJQUFnQixFQUNoQixTQUFnQyxFQUNoQyxXQUE0QixFQUM1QixTQUErQjtRQUp6QyxpQkFvQkM7UUFuQlMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFMakMsdUJBQWtCLEdBQUcsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUE7UUFPeEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBQyxVQUFDLFVBQW1CO1lBQ3BELEtBQUksQ0FBQyxTQUFTLENBQUMs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Q3RCLGNBQWMsSUFBSSxTQUFTO29CQUMzQixVQUFVLElBQUksU0FBUztvQkFDdkIsT0FBTyxJQUFJLFNBQVMsRUFDcEI7b0JBQ0EsT0FBTyxTQUFTLENBQUE7aUJBQ2pCO2FBQ0Y7U0FDRjtRQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUc7UUFDZixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxzQkFBWSxtREFBa0I7YUFBOUI7WUFDRSxJQUFJO29CQUNJLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTztnQkFDaEMsT0FBTyxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQTthQUNsQztZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQTthQUN2QjtRQUNILENBQUM7OztPQUFBOztnQkE3UUYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O2dCQXJCUSxVQUFVO2dCQU1WLHFCQUFxQjtnQkFKa0MsZUFBZTtnQkFHdEUsb0JBQW9COzs7OEJBTDdCO0NBaVNDLEFBOVFELElBOFFDO1NBM1FZLG1CQUFtQjs7SUFDOUIsaURBQTBEO0lBRXhELG1DQUF3QjtJQUN4Qix3Q0FBd0M7SUFDeEMsMENBQW9DO0lBQ3BDLHdDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEtleWNsb2FrRXZlbnQsIEtleWNsb2FrRXZlbnRUeXBlLCBLZXljbG9ha0luaXRPcHRpb25zLCBLZXljbG9ha1NlcnZpY2UgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJ1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQXV0aE1pY3Jvc29mdFNlcnZpY2UgfSBmcm9tICcuL2F1dGgtbWljcm9zb2Z0LnNlcnZpY2UnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuXHJcbmludGVyZmFjZSBJUGFyc2VkVG9rZW4ge1xyXG4gIGVtYWlsPzogc3RyaW5nXHJcbiAgZW5jRW1haWw/OiBzdHJpbmdcclxuICBuYW1lPzogc3RyaW5nXHJcbiAgcHJlZmVycmVkX3VzZXJuYW1lPzogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IHN0b3JhZ2UgPSBsb2NhbFN0b3JhZ2VcclxuY29uc3Qgc3RvcmFnZUtleSA9ICdrYydcclxuLy8gY29uc3QgbG9nb3V0UmVkaXJlY3RVcmwgPSAnJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhLZXljbG9ha1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgbG9naW5DaGFuZ2VTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSlcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGtleWNsb2FrU3ZjOiBLZXljbG9ha1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1zQXV0aFN2YzogQXV0aE1pY3Jvc29mdFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmxvZ2luQ2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKGlzTG9nZ2VkSW46IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5jb25maWdTdmMuaXNBdXRoZW50aWNhdGVkID0gaXNMb2dnZWRJblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXNMb2dnZWRJbiAmJlxyXG4gICAgICAgIHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnICYmXHJcbiAgICAgICAgQm9vbGVhbih0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZy5kaXNhYmxlUGlkQ2hlY2spXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlID0ge1xyXG4gICAgICAgICAgZW1haWw6IHRoaXMudXNlckVtYWlsLFxyXG4gICAgICAgICAgdXNlck5hbWU6IHRoaXMudXNlck5hbWUsXHJcbiAgICAgICAgICB1c2VySWQ6IHRoaXMudXNlcklkIHx8ICcnLFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIC8vIEdldHRlcnNcclxuICBnZXQgaXNMb2dnZWRJbiQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2dpbkNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuICB9XHJcbiAgZ2V0IGlzTG9nZ2VkSW4oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5pc0xvZ2dlZEluKClcclxuICB9XHJcbiAgZ2V0IGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKS5hdXRoZW50aWNhdGVkXHJcbiAgfVxyXG4gIGdldCB0b2tlbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpLnRva2VuXHJcbiAgfVxyXG4gIGdldCBzZXNzaW9uSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKS5zZXNzaW9uSWRcclxuICB9XHJcbiAgZ2V0IHVzZXJJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3Qga2MgPSB0aGlzLmtleWNsb2FrU3ZjLmdldEtleWNsb2FrSW5zdGFuY2UoKVxyXG4gICAgaWYgKCFrYykge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIHJldHVybiAoa2MudG9rZW5QYXJzZWQgJiYga2MudG9rZW5QYXJzZWQuc3ViKSB8fCAoa2MuaWRUb2tlblBhcnNlZCAmJiBrYy5pZFRva2VuUGFyc2VkLnN1YilcclxuICB9XHJcblxyXG4gIGdldCB1c2VyRW1haWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGtjID0gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKClcclxuXHJcbiAgICBjb25zdCB0b2tlblBhcnNlZCA9IGtjLnRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlblxyXG4gICAgY29uc3QgaWRUb2tlblBhcnNlZCA9IGtjLmlkVG9rZW5QYXJzZWQgYXMgSVBhcnNlZFRva2VuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAodG9rZW5QYXJzZWQgJiYgdG9rZW5QYXJzZWQuZW1haWwpIHx8XHJcbiAgICAgIChpZFRva2VuUGFyc2VkICYmIGlkVG9rZW5QYXJzZWQuZW1haWwpIHx8XHJcbiAgICAgIChpZFRva2VuUGFyc2VkICYmIGlkVG9rZW5QYXJzZWQuZW5jRW1haWwpIHx8XHJcbiAgICAgICh0b2tlblBhcnNlZCAmJiB0b2tlblBhcnNlZC5wcmVmZXJyZWRfdXNlcm5hbWUpIHx8XHJcbiAgICAgIChpZFRva2VuUGFyc2VkICYmIGlkVG9rZW5QYXJzZWQucHJlZmVycmVkX3VzZXJuYW1lKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJOYW1lKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBrYyA9IHRoaXMua2V5Y2xvYWtTdmMuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAoa2MudG9rZW5QYXJzZWQgJiYgKGtjLnRva2VuUGFyc2VkIGFzIElQYXJzZWRUb2tlbikubmFtZSkgfHxcclxuICAgICAgKGtjLmlkVG9rZW5QYXJzZWQgJiYgKGtjLmlkVG9rZW5QYXJzZWQgYXMgSVBhcnNlZFRva2VuKS5uYW1lKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW5pdEF1dGgoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gICAgY29uc3QgaW5zdGFuY2VDb25maWcgPSB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZ1xyXG4gICAgaWYgKGluc3RhbmNlQ29uZmlnLm1pY3Jvc29mdC5pc0NvbmZpZ3VyZWQpIHtcclxuICAgICAgdGhpcy5tc0F1dGhTdmMuaW5pdCh7IG1pY3Jvc29mdDogaW5zdGFuY2VDb25maWcubWljcm9zb2Z0IH0pXHJcbiAgICB9XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnNldHVwR2xvYmFsQXV0aFJlc3BvbmRlcigpXHJcbiAgICAgIHRoaXMuYWRkS2V5Y2xvYWtFdmVudExpc3RlbmVyKClcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMua2V5Y2xvYWtTdmMuaW5pdCh7XHJcbiAgICAgICAgY29uZmlnOiB7XHJcbiAgICAgICAgICB1cmw6IGluc3RhbmNlQ29uZmlnLmtleWNsb2FrLnVybCxcclxuICAgICAgICAgIHJlYWxtOiBpbnN0YW5jZUNvbmZpZy5rZXljbG9hay5yZWFsbSxcclxuICAgICAgICAgIGNsaWVudElkOiBpbnN0YW5jZUNvbmZpZy5rZXljbG9hay5jbGllbnRJZCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGluaXRPcHRpb25zOiB7XHJcbiAgICAgICAgICAuLi50aGlzLmdldFNhdmVkS2NDb25maWcoKSxcclxuICAgICAgICAgIG9uTG9hZDogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsub25Mb2FkIHx8ICdjaGVjay1zc28nLFxyXG4gICAgICAgICAgY2hlY2tMb2dpbklmcmFtZTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbmFibGVCZWFyZXJJbnRlcmNlcHRvcjogdHJ1ZSxcclxuICAgICAgICBsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IGZhbHNlLFxyXG4gICAgICAgIGJlYXJlckV4Y2x1ZGVkVXJsczogaW5zdGFuY2VDb25maWcua2V5Y2xvYWsuYmVhcmVyRXhjbHVkZWRVcmxzLFxyXG4gICAgICB9KVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9naW4oXHJcbiAgICBpZHBIaW50OiAnRScgfCAnTicgfCAnUycgPSAnRScsXHJcbiAgICByZWRpcmVjdFVybDogc3RyaW5nID0gdGhpcy5kZWZhdWx0UmVkaXJlY3RVcmwsXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXljbG9ha1N2Yy5sb2dpbih7XHJcbiAgICAgIGlkcEhpbnQsXHJcbiAgICAgIHJlZGlyZWN0VXJpOiByZWRpcmVjdFVybCxcclxuICAgIH0pXHJcbiAgfVxyXG4gIGxvZ2luVjIoXHJcbiAgICBfaWRwSGludDogJ0UnIHwgJ04nIHwgJ1MnID0gJ0UnLFxyXG4gICAgcmVkaXJlY3RVcmw6IHN0cmluZyA9IHRoaXMuZGVmYXVsdFJlZGlyZWN0VXJsLFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnKSB7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcua2V5Y2xvYWsudXJsICsgcmVkaXJlY3RVcmxcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoKVxyXG4gIH1cclxuICByZWdpc3RlcihcclxuICAgIHJlZGlyZWN0VXJsOiBzdHJpbmcgPSB0aGlzLmRlZmF1bHRSZWRpcmVjdFVybCxcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmtleWNsb2FrU3ZjLnJlZ2lzdGVyKHtcclxuICAgICAgcmVkaXJlY3RVcmk6IHJlZGlyZWN0VXJsLFxyXG4gICAgfSlcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgdGhpcyB3aWxsIGJlIGRlcHJpY2F0ZWRcclxuICAgKi9cclxuICBhc3luYyBsb2dvdXQocmVkaXJlY3RVcmwgPSB0aGlzLmRlZmF1bHRSZWRpcmVjdFVybCkge1xyXG4gICAgaWYgKHN0b3JhZ2UuZ2V0SXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJykpIHtcclxuICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKCd0ZWxlbWV0cnlTZXNzaW9uSWQnKVxyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKVxyXG4gICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKVxyXG4gICAgfSBjYXRjaCB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXHJcbiAgICAvLyBhbGVydChgJHtyZWRpcmVjdFVybH1hcGlzL3Jlc2V0YClcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7cmVkaXJlY3RVcmx9YXBpcy9yZXNldGBcclxuICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMy9yZXNldCdcclxuICAgIC8vICBhd2FpdCB0aGlzLmh0dHAuZ2V0KCcvYXBpcy9yZXNldCcpLnRvUHJvbWlzZSgpXHJcbiAgICAvLyBzZXRUaW1lb3V0KHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7cmVkaXJlY3RVcmx9YXBpcy9yZXNldGAsIDEzMDAwKVxyXG4gICAgLy8gbG9nb3V0UmVkaXJlY3RVcmwgPSByZWRpcmVjdFVybFxyXG4gICAgLy8gaWYgKHRoaXMubXNBdXRoU3ZjLmlzTG9nb3V0UmVxdWlyZWQpIHtcclxuICAgIC8vICAgdGhpcy5rZXljbG9ha1N2Yy5sb2dvdXQodGhpcy5tc0F1dGhTdmMubG9nb3V0VXJsKHJlZGlyZWN0VXJsKSlcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyB0aGlzLmtleWNsb2FrU3ZjLmxvZ291dChyZWRpcmVjdFVybClcclxuICAgIC8vIH1cclxuICB9XHJcbiAgYXN5bmMgZm9yY2VfbG9nb3V0KCkge1xyXG4gICAgaWYgKHN0b3JhZ2UuZ2V0SXRlbSgndGVsZW1ldHJ5U2Vzc2lvbklkJykpIHtcclxuICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKCd0ZWxlbWV0cnlTZXNzaW9uSWQnKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL3B1YmxpYy9ob21lJ1xyXG4gICAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oc3RvcmFnZUtleSlcclxuICAgICAgYXdhaXQgdGhpcy5odHRwLmdldCgnL2FwaXMvcmVzZXQnKS50b1Byb21pc2UoKVxyXG4gICAgICBhd2FpdCB0aGlzLmh0dHAuZ2V0KCdodHRwczovL2FkbWluLXRlc3QuZWNvcm5lbGwuY29tL3NhbWwvbG9nb3V0LmRvJykudG9Qcm9taXNlKClcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKClcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKClcclxuICAgIH0gY2F0Y2gge1xyXG5cclxuICAgIH1cclxuICAgIHN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KVxyXG4gICAgYXdhaXQgdGhpcy5odHRwLmdldCgnL2FwaXMvcmVzZXQnKS50b1Byb21pc2UoKVxyXG4gICAgYXdhaXQgdGhpcy5odHRwLmdldCgnaHR0cHM6Ly9hZG1pbi10ZXN0LmVjb3JuZWxsLmNvbS9zYW1sL2xvZ291dC5kbycpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG4gIHByaXZhdGUgYWRkS2V5Y2xvYWtFdmVudExpc3RlbmVyKCkge1xyXG4gICAgdGhpcy5rZXljbG9ha1N2Yy5rZXljbG9ha0V2ZW50cyQuc3Vic2NyaWJlKChldmVudDogS2V5Y2xvYWtFdmVudCkgPT4ge1xyXG4gICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aEVycm9yOlxyXG4gICAgICAgICAgdGhpcy5sb2dpbkNoYW5nZVN1YmplY3QubmV4dChmYWxzZSlcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcbiAgICAgICAgICB0aGlzLmxvZ2luQ2hhbmdlU3ViamVjdC5uZXh0KGZhbHNlKVxyXG4gICAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoUmVmcmVzaEVycm9yOlxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aFJlZnJlc2hTdWNjZXNzOlxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aFN1Y2Nlc3M6XHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICAgIGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25SZWFkeTpcclxuICAgICAgICAgIHRoaXMubG9naW5DaGFuZ2VTdWJqZWN0Lm5leHQoZXZlbnQuYXJncylcclxuICAgICAgICAgIGlmIChldmVudC5hcmdzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZUtleWNsb2FrQ29uZmlnKClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblRva2VuRXhwaXJlZDpcclxuICAgICAgICAgIHRoaXMua2V5Y2xvYWtTdmMudXBkYXRlVG9rZW4oNjApXHJcbiAgICAgICAgICBicmVha1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEdsb2JhbEF1dGhSZXNwb25kZXIoKSB7XHJcbiAgICBmcm9tRXZlbnQ8TWVzc2FnZUV2ZW50Pih3aW5kb3csICdtZXNzYWdlJylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+XHJcbiAgICAgICAgICAgIEJvb2xlYW4oZXZlbnQpICYmXHJcbiAgICAgICAgICAgIEJvb2xlYW4oZXZlbnQuZGF0YSkgJiZcclxuICAgICAgICAgICAgZXZlbnQuZGF0YS50eXBlID09PSAnQVVUSF9SRVFVRVNUJyAmJlxyXG4gICAgICAgICAgICBCb29sZWFuKGV2ZW50LnNvdXJjZSAmJiB0eXBlb2YgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlID09PSAnZnVuY3Rpb24nKSxcclxuICAgICAgICApLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBjb250ZW50V2luZG93ID0gZXZlbnQuc291cmNlIGFzIFdpbmRvd1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgdGhpcy5rZXljbG9ha1N2Yy5nZXRUb2tlbigpXHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XHJcbiAgICAgICAgICBhcHA6ICdXRUJfUE9SVEFMJyxcclxuICAgICAgICAgIHR5cGU6ICdBVVRIX1JFU1BPTlNFJyxcclxuICAgICAgICAgIHN0YXRlOiAnTk9ORScsXHJcbiAgICAgICAgICBwbHVnaW46ICdOT05FJyxcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgdG9rZW4sXHJcbiAgICAgICAgICAgIGlkOiBldmVudC5kYXRhICYmIGV2ZW50LmRhdGEuZGF0YSAmJiBldmVudC5kYXRhLmRhdGEuaWQsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH1cclxuICAgICAgICBjb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHJlc3BvbnNlLCAnKicpXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBVdGlsaXR5IE1ldGhvZHNcclxuICBwcml2YXRlIHNhdmVLZXljbG9ha0NvbmZpZygpIHtcclxuICAgIGNvbnN0IGtjID0gdGhpcy5rZXljbG9ha1N2Yy5nZXRLZXljbG9ha0luc3RhbmNlKClcclxuICAgIGNvbnN0IGtjSW5pdE9wdGlvbnM6IEtleWNsb2FrSW5pdE9wdGlvbnMgPSB7XHJcbiAgICAgIGlkVG9rZW46IGtjLmlkVG9rZW4sXHJcbiAgICAgIHJlZnJlc2hUb2tlbjoga2MucmVmcmVzaFRva2VuLFxyXG4gICAgICB0aW1lU2tldzoga2MudGltZVNrZXcsXHJcbiAgICAgIHRva2VuOiBrYy50b2tlbixcclxuICAgIH1cclxuICAgIHN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShrY0luaXRPcHRpb25zKSlcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRTYXZlZEtjQ29uZmlnKCk6IEtleWNsb2FrSW5pdE9wdGlvbnMge1xyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gY29uc3QgbGFzdFNhdmVkID0gS0VZQ0xPQUtfU1RPUkFHRS5nZXRJdGVtKGtleSk7XHJcbiAgICAgIGNvbnN0IGxhc3RTYXZlZCA9IHN0b3JhZ2UuZ2V0SXRlbShzdG9yYWdlS2V5KVxyXG4gICAgICBpZiAobGFzdFNhdmVkKSB7XHJcbiAgICAgICAgY29uc3QgcHJvY2Vzc2VkID0gSlNPTi5wYXJzZShsYXN0U2F2ZWQpXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgJ2lkVG9rZW4nIGluIHByb2Nlc3NlZCAmJlxyXG4gICAgICAgICAgJ3JlZnJlc2hUb2tlbicgaW4gcHJvY2Vzc2VkICYmXHJcbiAgICAgICAgICAndGltZVNrZXcnIGluIHByb2Nlc3NlZCAmJlxyXG4gICAgICAgICAgJ3Rva2VuJyBpbiBwcm9jZXNzZWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWRcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHsgfVxyXG4gICAgcmV0dXJuIHt9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBkZWZhdWx0UmVkaXJlY3RVcmwoKTogc3RyaW5nIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGJhc2VVcmwgPSBkb2N1bWVudC5iYXNlVVJJXHJcbiAgICAgIHJldHVybiBiYXNlVXJsIHx8IGxvY2F0aW9uLm9yaWdpblxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIGxvY2F0aW9uLm9yaWdpblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -2643,6 +2643,7 @@ class AuthKeycloakService {
|
|
|
2643
2643
|
else {
|
|
2644
2644
|
storage$1.removeItem(storageKey$1);
|
|
2645
2645
|
yield this.http.get('/apis/reset').toPromise();
|
|
2646
|
+
yield this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise();
|
|
2646
2647
|
}
|
|
2647
2648
|
try {
|
|
2648
2649
|
sessionStorage.clear();
|
|
@@ -2652,6 +2653,7 @@ class AuthKeycloakService {
|
|
|
2652
2653
|
}
|
|
2653
2654
|
storage$1.removeItem(storageKey$1);
|
|
2654
2655
|
yield this.http.get('/apis/reset').toPromise();
|
|
2656
|
+
yield this.http.get('https://admin-test.ecornell.com/saml/logout.do').toPromise();
|
|
2655
2657
|
});
|
|
2656
2658
|
}
|
|
2657
2659
|
addKeycloakEventListener() {
|
|
@@ -3566,9 +3568,12 @@ class PipePublicURL {
|
|
|
3566
3568
|
this.environment = environment;
|
|
3567
3569
|
}
|
|
3568
3570
|
transform(value) {
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3571
|
+
if (value.includes('karmayogi')) {
|
|
3572
|
+
const mainUrl = value && value.split('/content').pop() || '';
|
|
3573
|
+
const finalURL = `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`;
|
|
3574
|
+
return value ? finalURL : '';
|
|
3575
|
+
}
|
|
3576
|
+
return value;
|
|
3572
3577
|
}
|
|
3573
3578
|
}
|
|
3574
3579
|
PipePublicURL.decorators = [
|